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
