web-dev-qa-db-ja.com

警告ITMS-90737:「無効なドキュメント構成

今日、アプリをItunesConnectにアップロードすると、このエラーメッセージが表示されました。

無効なドキュメント構成-ドキュメントベースのアプリは、ドキュメントブラウザーをサポートする(UISupportsDocumentBrowser = YES)か、インプレースで実装する(LSSupportsOpeningDocumentsInPlace = YES/NO)必要があります。詳細については、 https://developer.Apple.com/document-based-apps/ をご覧ください。

16
sputn1k

修正するには-

開いた Info.plistファイル。

Ifアプリ内でUIDocumentInteractionControllerを使用している場合-
「UISupportsDocumentBrowser」を追加します

それ以外の場合-
「LSSupportsOpeningDocumentsInPlace」を追加します

Info.plistコード:

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

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

Apple Developer Documentationから

UISupportsDocumentBrowser

UISupportsDocumentBrowser(ブール値-iOS)アプリがドキュメントベースのアプリであり、UIDocumentBrowserViewControllerクラスを使用することを指定します。

このキーがYESに設定されている場合、ユーザーは[設定]でドキュメントブラウザのデフォルトの保存場所を設定できます。さらに、ローカルファイルプロバイダーは、アプリのドキュメントディレクトリ内のすべてのドキュメントへのアクセスを許可します。これらのドキュメントは、ファイルアプリとドキュメントブラウザに表示されます。ユーザーはこれらのドキュメントを所定の場所で開いて編集できます。

このキーはiOS 11以降でサポートされています。

UIDocumentInteractionController

このクラスを使用して、指定したファイルをプレビュー、開く、コピー、または印刷するための適切なユーザーインターフェイスを表示します。たとえば、電子メールプログラムはこのクラスを使用して、ユーザーが添付ファイルをプレビューし、他のアプリで開くことができるようにします。ユーザーインターフェイスを表示した後、ドキュメントインタラクションコントローラーは、ファイルのプレビューとメニュー表示をサポートするために必要なすべてのインタラクションを処理します。また、デリゲートを使用して、表示されたインターフェイス内で発生する相互作用に参加することもできます。たとえば、ファイルを開くために別のアプリケーションに渡そうとすると、デリゲートに通知されます。デリゲートに実装できるメソッドの詳細については、UIDocumentInteractionControllerDelegateを参照してください。

参照リンク

LSSupportsOpeningDocumentsInPlace

LSSupportsOpeningDocumentsInPlace(ブール-iOS)値YESに設定すると、アプリはドキュメントのコピーではなく、ファイルプロバイダーから元のドキュメントを開くことができます。アプリは、システムのローカルファイルプロバイダー、iCloudファイルプロバイダー、および所定の場所でドキュメントを開くことをサポートするサードパーティのファイルプロバイダー拡張機能からドキュメントにアクセスできます。

所定の場所で開かれたドキュメントのURLはセキュリティスコープです。セキュリティスコープのURLとブックマークの操作については、NSURLクラスリファレンスの概要を参照し、App Extension Programming Guideのドキュメントプロバイダーを参照してください。

重要:ドキュメントを所定の場所で開くと、他のプロセスがいつでもドキュメントを変更できます。したがって、UIDocumentサブクラスまたはNSFilePresenterおよびNSFileCoordinatorオブジェクトを使用して、ドキュメントへのアクセスを調整する必要があります。 iOS 11以降では、このキーとUIFileSharingEnabledキーの両方がYESの場合、ローカルファイルプロバイダーはアプリのドキュメントディレクトリ内のすべてのドキュメントへのアクセスを許可します。これらのドキュメントは、ファイルアプリとドキュメントブラウザに表示されます。ユーザーはこれらのドキュメントを所定の場所で開いて編集できます。

参照リンク

ドキュメントブラウザアプリのセットアップリンク

15
sputn1k