2

私はUIDocumentPickerViewControlleriOS 8で使用して、ユーザーがiCloud Driveでドキュメントを開くことを許可しています。

UIDocumentPickerModeOpenアプリのドキュメントのカスタム UTI で使用します。

UIDocumentPickerViewController *pickerViewController = [[UIDocumentPickerViewController alloc]
  initWithDocumentTypes:@[[MySampleDocument documentUTI]] 
  inMode:UIDocumentPickerModeOpen];

pickerViewController.delegate = self;

[self presentViewController:pickerViewController animated:YES completion:^{

}];

これは最初はうまくいきます。私のアプリのドキュメントが表示され、ユーザーはドキュメントを選択でき、アプリで開かれます。

ただし、ドキュメント ピッカーをもう一度使用すると、選択した同じドキュメントがグレー表示され、再度選択することはできません。

何故ですか?

アプリを終了してもドキュメントがグレー表示のままです。アプリを削除して、もう一度インストールしました。ドキュメントはまだグレー表示されています。

私は UIDocument を使用しているので、セキュリティ スコープ アクセスの開始と停止が処理されます。

4

1 に答える 1

1

I finally figured this out. The document UTI in my Info.plist had to conform to public.data. Once I added this, the entries are not grayed out anymore.

Another positive side effect is that the kMDItemContentType of NSMetadtaQuery results now finally show the correct UTI and not dyn.abc1234... anymore.

Here is the updated and working type definition:

<key>UTTypeConformsTo</key>
<array>
    <string>public.composite-content</string>
    <string>public.data</string>      ← This part was missing before.
</array>
于 2015-07-22T06:30:49.327 に答える