ALAssetLibrary を使用してアルバム ピッカーとイメージ ピッカーを作成するカスタム イメージ ピッカーを持つアプリがあります。お客様が複数の画像を選択できるように、カスタム ピッカーを実装しました。このイメージ ピッカーは iOS 7 でうまく機能し、ユーザーのすべての写真を含む「カメラ ロール」アルバムを表示します。ただし、iOS 8 で同じアプリを実行すると、Apple は「カメラ ロール」アルバムをアルバム ビューから削除し、「最近の写真」のみを表示するようです。私が見る限り、iOS 8 ですべての写真にアクセスする唯一の方法は、コレクション ビュー (写真アプリまたは新しいビルトイン ピッカー) を使用することです。残念ながら、まだ iOS 6 および 7 ユーザーをサポートする必要があるため、現時点では Photokit を使用できません。
アップデート
上記の最初の投稿で述べたように、最初は新しい Photos Framework (PhotoKit) を使用できませんでした。しかし、最近ビルドを Xcode 6 に移行したので、写真フレームワークを使用してすべての写真のグループを作成できるようになりました (これを行う方法については、WWDC ExampleappusingPhotosframework サンプル コードを参照してください)。
ただし、PhotoKit は強力であると誰もが言っているように、重要なフィルタリング機能がいくつか欠けています。実際、PHFetchResult の述語を使用して、元の「PhotoStream」内の写真を簡単に除外する方法はありません。パブリック プロパティのみを使用できます。幸いなことに、PHAsset の説明を使用してそれらをフィルター処理する方法を見つけました。写真がユーザーのフォトストリームにある場合、説明に記載されている assetSource キーは 2 です。そのため、結果に対して高速列挙を使用し、asset.description プロパティで単純な stringInRange フィルターを使用して ("assetSource=2" を探します)、すべてのアセットを PhotoStream にない配列に移動しました。これは最善の解決策ではないかもしれませんが、今のところ機能しているため、ユーザーはローカル ライブラリとフォトストリームの両方から写真の重複を見ることはありません。
ぜひとも、誰かが述語を使用してより良い解決策を持っている場合は、lmkしてください。