刚从Xcode 4.0.2升级到4.2.0 使用4.0.2编译时,应用程序运行正常,并且可以很好地模拟到iPad iOS 3.2的所有内容
我唯一改变的是与在受影响的控制器中使用以下代码解雇模态视图控制器有关的问题:
// Dismiss the modal view
// Because iOS 5 breaks the way it was done before we have to make a quick check in
// order to know what method we can use
//
if ([self respondsToSelector:@selector(presentingViewController)])
{
// iOS 5 requires this method to dismiss the view
[[self presentingViewController] dismissModalViewControllerAnimated:NO];
}
else
{
// Prior to iOS 5 this works
[[self parentViewController] dismissModalViewControllerAnimated:NO];
}
代码没有其他更改。此代码与模拟器无关,并且不影响它(除非没有它,iOS 5无法解除)。
现在,当我要求在iPad 3.2模拟器上运行时,我得到了:
“iOS模拟器无法找到SDK。可能需要重新安装SDK。”
我检查了SDK,确实存在于:
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk
我甚至使用文件比较工具来检查该目录中的文件与4.0.2附带的安装文件中的文件。它们完全匹配。
不确定发生了什么。我已经重置模拟器,关机并重新启动Xcode无济于事。这应该有用。
“部署目标”设置为3.2(始终是) “设备”=通用(总是)
任何指针都会受到赞赏。
更新:我完全卸载了开发工具:
sudo /Developer/Library/uninstall-devtools -mode=all
然后我重新安装了Xcode 4.2 如所选答案所示,Xcode 4.2不支持早于4.3的iOS模拟。当我从Xcode 3.x升级到4.0.x到4.2时发生了一些事情,我仍然有一段时间工作的iPad 3.2模拟器。然后它停止工作......永远不会回来。 哦,好吧。
答案 0 :(得分:0)
当我要求在iPad 3.2模拟器上运行时
即使部署目标设置为3.x,我的Xcode 4.2中也没有该选项。我只能用iPad 4.3模拟器或iPad 5.0模拟器运行。所以我猜测iPad 3.2模拟器选项 - 出于某种原因 - 仍然在您的项目中被选中(或可选),这可能表明您的项目或Xcode的安装有些奇怪。
如果您想确保在使用Xcode 4.2构建时安装了iOS 3.2的iPad上运行您的应用,您唯一的选择是在运行iOS 3.2的iPad上进行测试。
答案 1 :(得分:0)
似乎问题是iOS模拟器应用程序,我测试了替换xcode 4.2中存在的iOS模拟器应用程序,用于xcode 3.2.6中的那个,并且iOS模拟器从3.2到4.3成功启动。但iOS模拟器5.0破了,不再起作用了。
所以,我做的是制作一个完整的xcode 4.2副本,这样一个副本可以与iOS模拟器3.2配合使用,另一个副本可以与其他iOS模拟器配合使用。