我正在创建一个iPhone应用程序,使用UIImagePickerController让用户从照片库中选择图像。
这个选择器成功地从照片库中获取了图像:
- iPhone模拟器 - 运行5.0.1的真实iPhone - 运行5.0.1的真实iPad - 运行5.1的真实iPad - iPad模拟器v4.3
但是当我在以下两个测试环境中测试此应用时,选择器无法获取图像:
- iPad模拟器v5.0 - iPad模拟器v5.1
在这两个测试环境中,图像选择器成功显示。当我点按所需的图像时,通过方法“-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info”无法从“ [info objectForKey:UIImagePickerControllerOriginalImage] ”获得任何内容。
"info"字典就像这样:
您可以看到UIImagePickerControllerOriginalImage丢失了。我不确定这是否只发生在我的情况中?
注意:我正在使用带有iOS 5 SDK的Xcode 4.3.2。
注意2:我没有使用AssetsLibrary框架来获取图像。
注意3(添加于2012年8月2日):我已升级到安装了Mountain Lion的Xcode 4.4。同样的问题仍然存在。但是,如果我在iPad模拟器v5.1上运行它,则不会出现新的错误消息(如果我在iPad模拟器v5.0上运行它,则会出现错误消息)。错误消息显示:“未找到命名服务'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模拟器中仍然存在此问题。
这个选择器成功地从照片库中获取了图像:
- iPhone模拟器 - 运行5.0.1的真实iPhone - 运行5.0.1的真实iPad - 运行5.1的真实iPad - iPad模拟器v4.3
但是当我在以下两个测试环境中测试此应用时,选择器无法获取图像:
- iPad模拟器v5.0 - iPad模拟器v5.1
在这两个测试环境中,图像选择器成功显示。当我点按所需的图像时,通过方法“-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info”无法从“ [info objectForKey:UIImagePickerControllerOriginalImage] ”获得任何内容。
"info"字典就像这样:
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
在前五个测试环境中,“info”是这样的:
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x6bb7810>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
您可以看到UIImagePickerControllerOriginalImage丢失了。我不确定这是否只发生在我的情况中?
注意:我正在使用带有iOS 5 SDK的Xcode 4.3.2。
注意2:我没有使用AssetsLibrary框架来获取图像。
注意3(添加于2012年8月2日):我已升级到安装了Mountain Lion的Xcode 4.4。同样的问题仍然存在。但是,如果我在iPad模拟器v5.1上运行它,则不会出现新的错误消息(如果我在iPad模拟器v5.0上运行它,则会出现错误消息)。错误消息显示:“未找到命名服务'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模拟器中仍然存在此问题。