問題タブ [phpickerviewcontroller]
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 を使用していません。すべての写真はデバイスにあります。
ios - 複数選択モードでの PHPickerViewController のバグのある UI フロー
添付の GIF がすべてを物語っています。PHPickerViewController を複数選択モード (selectionLimit = 0) で使用すると、ユーザーが写真をタップせずにスクロール ビューをスクロールすると、ピッカーがアセットをランダムに選択します。iOS 14.2 beta 2でもまだ解決されていないPHPickerViewControllerのバグがどのようにあるのか疑問に思っています! これは、WWDC 2020 ビデオの一部であった PHPickerDemo サンプル コードで再現可能です。ジェスチャー認識を調整するなど、これを修正する方法があるかどうか疑問に思っています。