与其他应用专享共享图片

时间:2013-05-20 22:41:48

标签: ios ios6

我有两个应用程序,发件人接收器,我想与接收器独家分享照片,我该如何直接分享使用接收器,所以我不必向用户提供操作表?

我知道我可以用它打开一个应用程序:

[[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];
}

1 个答案:

答案 0 :(得分:3)

使用私人命名的粘贴板(UIPasteboard pasteboardWithName:create:)。发件人应用程序将图像粘贴到指定的粘贴板。然后发件人应用程序使用其自定义URL方案启动接收器应用程序。传递足够的URL信息,以便接收方应用程序知道粘贴板中有可用的图像。可能包括粘贴板的名称和用于保存图像的粘贴板类型。接收器应用程序可以使用此信息访问指定的粘贴板并读取图像。