在 iOS 10 中使用 UIActivityViewController 在应用程序之间共享多个文件

Sharing multiple files between apps using UIActivityViewController in iOS 10

我有两个名为 App_AApp_B 的应用程序。我有一个 UIActivityViewController 来共享一个或一组文件:

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

出现提示时,弹出窗口的列表中包含 App_B。但是当我 select 一个 App_B 图标时,我只收到 application:openURL:sourceApplication:annotation:itemsToShare 列表中的第一个 url ] App_B 委托中的方法。此外,无论我尝试共享多少个文件,Documents/Inbox 文件夹仅包含一个文件。

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

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