图片没有被didFinishPickingMediaWithInfo返回:

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

- (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]]; 

谢谢你的任何build议。

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

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

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

对不起,应该是ALAssets

供你参考,

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

它是ALAssetsLibrary一种方法。

如需更多信息,可以查看Apple的文档。