我有一组应用程序(例如AppA
和AppB
)。可以说AppA
以编程方式将zip文件发送到另一个应用。在AppA
上显示UIDocumentInteractionController
弹出框,并带有复制到AppB 图标。
选择AppB
后,它将zip文件发送到AppB
。该文件将被复制到AppB
的必需文件夹中,并且该控件导航回AppA
。
因此,此功能在iOS 10.3.3上运行良好。
但是,在iOS 11 beta 2和现在的beta 4中,此功能也不起作用。打开文档 Controller 弹出窗口,然后说无法加载到顶部。即使单击复制到AppB图标进行复制,它也不会执行任何操作。在以前的版本中,我没有在顶部的UIDocumentInteractionController弹出窗口上看到此无法加载消息,如下图所示
Doc controller image.
我检查了两个应用的plist是否都具有LSApplicationQueriesSchemes
更新1:
在调试时,所有委托(delegate)方法的确称为viz。,willBeginSendingToApplication
和didEndSendingToApplication
。当我将此文件发送到另一个应用程序时,我关闭了docContoller
。因此,即使documentInteractionControllerDidDismissOpenInMenu
也被调用。
因此,docController
仍然关闭,事件指示器仍显示“正在向应用程序发送负载”,并永远保留在那里。 AppB
未启动。
iOS 11 beta 5的新发现
不再存在无法在UIDocumentInteractionController
上加载消息的。但是,单击图标AppB
仍然存在问题。
最佳答案
我已经看到要复制的文件位于应用程序捆绑包中时会发生此问题。使用iOS 10,可以直接从捆绑包中正常工作。
在iOS 11中,位于应用程序捆绑包中的文件可以很好地复制到Apple自己的应用程序,但不能复制到第三方应用程序。将文件从分发包复制到tmp文件夹,然后使用该文件,一切正常。
关于ios11 - UIDocumentInteractionController iOS11 beta 4的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45501454/