タイトルから削除されたバージョンを編集しましたが、これは iOS 8.1 から始まりました
ユーザーの Photos.app からビデオを再生するアプリを作成しました。アプリケーションを 8.0.2 デバイスにインストールすると、[PHAsset fetchAssetsWithMediaType:options:] 呼び出しから問題なくビデオのリストが返されますが、まったく同じコードを 8.1 デバイスにインストールすると、0 個のビデオが返されます。誰かがこれに遭遇しましたか?8.1 では、Photos.app から写真やビデオにアクセスする方法が変更されましたか?
PHFetchOptions *options = [[PHFetchOptions alloc] init];
PHFetchResult *videos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:options];
どんな助けでも大歓迎です。
アップデート
PHAssetCollection 呼び出しを使用してアルバムを取得しようとするようにコードを変更したところ、ある程度の成功が得られました。現在、両方のバージョンで、6 本のビデオのうち 3 本を取得しています (残念ながら、毎回同じ 3 本ではありません)。
PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchKeyAssetsInAssetCollection:collection[0] options:nil];
編集#2
わかりました、上記のコードで間違いを見つけたので、私がしたのと同じ愚かなことをする人のために残します。ビデオ フェッチ ラインが「キー」アセットを要求しているため、取得できるのは 3 つだけです。
PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];