こんにちは、JAGA(ja_gaimopotato)です。
カメラアプリを作るときに、フォトライブラリの画像にアクセスすることがありました。
オリジナルの画像データを取得する場合は、ALAssetsLibraryから画像のURLを指定して取得することが、基本的な手法になります。
こうやって使う
NSURL *imageURL = 画像のURL;
ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];
[library assetForURL:imageURL resultBlock:^(ALAsset *asset) {
ALAssetRepresentation* representation = [asset defaultRepresentation];
UIImageOrientation orientation = UIImageOrientationUp;
NSNumber* orientationValue = [asset valueForProperty:@"ALAssetPropertyOrientation"];
if (orientationValue) {
orientation = [orientationValue intValue];
}
CGFloat scale = 1;
UIImage* image = [UIImage imageWithCGImage:[representation fullResolutionImage] scale:scale orientation:orientation];
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
このコードは、こちらを参考にしました。
UIImage from ALAsset: getting the right orientation
ALAssetsLibraryを使うコードは大体Blocksを使います。
ちなみにALAssetからは、サムネイルを取得することもできます。