私の質問を手伝ってください:
ALAssetsLibrary を使用して、iPhone ライブラリ内のすべての画像/ビデオの URL とメタデータを提供できますか? これらの画像/動画を編集/削除できますか?
私の質問を手伝ってください:
ALAssetsLibrary を使用して、iPhone ライブラリ内のすべての画像/ビデオの URL とメタデータを提供できますか? これらの画像/動画を編集/削除できますか?
上記のコードではいくつかの中かっこが抜けているため、以下で解決します
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
assets = [[NSMutableArray alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
{
if (asset)
{
NSLog(@"%@",asset);
NSLog(@".. do something with the asset");
}
}
];
}
failureBlock:^(NSError *error)
{
// User did not allow access to library
// .. handle error
}
] ;
こちらの ALAssetsLibrary のドキュメントをご覧ください。すべての写真とビデオにアクセスするには、フォト ライブラリ内のすべてのグループ (アルバム) を列挙してから、各グループ内のすべての写真と画像を列挙する必要があります。API を使用してアセットを削除することはできません。iOS 5 は追加機能を追加します - それはまだ NDA の下にあり、ここで議論することはできません - iOS5 のベータ版ドキュメントと Apple Developer フォーラムを見てください。
コードは次のようにする必要があります。
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
{
if (asset)
{
.. do something with the asset
}
}
];
}
failureBlock:^(NSError *error)
{
// User did not allow access to library
.. handle error
}
];