問題タブ [photokit]

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.

0 投票する
1 に答える
853 参照

ios - ユーティリティ ディスパッチ キューから PhotoKit を使用する際の問題

アプリがフォアグラウンドで実行されている間にアセットのバックグラウンド処理を実行しようとしていますが、メイン スレッドのパフォーマンスが低下し、優先順位が逆転するという問題が引き続き発生します。バックグラウンドで QOS_UTILITY dispatch_async 呼び出しを使用しています。私はそうしていますが、最終的にはrequestImageDataForAssetの呼び出し中にメインスレッドにコールバックするようです。

基になる PhotoKit ライブラリのコア データと関係があるようです。以下のメインスレッドを参照してください。すべての作業はバックグラウンドで実行する必要があります。「写真」と呼ばれるあらゆる場所。ユーティリティ スレッドに dispatch_async を配置しました。スレッドが QOS.UTILITY から QOS.DEFAULT へ、そしてメイン キューへと跳ね返る様子に注目してください。

requestImageDataForAsset からのコールバックで以下のリストを作成した後、コールバック (19 行目) で目的のキューに戻しましたが、メイン スレッドがあまりにも多くの作業を行っているか待機しているため、UI のパフォーマンスはまだ良くありません。これが私の最善の選択肢ですか、それともバックグラウンド スレッドでフォトキットを処理するためにできることはありますか?

0 投票する
1 に答える
1679 参照

photokit - PhotoKit: PHFetchOptions の includeAllBurstAssets が機能しない

PHFetchOptions の includeAllBurstAssets を使用しようとしています。私のカメラ ロールには、約 5 つのバースト アセットがあります (それぞれに約 10 枚の写真があります)。

カメラロールのアセットを列挙するには、次のことを行っています。

includeAllBurstAssets プロパティを NO または YES に設定すると、まったく同じ数のアセットが取得されます。includeAllBurstAssets が YES に設定されている場合、この数値はもっと高くなると予想していました。これはバグですか、それとも includeAllBurstAssets を間違った方法で解釈していますか。

0 投票する
3 に答える
9497 参照

ios - Photo Kit を使用してアルバムのポスター画像を取得するには?

アセット ライブラリを使用すると、アルバムのポスター画像を A​​LAssetsGroup から取得できます。Photos Framework (Photo kit) を使用して同じことを達成するにはどうすればよいですか?

0 投票する
5 に答える
1974 参照

ios - イメージにメタデータを適用すると、performChanges リクエストが失敗する

PhotoKit を使用して写真を編集していますが、元の写真のメタデータを保持する必要があります。そのために、メタデータを保存し、それを のoptionsパラメーターに提供しますCGImageDestinationAddImage。ファイナライズしてディスクに正常に書き込むことはできますがperformChanges、アセットの編集をコミットするために呼び出すと失敗します。代わりに私が提供すればniloptionsそれは成功します。ここで何がうまくいかないのですか?

エラーは次のとおりです。Error Domain=NSCocoaErrorDomain Code=-1 "The operation couldn’t be completed. (Cocoa error -1.)

0 投票する
1 に答える
1808 参照

cocoa - PHAssetCollection が最近削除されたコレクションかどうかを知る方法は?

最近追加されたコレクションのサブタイプがあります: PHAssetCollectionSubtypeSmartAlbumRecentlyAdded。ただし assetCollectionSubtype、「最近削除された」コレクションを識別するものはありません。

これは、私の場合の「最近削除された」コレクションの説明です。 (iOS 8.1.3): DF876BFD-...-C97F4628467C/L0/040 Recently Deleted assetCollectionType=2/1000000201

これは、タイプが であることを示しますPHAssetCollectionTypeSmartAlbum。しかし、 subtype とは一体何なの1000000201でしょうか?

201PHAssetCollectionSubtypeSmartAlbumPanoramasドキュメントに従っている必要があります。

マジックナンバー1000000201は決して変わらないと信じられますか? おそらくそうではありません。

ただし、これは最近削除されたコレクションを取得する方法です。

この特定PHAssetのスマート アルバムには大きな違いがあります。これはゴミ箱であるため、(再び) を削除することはできません。そのため、削除オプションをユーザーに提示する必要があるかどうかを知ることが不可欠です。

誰にもアイデアはありますか?

0 投票する
2 に答える
11129 参照

ios - URLで画像を保存中にPHPhotoLibraryエラーが発生しました

が提供する URL で画像を作成しますPHContentEditingOutput。このようにデータをロードしUIImageて保存すると、機能します。

しかし、URLでアプローチしようとすると失敗します:

エラー:

エラー Domain=NSCocoaErrorDomain Code=-1 "The operation could not be completed. (Cocoa error -1.)"

アップデート:

変更を保存しようとすると、同じエラーが発生します。

このメソッドはビデオ ( creationRequestForAssetFromVideoAtFileURL:) では機能しますが、画像では機能しません。何が悪かったのか?