【发布时间】:2015-02-17 08:26:56
【问题描述】:
我在 Xcode 6.1.1 for iOS 中为图像选择器创建了一个简单的应用程序,它可以在我家的 Mac 上运行,但相同的代码在我办公室的 Mac 上无法运行 请谁能告诉我这是为什么?
这里是同一应用程序源代码的 github 链接。
https://github.com/varun-naharia/ImageUploader
来自计算机 1 的媒体信息,一切正常
2015-02-18 09:19:35.212 ImageUploader[3785:12959] info = {
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x7fd6f9d334a0> size {834, 1250} orientation 0 scale 1.000000";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=E2741A73-D185-44B6-A2E6-2D55F69CD088&ext=JPG";
}
2015-02-18 09:19:35.212 ImageUploader[3785:12959] mediaUrl = (null)
2015-02-18 09:19:35.212 ImageUploader[3785:12959] image = <UIImage: 0x7fd6f9d334a0> size {834, 1250} orientation 0 scale 1.000000
【问题讨论】:
-
在附加设备上运行还是在模拟器中运行?如果在模拟器中选择完全相同的设备?您是否尝试过通过删除来重置模拟器中的应用(就像在真实设备上一样:长按然后删除)?
-
我在模拟器上运行它,是的,设备是相同的,但没关系,因为它在我家的所有设备(模拟器)上都能正常工作,是的,我也尝试过重置模拟器。
-
我下载并使用 XCode 6.1.1 并在 iPhone 6 上进行测试对我来说运行良好。您的程序没有太多问题。你能更好地描述失败的原因吗?也就是说,您预计会发生什么以及实际发生了什么?
-
一切正常,只是图像在我从图库中选择后不可见,UIImageView 仍然为空。
-
这实际上是一个关于调试 iOS 应用程序(或者可以说是任何软件)的问题。在这种情况下,在委托函数 didFinishPickingMediaWithInfo 中设置断点。您想查看字典中返回的内容。您可以通过记录它来做到这一点: NSLog(@"info: %@", info);您可以也应该逐步检查您的变量。在这种情况下,mediaURL 保持为 nil,但字典 (info) 显示存在三个键:UIImagePickerControllerMediaType、UIImagePickerControllerOriginalImage 和 UIImagePickerControllerReferenceURL。这些密钥在您的第二台计算机上吗?
标签: ios objective-c xcode uiimageview uiimage