我正在尝试与AirDrop共享文本(或URL)和图像,它似乎只发送图像。它适用于其他共享活动(Facebook,Twitter,邮件,消息等)。是否可以与AirDrop共享两个项目? 以下是我使用UIActivityViewController的方法:
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.activityItem, self.attachedImage] applicationActivities:nil];
self.attachedImage是一个UIImage,self.activityItem是UIActivityItemProvider的子类,它为委托方法中的不同活动类型返回不同的文本
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
有没有人有想法?谢谢!
编辑:
我也试过没有子类化UIActivityItemProvider并直接传递一些文本。没用。
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"some text", self.attachedImage] applicationActivities:nil];
作为一个注释,如果我想共享多个文本或多个图像(UIImage),它可以工作:
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"text 1", @"text 2"] applicationActivities:nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[attachedImage1, attachedImage2] applicationActivities:nil];
答案 0 :(得分:1)
试试此代码
NSString *text= @"text to share";
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc]
initWithStandardText:text];
NSArray *activityItems = @[textToShare,self.attachedImage];
在活动视图控制器中使用activityItems
数组。
答案 1 :(得分:1)
在Apple Dev论坛上发布了同样的问题:https://devforums.apple.com/message/937697#937697
得到了这个答案:
目前无法实现。 AirDrop只允许您发送单组 项目。如果您尝试将其发送到您自己的应用程序的实例上 另一方面,你可以改为创建一个文件格式(a 捆绑/包可能适合这里)并嵌入所有 与文件不同的类型。然后在接收方你可以 从文件中提取不同的类型。