我正在尝试使用 PHPhotoLibrary 获取有关所有相册/照片的信息。我几乎不知道目标 C,我看过一些教程/示例,但找不到我需要的一切。
这是我基于我的代码的示例代码的链接。 https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Introduction/Intro.html#//apple_ref/doc/uid/TP40014575-Intro-DontLinkElementID_2
到目前为止,我能够获得专辑名称和标识符。我得到了一张照片列表,我也能得到它们的标识符,但不能得到文件名。但是,如果我在我的函数中设置一个断点并查看我的 PHAsset 指针值,我可以在那里看到文件名(在 _filename 内),但是如果我尝试使用其中的文件名调用变量,则该变量不存在。
因此,如果有人可以提供示例代码来获取有关专辑/照片/缩略图的所有信息,那就太棒了。或者只是获取文件名将是一个很好的帮助。
这是我到目前为止尝试过的代码:
-(void)awakeFromNib{
NSMutableArray *allPhotos = self.getAllPhotos;
for (int x = 0; x < allPhotos.count; x ++)
{
PHAsset *photo = [self getPhotoAtIndex:x];
PHAssetSourceType source = photo.sourceType;
NSString *id = photo.localIdentifier;
NSString *description = photo.description;
NSUInteger height = photo.pixelHeight;
NSUInteger width = photo.pixelWidth;
NSLog(@"Test photo info");
}
}
-(PHAsset*) getPhotoAtIndex:(NSInteger) index
{
return [self.getAllPhotos objectAtIndex:index];
}
-(NSMutableArray *) getAllPhotos
{
NSMutableArray *photos = [[NSMutableArray alloc] init];
PHFetchOptions *allPhotosOptions = [[PHFetchOptions alloc] init];
allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
PHFetchResult *allPhotos = [PHAsset fetchAssetsWithOptions:allPhotosOptions];
PHFetchResult *fetchResult = @[allPhotos][0];
for (int x = 0; x < fetchResult.count; x ++) {
PHAsset *asset = fetchResult[x];
photos[x] = asset;
}
return photos;
}
正如你所看到的,我可以得到图像的高度和宽度,它的 id,但不能得到它的 url。