我使用以下代码使用UIActivityViewController共享图像,一些文本和URL.一切正常,但是当使用选择AirDrop时,它会得到“无法同时接收所有这些项目”.如果我只分享图像,那么AirDrop可以工作.我需要电子邮件,Facebook,Twitter共享方法的文本和网址.
有没有办法保持文本和URL,使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];
解决方法
您需要创建和共享符合
UIActivityItemSource的三个对象,其中一个返回一个字符串,一个返回一个图像,一个返回一个URL.然后,当调用请求该项目的委托回调时,您检查选择了哪种活动类型(Facebook,Twitter,空投等),如果该项目不适用,则返回nil.
因此,在空投的情况下,只有图像的项目源将返回非零值.您可以查看airdrop sample code以获取有关如何实现UIActivityItemSource的一些示例
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。