12

私が開発しているアプリの場合、UIImagePickerControllerを使用して写真を撮影し、カメラロールに保存します。

- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {
//... some stuff ...

        UIImageWriteToSavedPhotosAlbum([info objectForKey:@"UIImagePickerControllerOriginalImage"], nil, nil, nil);

}

画像が保存されたので、参照URLを取得する必要があるため、カメラロールを列挙して最後の画像を取得しようとしますが、常に、撮影したばかりの画像より前の画像を取得します。

保存したばかりの画像の参照を取得する方法を知っている人はいますか?

ありがとう、マックス

4

1 に答える 1

12

この解決策で問題が解決するはずです。

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library writeImageToSavedPhotosAlbum:((UIImage *)[info objectForKey:UIImagePickerControllerOriginalImage]).CGImage
                                 metadata:[info objectForKey:UIImagePickerControllerMediaMetadata]
                          completionBlock:^(NSURL *assetURL, NSError *error) {
                              NSLog(@"assetURL %@", assetURL);
                          }];

et voila:

assetURL assets-library://asset/asset.JPG?id=1611E84C-24E2-4177-B49A-1C57B4A9C665&ext=JPG
于 2013-01-23T21:27:21.533 に答える