9

iOS アプリ用に iCloud Drive Export 機能を開発しましたが、動作します。Mac OS X 10.11 の iCloud Drive フォルダにあるパブリック AppContainerFolder に、エクスポートされたドキュメントが表示されます。

しかし、iOS では、iCloud Drive アプリに AppContainerFolder しか表示されません。無効になっており、そのフォルダーを開くことも、内部のドキュメントを表示することもできません。

iOS iCloud Drive アプリの無効化フォルダーの画像

iCloud Drive の設定から、エクスポートしたファイルが iCloud Drive の AppContainerFolder にあることがわかります。

iCloud設定内のAppContainerFolderの画像

iCloud Driveでこのような問題が発生した人はいますか?

アプリで 2 つのアプリ コンテナーを使用しています。1 つはエクスポート用の "iCloud.com..." 識別子を持ち、もう 1 つは Ensembles-CoreData 同期用の "TeamIdentifier.com..." 識別子を持ちます。メソッドを使用して、コンテナーの URL を明示的に使用します。

[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:@"iCloud.com..."]

すでに TeamIdentifier-Container のみを使用しようとしましたが、AppContainerFolder の可視性に変化はありませんでした。

BundleVersion をバンプしようとしましたが、Info.plist NSUbiquitousContainers 設定をいじってみました。また、開発デバイスと関係があるかどうかを確認するために、TestFlight を介して外部テスターがビルドを利用できるようにしました。

私がまだ行っていなかった唯一のことは、新しい BundleVersion を使用して新しいバージョンを AppStore にリリースし、それが生産的なアプリと開発中のアプリに関係があるかどうかを確認することでした。

ヒントやヒントは大歓迎です。

4

2 に答える 2

7

Apple Developer Technical Support に確認したところ、問題を解決できるようになりました。

私のアプリは、エクスポートされた 2 つの UTI (独自のバックアップ ファイル) を宣言しているため、これらの UTI 以外のファイルがそのフォルダーに保存されている場合、iCloud コンテナーはデフォルトで無効 (またはグレー表示) になります。私たちのアプリは PDF と CSV を作成できますが、これらのファイル タイプは info.plist で「ドキュメント タイプ」として宣言されていません。これは、アプリがそれらを表示できないためです。

PDF および CSV ドキュメント タイプを info.plist に追加すると、iCloud コンテナが iCloud Drive アプリで即座に表示されます。

参考までに、info.plist の抜粋を次に示します。

...
<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>Adobe PDF</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Alternative</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.adobe.pdf</string>
        </array>
    </dict>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>CSV</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Alternative</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.comma-separated-values-text</string>
        </array>
    </dict>
</array>
...
于 2015-11-06T13:26:32.330 に答える
1

なぜ私のアプリが iCloud Drive フォルダーに表示されないのかという投稿は、パブリック iCloud フォルダーが完全に機能する前に、アプリを承認してリリースする必要があることを示しているようです。

于 2015-10-15T09:53:44.673 に答える