我有两个应用程序,发件人和接收器,我想与接收器独家分享照片,我该如何直接分享使用接收器,所以我不必向用户提供操作表?
我知道我可以用它打开一个应用程序:
[[UIApplication sharedApplication] openURL:recieverURL];
但我不知道如何将照片发送到应用程序,除非我使用UIDocumentInteractionController然后我必须使用操作表:
// within sender app
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"reciever://"]]) {
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"filename.jpg"], 1.0);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"cameraawesome.ca"];
[imageData writeToFile:fullPathToFile atomically:NO];
self._interactionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@", self._filePath]]];
self._interactionController.UTI = @"com.myapp.exclusive";
self._interactionController.delegate = self;
[self._interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES];
}
答案 0 :(得分:3)
使用私人命名的粘贴板(UIPasteboard pasteboardWithName:create:
)。发件人应用程序将图像粘贴到指定的粘贴板。然后发件人应用程序使用其自定义URL方案启动接收器应用程序。传递足够的URL信息,以便接收方应用程序知道粘贴板中有可用的图像。可能包括粘贴板的名称和用于保存图像的粘贴板类型。接收器应用程序可以使用此信息访问指定的粘贴板并读取图像。