我有問題像蘋果iphone一樣明智地獲取照片在ios8中。我已經實現了使用PHAsset和Photos.framework的ios8。現在,當我在ios7設備上運行相同的代碼時,它不會返回任何內容。所以,我用ALAssetLibrary去獲取照片。使用ALAssetLibrary我也得到了所有的照片,但是這就像專輯明智的照片。也使用這個ALAssetLibrary我不能得到專輯的創建日期而不是它的位置名稱,因爲我必須在每個部分的標題上顯示數據。如何在ios7中使用ALAssetLibrary獲得所有照片?
我對獲取使用ALAssetLibrary在ios7照片代碼:
_imagearray = [@[] mutableCopy];
__block NSMutableArray *tmpAssets = [@[] mutableCopy];
ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init];
[assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
if (group)
{
[group setAssetsFilter:[ALAssetsFilter allAssets]];
[group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop) {
if (asset!=nil)
{
[tmpAssets addObject:asset];
}
}];
}
self.imagearray = tmpAssets;
NSLog (@「%@「,self.imagearray);
}
failureBlock:^(NSError *error)
{
NSLog(@"error enumerating AssetLibrary groups %@\n", error);
}];
是的,這是真的,我也在iOS8中管理這個,但iOS 7我還沒有找到任何解決方案。 –
您可以做的唯一一件事:自己掃描整個照片庫,然後創建一個像結構的時刻(無論是在內存中,還是在數據結構/磁盤上的數據庫中)。但是,如果用戶有很多照片,這會很慢。此外,您需要每次重新掃描整個庫,因爲AssetsLibrary在應用程序未運行時沒有方法查明哪些資產已被添加或刪除。 – holtmann