Airdrop错误消息:“无法同时接收所有这些项目”

时间:2014-06-25 01:03:14

标签: ios uiactivityviewcontroller airdrop

我使用以下代码使用UIActivityViewController共享图像,一些文本和网址。一切正常,但是当使用选择AirDrop时,它会得到一个"不能同时接收所有这些项目"。如果我只分享图像,那么AirDrop可以工作。我需要电子邮件,Facebook,Twitter共享方法的文本和网址。

有没有办法保留文字和网址,让AirDrop只分享图片,而Facebook,电子邮件,Twitter共享方法继续使用文字和网址以及我试图分享的图片?

NSString *text = [NSString stringWithFormat:@"I made this image using %@ iOS app. Here is the link to download it:", [CloudHelper appName]];
NSURL *url = [NSURL URLWithString:APP_URL];    

UIActivityViewController *activityController =
[[UIActivityViewController alloc]
 initWithActivityItems:@[text, url, myImage]
 applicationActivities:nil];

[self presentViewController:activityController animated:YES completion:nil];

1 个答案:

答案 0 :(得分:9)

您希望创建和共享符合UIActivityItemSource的三个对象,其中一个返回字符串,一个是图像,另一个是URL。然后,当调用请求该项目的委托回调时,您检查选择了哪种活动类型(Facebook,Twitter,空投等),如果该项目不适用,则返回nil。

因此,在空投的情况下,只有图像的项目源将返回非零值。您可以查看airdrop sample code以获取有关如何实现UIActivityItemSource的示例