2011-11-17 73 views
2

我基本上试图从用户照片库(或相机)“获取”图像。 问题是,没有图像返回当在iPad上(兼容模式)。 下面是代码:didFinishPickingMediaWithInfo返回的图像:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    NSLog(@"info: %@", info); 
} 

iPhone和iPhone模拟器日志(原始图像存在):

info: { 
UIImagePickerControllerMediaType = "public.image"; 
UIImagePickerControllerOriginalImage = "<UIImage: 0x6b6b4e0>"; 
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=39D9190B-064F-4C80-9B93-B4CA4FE01B22&ext=JPG"; 
} 

的iPad和iPad模拟器(兼容模式)日志:(!没有原始图像)

info: { 
UIImagePickerControllerMediaType = "public.image"; 
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=72AF462A-A8CE-4474-9535-B59A3154087D&ext=JPG"; 
} 

关于为什么会发生这种情况的任何想法?我真的需要iPad图像。

我试图从资产库中获取图像(我是否正确地做这件事?),但图像为空。

NSURL *imageSource = [info objectForKey:UIImagePickerControllerReferenceURL]; 
UIImage *image1 = [[UIImage alloc] initWithContentsOfFile:[imageSource absoluteString]]; 

谢谢你的任何建议。

编辑:我试着在iPad 4.3模拟器中构建应用程序。这里检索图像没有问题 - 原始图像存在于信息词典中。 IOS 5还有另一种方法吗?

+0

以及只是从资产中抓取图片... – Daniel

+0

我该怎么做? – SEG

+0

我也一样。我尝试了5.0,5.1和6.0版本的所有iPad模拟器。所有返回零。不过,它在我的iPad(设备)和OS 5.1.1中工作正常。我认为这只是一个模拟器上的错误。 – GeneCode

回答

0

如果你确定iPad有图像,这听起来像一个错误。

但由于您可以获取参考网址,因此您可以使用ALAsset API获取图像。

对不起,应该是ALAssets

供您参考,


- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock 

它是ALAssetsLibrary的方法。

欲了解更多信息,可以查看Apple的文档。

+0

我认为这听起来像一个错误。你能发布从AVAsset API获取图像的代码吗? – SEG