【发布时间】:2012-04-27 23:42:07
【问题描述】:
我正在创建一个 iPhone 应用程序,它使用 UIImagePickerController 让用户从照片库中选择图像。
选择器允许我从照片库中成功获取图片:
- iPhone 求和器
- 真正的 iPhone 运行 5.0.1
- 真正的 iPad 运行 5.0.1
- 真正的 iPad 运行 5.1
- iPad 模拟器 v4.3
但是如果我测试这个应用程序,选择器无法获取图像:
- iPad 模拟器 v5.0
- iPad 模拟器 v5.1
在这2个测试环境中,图片选择器成功出现。当我点击我需要的图像时,它不会通过“- (void)imagePickerController:(UIImagePickerController *)picker”方法从“[info objectForKey:UIImagePickerControllerOriginalImage]”中获得任何信息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 日添加):我已升级到安装了 Mountain Lion 的 Xcode 4.4。同样的问题仍然存在。但是现在如果我在 iPad 模拟器 v5.0 中运行它会出现一条新的错误消息(如果我在 iPad 模拟器 v5.1 上运行它不会出现错误消息)。错误消息显示:未找到命名服务“com.apple.PersistentURLTranslator.Gatekeeper”。 assetsd 已关闭或配置错误。事情不会像你期望的那样进行。
注意 4(2012 年 11 月 25 日添加):使用 Xcode 4.5.2,iPad 模拟器 5.0、5.1 和 6.0 中仍然存在此问题
注意 5(2012 年 3 月 6 日添加):使用 Xcode 4.6,iPad 模拟器所有版本仍然存在此问题。
【问题讨论】:
-
嗨,韦恩,我的应用也遇到了同样的问题,如果您找到任何解决方案,请分享
-
对不起,i-bhavik,还没有解决方案。 (我刚刚添加了注释 5)
-
对于临时解决方案,我给出了答案。
-
这个错误是出现在实际设备上还是只出现在模拟器上?
标签: objective-c xcode uiimagepickercontroller