iPad模拟器无法在iPhone应用程序中使用UIImagePickerController
我正在创建一个使用UIImagePickerController的iPhone应用程序,供用户从照片库中选择图像。iPad模拟器无法在iPhone应用程序中使用UIImagePickerController
拣出器可以让我顺利拿到从照片库中的图像:
- iPhone sumulator
- 真正的iPhone运行5.0.1
- 真正的iPad上运行5.0.1
- 真正的iPad运行5.1
- iPad模拟器v4.3
但选择器未能获得图像,如果我在测试这个程序:
- 的iPad模拟器V5.0
- 的iPad模拟器V5.1
在这两个测试环境下,图像拾取成功出现。当我点击我需要的图像时,它只是没有给我任何东西,从“[infoObjectForKey:UIImagePickerControllerOriginalImage]”通过方法“- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info“
”信息“ 字典就像这样:
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
凡为 ”信息“ 是这样的前5测试环境:
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x6bb7810>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
您可以看到UIImagePickerControllerOriginalImage丢失。我不确定这是否仅仅是我?
注:我使用的Xcode 4.3.2与iOS 5 SDK
注2:我不使用AssetsLibrary框架来获取图像。
注3(2012年8月2日增加):我已经升级到Xcode 4.4并安装了Mountain Lion。同样的问题依然存在。但是现在如果我在iPad模拟器v5.0中运行它,会出现一条新的错误消息(如果我在iPad Simulator v5.1上运行它,则不会显示错误消息)。错误消息说:未找到命名服务'com.apple.PersistentURLTranslator.Gatekeeper'。资产已关闭或配置错误。事情不会像你期望的那样工作。
注4(添加25 /月/ 2012):使用的Xcode 4.5.2,这个问题仍然存在在ipad模拟器5.0,5.1和6.0
注5(加入6 /月/ 2012):使用Xcode 4.6,这个问题在iPad模拟器中仍然存在所有版本。
尝试这种在实际设备
- (IBAction)BrowseImage:(id)sender {
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];
//newMedia = NO;
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissModalViewControllerAnimated:YES];
}
谢谢,你能显示你放在“ - (void)imagePickerController :(UIImagePickerController *)选择器didFinishPickingMediaWithInfo:(NSDictionary *)信息”,因为这是我的问题。 – 2012-04-16 16:50:36
我不知道那可是对临时选项的问题,
imagePicker.allowsEditing = YES;
这会给你图像UIImagePickerControllerOriginalImage,
我知道它没有办法的办法,但...
对不起,这不适用于iPad模拟器(这是问题的关键):( – ripegooseberry 2014-11-17 15:46:53
韦恩嗨,我有同样的问题,在我的应用程序,如果你发现任何解决方案,那么请分享 – iBhavik 2013-03-06 08:10:39
对不起i-bhavik,还没有解决方案。 (我刚刚添加注5) – 2013-03-06 14:14:44
对于临时解决方案,我给出了这个答案。 – iBhavik 2013-03-16 10:31:45