今天将我的应用程序上传到ItunesConnect时,我收到此错误消息,
无效的文档配置-基于文档的应用程序应支持 文档浏览器(UISupportsDocumentBrowser = YES)或 实现就地打开(LSSupportsOpeningDocumentsInPlace = YES / NO)。 访问https://developer.apple.com/document-based-apps/了解更多信息 信息。
答案 0 :(得分:13)
要修复-
打开Info.plist
文件。
如果您的应用程序中有UIDocumentInteractionController
-
添加“ UISupportsDocumentBrowser”,选择布尔YES
否则-
添加“ LSSupportsOpeningDocumentsInPlace”,然后选择布尔值YES
Info.plist
代码:
//if using - UIDocumentInteractionController
<key>UISupportsDocumentBrowser</key>
<true/>
//if not use -
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
来自Apple开发者文档
UISupportsDocumentBrowser
UISupportsDocumentBrowser(布尔值-iOS)指定该应用是基于文档的应用,并使用UIDocumentBrowserViewController类。
如果此键设置为“是”,则用户可以在“设置”中设置文档浏览器的默认保存位置。此外,本地文件提供商会授予对应用程序“文档”目录中所有文档的访问权限。这些文档显示在“文件”应用程序和“文档浏览器”中。用户可以就地打开和编辑这些文档。
iOS 11和更高版本支持此键。
UIDocumentInteractionController
使用此类提供适当的用户界面,以预览,打开,复制或打印指定的文件。例如,电子邮件程序可能使用此类来允许用户预览附件并在其他应用程序中打开它们。 显示其用户界面后,文档交互控制器将处理支持文件预览和菜单显示所需的所有交互。 您还可以使用委托来参与所显示界面中发生的交互。例如,当文件将要移交给另一个应用程序打开时,将通知委托人。有关可以在委托中实现的方法的完整说明,请参见UIDocumentInteractionControllerDelegate。
LSSupportsOpeningDocumentsInPlace
LSSupportsOpeningDocumentsInPlace(布尔值-iOS)当设置为YES时,使您的应用可以从文件提供者打开原始文档,而不是文档的副本。该应用程序可以从系统的本地文件提供程序,iCloud文件提供程序以及支持就地打开文件的任何第三方文件提供程序扩展名中访问文件。
在适当位置打开的文档的URL受安全范围限制。有关使用安全范围内的URL和书签的信息,请阅读《 NSURL类参考》中的概述,并阅读《 App Extension编程指南》中的“文档提供程序”。
重要提示:在适当位置打开文档时,其他进程可以随时修改文档。因此,您必须使用UIDocument子类或NSFilePresenter和NSFileCoordinator对象来协调对文档的访问。 在iOS 11及更高版本中,如果此键和UIFileSharingEnabled键均为YES,则本地文件提供者将授予对应用程序“文档”目录中所有文档的访问权限。这些文档显示在“文件”应用程序和文档浏览器中。用户可以就地打开和编辑这些文档。
设置文档浏览器应用 Link