警告 ITMS-90737:“无效的文档配置

WARNING ITMS-90737: "Invalid Document Configuration

今天将我的应用程序上传到 ItunesConnect 时收到此错误消息,

Invalid Document Configuration - Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupportsOpeningDocumentsInPlace = YES/NO). Visit https://developer.apple.com/document-based-apps/ for more information.

修复 -

打开 Info.plist 个文件。

如果你有UIDocumentInteractionController在你的应用程序中使用-
添加 "UISupportsDocumentBrowser" select 布尔值 YES

否则-
添加 "LSSupportsOpeningDocumentsInPlace" select 布尔值 YES

Info.plist 代码:

//if using - UIDocumentInteractionController
<key>UISupportsDocumentBrowser</key>
    <true/>

//if not use - 
<key>LSSupportsOpeningDocumentsInPlace</key>
    <true/>

来自 Apple 开发者文档

UISupportsDocumentBrowser

UISupportsDocumentBrowser(布尔值 - iOS)指定应用程序是基于文档的应用程序并使用 UIDocumentBrowserViewController class.

如果该键设置为YES,用户可以在设置中设置文档浏览器的默认保存位置。此外,本地文件提供者授予对应用程序文档目录中所有文档的访问权限。这些文档出现在文件应用程序和文档浏览器中。用户可以就地打开和编辑这些文档。

此键在 iOS 11 及更高版本中受支持。

UIDocumentInteractionController

使用此 class 来呈现用于预览、打开、复制或打印指定文件的适当用户界面。例如,电子邮件程序可能会使用此 class 来允许用户预览附件并在其他应用程序中打开它们。 在呈现其用户界面后,文档交互控制器处理支持文件预览和菜单显示所需的所有交互。 您还可以使用委托来参与在呈现的界面中发生的交互。例如,当一个文件即将被移交给另一个应用程序打开时,委托人会收到通知。有关可以在委托中实现的方法的完整说明,请参阅 UIDocumentInteractionControllerDelegate。

Reference Link

LSSupportsOpeningDocumentsInPlace

LSSupportsOpeningDocumentsInPlace(布尔值 - iOS)当值设置为 YES 时,您的应用程序可以从文件提供程序打开原始文档,而不是文档的副本。该应用程序可以从系统的本地文件提供程序、iCloud 文件提供程序和任何支持就地打开文档的第三方文件提供程序扩展访问文档。

就地打开的文档的 URL 是安全范围的。有关使用安全范围 URL 和书签的信息,请阅读 NSURL Class 参考中的概述并阅读应用程序扩展编程指南中的文档提供程序。

重要提示:在原地打开文档时,其他进程可以随时修改该文档。因此,您必须使用 UIDocument subclass 或 NSFilePresenter 和 NSFileCoordinator 对象来协调对文档的访问。 在 iOS 11 及更高版本中,如果此键和 UIFileSharingEnabled 键均为 YES,则本地文件提供程序授予对应用程序文档目录中所有文档的访问权限。这些文档出现在“文件”应用程序和文档浏览器中。用户可以就地打开和编辑这些文档。

Reference Link

设置文档浏览器应用程序 Link