問題タブ [ios14]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 14 NSItemProvider loadDataRepresentation() は、指定された型に対して nil データを返します
設定:
PHPickerViewController
ユーザーが写真を選択できるようにするために使用しています。PHPickerViewControllerDelegate
プロトコル メソッドを実装しましたpicker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])
。itemProvider
結果配列から取得しています。
問題:
選択した画像のデータにアクセスする必要があります。NSItemProvider
呼び出された にはメソッドがありloadDataRepresentation()
、型識別子文字列を取り、その完了ブロックで画像データを返す必要があります。
このメソッドを呼び出すと、データが返される場合と返されない場合があります。各プロバイダーの複数の登録済みタイプ識別子に対してこれを試しましたが、同じことがわかりました。JPEG データを返すが HEIF を返さない場合もあれば、HEIF のみを返す場合もあれば、データをまったく返さない場合もあります。これは、データを読み込もうとするたびに、同じ写真が同じ結果を示すという点で一貫しています。
データがない場合、次のエラーが表示されます。
データをロードする前に、写真に対して何かする必要がありますか? 多分私はここでステップを逃していますか?これは、iPhone XR で直接撮影した写真で発生します。私は iCloud Photos を使用していません。すべての写真はデバイスにあります。