iPhoneのフォトライブラリでカスタムアルバムを作成し、カメラで撮影した写真、または電話のカメラロールから選択した写真をそのカスタムアルバムに保存しようとしています。アルバムを正常に作成できますが、写真はそこに保存されません。代わりに、シミュレーターの[保存済み写真]アルバムに保存されます...をUIImageWriteToSavedPhotosAlbum
使用して作成した新しいアルバムに保存する方法がわかりませんaddAssetsGroupAlbumWithName
。 ..
これが私がこれまでに持っているコードです-コード例を短くするためにいくつかのセクションを切り取っています...
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage])
{
// pull GPS information from photos metadata using ALAssetsLibrary
void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *) = ^(ALAsset *asset)
{
// code snipped out
};
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL
resultBlock:ALAssetsLibraryAssetForURLResultBlock
failureBlock:^(NSError *error)
{
// code snipped out
}];
// getimage from imagePicker and resize it to the max size of the iPhone screen
UIImage *originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImage *resizedImage = [util_ createThumbnailForImage:originalImage thumbnailSize:[util_ determineIPhoneScreenSize]];
NSData *imageData = UIImagePNGRepresentation(resizedImage);
// code snipped out
// code snipped out
// code snipped out
// code snipped out
// code snipped out
// code snipped out
// create a new album called "My Apps Photos"
[library addAssetsGroupAlbumWithName:@"My Apps Photos"
resultBlock:^(ALAssetsGroup *group)
{
NSLog(@"in addAssetsGroupAlbumWithName resultBlock");
// save file to album
UIImageWriteToSavedPhotosAlbum(resizedImage, self, nil, nil);
}
failureBlock:^(NSError *error)
{
NSLog(@"in addAssetsGroupAlbumWithName failureBlock");
}
];
}
}
だから...私が言ったように、それは新しいアルバムを作成しますが、そこに写真を保存しません。新しいアルバムに保存するように指示するにはどうすればよいですか?たぶん私は使わないように聞こえますUIImageWriteToSavedPhotosAlbum
か?
注:Xcode 4.3.2、IOS 5.1、およびARCを使用しています