4

設定:

PHPickerViewControllerユーザーが写真を選択できるようにするために使用しています。PHPickerViewControllerDelegateプロトコル メソッドを実装しましたpicker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])itemProvider結果配列から取得しています。

問題:

選択した画像のデータにアクセスする必要があります。NSItemProvider呼び出された にはメソッドがありloadDataRepresentation()、型識別子文字列を取り、その完了ブロックで画像データを返す必要があります。

このメソッドを呼び出すと、データが返される場合と返されない場合があります。各プロバイダーの複数の登録済みタイプ識別子に対してこれを試しましたが、同じことがわかりました。JPEG データを返すが HEIF を返さない場合もあれば、HEIF のみを返す場合もあれば、データをまったく返さない場合もあります。これは、データを読み込もうとするたびに、同じ写真が同じ結果を示すという点で一貫しています。

データがない場合、次のエラーが表示されます。

Upload preparation for claim D8C281B7-CCCE-4299-95BF-9355FCF340E4 completed with error: Error Domain=NSCocoaErrorDomain Code=260 "The file “7AB1AB3F-7643-45C1-9DD9-5F5642965C3A.jpeg” couldn’t be opened because there is no such file."

データをロードする前に、写真に対して何かする必要がありますか? 多分私はここでステップを逃していますか?これは、iPhone XR で直接撮影した写真で発生します。私は iCloud Photos を使用していません。すべての写真はデバイスにあります。

4

2 に答える 2