1

これは簡単すぎるように思えるかもしれませんし、私にとっては混乱しているかもしれません...あるいは、私は疲れすぎて合理的に考えることができないかもしれません。

imagePickerControllerを使用して、フォトアルバムからユーザーが選択したUIImageの場所を取得しようとしています。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *pic = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    NSData *data = UIImageJPEGRepresentation(pic, 0.01f);
    UIImage *image1 = [UIImage imageWithData:data];
    bookmarkImage.image = image1;

    NSLog(@"new image size = %i", [data length]);

    NSURL *url = [info objectForKey:@"UIImagePickerControllerReferenceURL"];
    4NSLog(@"%@",url);

    ALAssetsLibraryAssetForURLResultBlock resultBlock = ^(ALAsset *myAsset){
        [myAsset valueForProperty:ALAssetPropertyLocation];
    };

    [self dismissModalViewControllerAnimated:YES];
}

ここで、ALAssetのvalueForPropertyを呼び出そうとすると、問題が発生します。これは私が得ているエラーです:

宣言されていない識別子「ALAssetPropertyLocation」の使用。

助けてください!これは本当にイライラしています...写真の場所が必要です...

4

1 に答える 1

21

それはかなりばかげていますが、インポートがありませんでした:

#import <AssetsLibrary/ALAsset.h>

それを指摘してくれたmarkusに感謝します!

于 2012-04-27T19:54:08.620 に答える