我有一个简单的UIImagePickerController
它试图抢在原选定的图像:iPhone 4.0模拟器:didFinishPickingMediaWithInfo丢失UIImagePickerControllerOriginalImage?
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模拟器,该信息集合只包含:
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之前,这工作正常。我没有任何警告等。
显然,如果没有模拟器中的原始图像,我不能显示或对选定的图像做任何事情,因为我不知道它是什么。
我知道这是几个月后,但我挣扎着同样的问题,并发现,虽然它被问了很多次,但它从来没有回答。那么,我很高兴地说,我已经想出了它,并将它发布在几个几乎相同的问题上,这些问题在搜索中首先出现。我在这里发布了完整的答案:http://stackoverflow.com/questions/3088874/didfinishpickingmediawithinfo-return-nil-photo/4192109 – 2010-11-16 07:59:04