如何同时发送文本(或URL)和图像与AirDrop

问题描述:

我想与AirDrop共享文本(或URL)和图像,它似乎只发送图像。它可以与其他共享活动(Facebook,Twitter,邮件,消息等)正常工作。是否有可能与AirDrop共享两个项目? 这里是我如何使用UIActivityViewController:如何同时发送文本(或URL)和图像与AirDrop

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]; 
+1

使用字符串唐,UIActivity指标的T选用子... –

+0

@C_X已经试过了,也不行 – Silvia

+0

是什么?你尝试过...更新代码... –

发布了同样的问题对苹果开发论坛:https://devforums.apple.com/message/937697#937697

得到了这样的回答:

目前是不可能的。 AirDrop只允许您发送单套 物品。如果您尝试将其发送到您自己的应用程序的实例 另一侧,则可以创建一个文件格式(一个 捆绑包/包可能适合此处),并将所有不同类型的文件嵌入到该文件中。然后在接收端,您可以从文件中提取不同的类型。

试试这个代码

NSString *text= @"text to share"; 
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc] 
              initWithStandardText:text]; 

NSArray *activityItems = @[textToShare,self.attachedImage]; 

使用activityItems阵列中的活动视图控制器。

+0

这就是我在做什么。我有一个UIActivityItemProvider的子类,它返回一个文本。然后,我将该项传递给initWithActivityItems中的UIActivityViewController:applicationActivities:与图像一起。 – Silvia