Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用AirDrop同时发送文本(或URL)和图像_Ios_Iphone_Objective C_Share_Airdrop - Fatal编程技术网

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

Ios 如何使用AirDrop同时发送文本(或URL)和图像,ios,iphone,objective-c,share,airdrop,Ios,Iphone,Objective C,Share,Airdrop,我试图与AirDrop共享一个文本(或URL)和一个图像,它似乎只发送图像。它可以与其他共享活动(Facebook、Twitter、邮件、消息等)配合使用。是否可以与AirDrop共享两件物品? 以下是我如何使用UIActivityViewController: UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.act

我试图与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),它会起作用:

试试这个代码

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

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

在活动视图控制器中使用
activityItems
数组。

在Apple开发论坛上发布了相同的问题:

我得到了这个答案:

目前不可能。AirDrop只允许您发送一组单程邮件 项目。如果您试图将其发送到您自己的应用程序的实例 另一方面,您可以创建一个文件格式(a) 捆绑/包可能适合这里)并嵌入所有 文件的不同类型。然后在接收端,您可以 从文件中提取不同的类型


使用字符串不使用UIActivity indicator的子类…@C_X已尝试,不起作用您尝试了什么。。。更新代码…这正是我正在做的。我有一个子类UIActivityItemProvider,它返回一个文本。然后,我将该项目与图像一起传递给initWithActivityItems:applicationActivities:中的UIActivityViewController。
NSString *text= @"text to share";
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc]
                                           initWithStandardText:text];

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