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>
이미지를 전달하는 부분 |
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>
(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