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

时间:2014-01-22 08:45:23

标签: ios iphone objective-c share airdrop

我正在尝试与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];

2 个答案:

答案 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   捆绑/包可能适合这里)并嵌入所有   与文件不同的类型。然后在接收方你可以   从文件中提取不同的类型。