我基本上试图从用户照片库(或相机)“获取”图像。 问题是,在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]];
感谢您提出任何建议。
编辑:我尝试在iPad 4.3模拟器中构建应用程序。这里检索图像没有问题 - 原始图像存在于信息词典中。在IOS 5中还有另一种方法吗?
答案 0 :(得分:0)
如果您确定iPad有图像,那听起来就像一个错误。
但是既然你可以获得参考网址,你可以使用ALAsset API来获取图像。
抱歉,它应该是ALAssets
。
供您参考,
- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock
这是 ALAssetsLibrary
的方法。
更多信息,您可以查看Apple的文档。