12

iOS アプリでファイル共有に取り組んでいますが、初めてUIDocumentPickerViewControllerです。アプリがクラッシュする理由がわかりません。

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.image"] inMode:UIDocumentPickerModeImport];
documentPicker.delegate = self;
documentPicker.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:documentPicker animated:YES completion:nil];

強調表示された行でアプリがクラッシュしています。

誰もこれを以前にやったことがありますか?以下の添付ファイルのように同じことをしたいここに画像の説明を入力

4

4 に答える 4

3

すべての権限が設定されていても、デバイス(シミュレーターではない)で実行している場合、これは時々発生します。
これまでに見つけた最良の解決策は次のとおりです。

  1. Xcode からアプリを停止します。
  2. デバイスからアプリを起動します (ホーム画面のアプリ アイコンをタップします...)
  3. を開くために、アプリ内を移動しますUIDocumentPickerViewController
  4. 開いたら、Xcode でアプリを再度UIDocumentPickerViewController起動すると、意図したとおりに初期化されます。

私の経験から、TestFlight ビルドをインストールするまでは機能します。Xcode を再起動した後に、これを再度実行する必要がある場合があります。
これは確かに、デバイスにエンタイトルメントをインストールする際のバグのようです。

(Xcode 7.2、iOS 9.2)

于 2016-01-05T07:00:18.047 に答える
2
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.apple.iwork.pages.pages", @"com.apple.iwork.numbers.numbers", @"com.apple.iwork.keynote.key"] inMode:UIDocumentPickerModeImport];
于 2015-04-27T06:52:09.317 に答える