图片没有被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的文档。