1

我有两个我的应用程序,发送者接收者,我想与接收者独家分享照片我如何直接与接收者分享,这样我就不必向用户展示操作表?

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

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

1 回答 1

3

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

于 2013-05-20T22:46:56.723 回答