2016-11-08 81 views
1

我有两个名为的应用程序,例如App_A和App_B。我有UIActivityViewController共享一个或一组文件:在iOS 10中使用UIActivityViewController在应用程序之间共享多个文件

NSArray *itemsToShare = [self getItemsToShare]; // returns list with NSUrl objects 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil]; 
// presenting controller 

当弹出窗口包含App_B在列表中。但是,当我选择一个App_B图标时,我只接收来自应用程序中itemsToShare列表中的第一个url:open_app:annotation:app_B delegate中的方法。另外,无论我尝试共享多少文件,Documents/Inbox文件夹都只包含一个文件。

为什么UIActivityViewController只发送一个文件?这是正常的行为,还是我错过了什么?

回答

1

将信息传递给其他应用程序有多种不同的方式。在你的情况下,你决定使用application:openURL:sourceApplication:annotation:。在这种情况下,是的,这只是将一个对象传递给其他应用程序。它旨在让用户将文件从当前应用程序复制到其他应用程序的收件箱。

+0

因此,即使我向UIActivityViewController发送了一个文件列表,它总是只会激活一个接收器应用程序? –

+0

如果你这样做,当然。试用iBooks。但是,看看方法签名:它需要一个URL,而不是一个数组。 – matt

+0

我看到了它,但是当您使用几个文件执行某些活动并且没有在目标应用程序中收到它们时,会有点混淆。无论如何,谢谢 –