cymera

Developer

cymera API

사진 촬영과 편집 기능이 필요할 때, 간편하게 싸이메라를 연동해 보세요! 각 OS별로 제공하는 방법을 통해 외부 App에서 싸이메라의 기능을 바로 연결할 수 있습니다.

싸이메라 iOS(버전 1.4.0 이상)에서 Custom URL Scheme을 통해 외부에서 싸이메라 편집 기능을 호출하여 활용할 수 있는 방법을 제공합니다.
Custom URL Scheme은 향후에도 지속적으로 추가될 예정입니다.

싸이메라에 이미지를 전달하고 싶은 경우

<URL>

cymera://edit

cymera://edit?return=0

* 위 목록에서 택 1

<PasteBoard Name>

com.cyworld.cymera

<PasteBoard Type>

com.cyworld.cymera.photo

<Sample Code>

Sample Code
이미지를 전달하는 부분
UIImage *copyImage = YOUR_IMAGE;
NSData *imageData = UIImageJPEGRepresentation(copyImage, 1.0f);
        
UIPasteboard *cymeraPasteBoard;
cymeraPasteBoard = [UIPasteboard pasteboardWithName:@"com.cyworld.cymera"
                                                                                    create:YES];
[cymeraPasteBoard setPersistent:YES];
[cymeraPasteBoard setData:imageData
        forPasteboardType:@"com.cyworld.cymera.photo"];
        
NSURL *cymeraURL = [NSURL URLWithString:@"cymera://edit?return=0"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}

싸이메라에 이미지를 전달한 후 편집된 이미지를 다시 돌려받고 싶은 경우

<URL>

cymera://edit?return=1&scheme=RETURN_URL_SCHEME

<PasteBoard Name>

com.cyworld.cymera

<PasteBoard Type>

com.cyworld.cymera.photo

<Sample Code>

Sample Code
(1) 이미지를 전달하는 부분
UIImage *copyImage = YOUR_IMAGE;
NSData *imageData = UIImageJPEGRepresentation(copyImage, 1.0f);
        
UIPasteboard *cymeraPasteBoard;
cymeraPasteBoard = [UIPasteboard pasteboardWithName:@"com.cyworld.cymera"
                                             create:YES];
[cymeraPasteBoard setPersistent:YES];
[cymeraPasteBoard setData:imageData
        forPasteboardType:@"com.cyworld.cymera.photo"];
        
NSURL *cymeraURL = [NSURL URLWithString:@"cymera://edit?return=1&scheme=cymeraapp://"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}

(2) 이미지를 돌려받는 부분
 -(BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    if ([[url scheme] isEqualToString:@"cymeraapp"]) {
        UIPasteboard *cymeraPasteBoard;
        cymeraPasteBoard = [UIPasteboard pasteboardWithName:@"com.cyworld.cymera"
                           create:YES];
        NSData *imageData;
        imageData = [cymeraPasteBoard dataForPasteboardType:@"com.cyworld.cymera.photo"];
        if (nil != imageData) {
            UIImage *image = [UIImage imageWithData:imageData];
            
            // 여기에서 image 객체를 필요한 곳으로 전달하면 됩니다.
            
            return YES;
        }
    }
    
    return NO;
}

싸이메라 API문의 : help@cymera.com