我有一个简单的UIImagePickerController
试图抓住原始选定的图像:
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypePhotoLibrary]) {
if(defaultpicker == nil){
defaultpicker = [[UIImagePickerController alloc] init];
}
defaultpicker.delegate = self;
defaultpicker.allowsEditing = NO;
defaultpicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:defaultpicker animated:YES];
}
选择:
- (void)imagePickerController:(UIImagePickerController *)imagepicker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[imagepicker dismissModalViewControllerAnimated:YES];
NSString* key = nil;
for(key in info){
NSLog(@"Info: %@", key);
}
UIImage *theImage = (UIImage *)[info objectForKey: UIImagePickerControllerOriginalImage];
我使用4.0作为基本SDK,目前以3.1.3为目标。运行4.0模拟器时,info集合仅包含:
2010-07-07 16:19:33.414 ******[516:307] Info: UIImagePickerControllerMediaType
在设备上,或在iPad 3.2模拟器中运行,我得到:
2010-07-07 16:19:33.405 ****[516:307] Info: UIImagePickerControllerOriginalImage
2010-07-07 16:19:33.414 ****[516:307] Info: UIImagePickerControllerMediaType
我错过了什么吗?在我更新到SDK 4.0之前,这工作正常。我没有警告等。
显然,如果没有模拟器中的原始图像,我无法显示或对所选图像做任何事情,因为我不知道它是什么。
答案 0 :(得分:3)
我正在运行4.0(3GS)的设备上运行并遇到同样的问题。它之前也运行良好。所以它不是模拟器错误。然而对我来说,如果它是用户创建的相册,似乎只会发生这种情况。如果从相机胶卷中选择或使用相机拍摄,它可以正常工作:/。
如果我找到解决方案(现在正在处理)将发布。
更新:这似乎是苹果的一个错误,因为正如我们所说的那样,返回的信息字典只包含媒体类型的键值对,即使这个值是“public.image”它也没有在UIImagePickerControllerOriginalImage键中返回该图像应该如此。我已提交错误报告错误ID#8176175。
答案 1 :(得分:0)