当我上次安装Xcode 3.2.3 Beta 2(OS 4.0支持)时,它拥有所有的iPhone设备和设备。模拟器3.x。
现在,更新到Xcode 3.2.3 Beta 4(OS 4.0支持),它不再为XCode中的模拟器或设备列出3.x SDK。当我运行为3.1.2编写的应用程序时,当前的SDK被列为“基本SDK缺失”
我知道3.2.3将BASE SDK更改为4.0,但是3.x设备怎么也没有?
当我去:
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
唯一可用的两个文件是:
iPhoneSimulator3.2.sdk
iPhoneSimulator4.0.sdk
然而,当我去:
/Developer/Platforms/iPhoneOS.platform/DeviceSupport
3.0
3.0.1
3.1
3.1.1
3.1.2
3.1.3
3.2
4.0 (8A274b)
我尝试重新安装最新的XCode DMG无济于事。
答案 0 :(得分:8)
您应该阅读:http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/这很好地解释了Base SDK和部署目标之间的区别 - 简而言之,Base SDK是您期望支持的最高SDK版本,而部署目标是最低的您将支持的版本。您需要确保两者都已正确选择,并且您的代码将正确支持这些SDK的功能。
答案 1 :(得分:7)
好像他们已经删除了它们。
如果您正在为较旧的操作系统进行开发,则不应使用4.0 Beta SDK。
根据发行说明:
iPhone OS 4 beta 4适用于开发 目的而已。这个软件应该 仅安装在专用设备上 专为iPhone OS 4测试版 应用开发。不要 如果不这样做,请安装此软件 有一个专门用于的设备 iPhone OS 4 beta应用程序 发展。
我建议您将3.x sdk与4.0并行安装。我将两个Developer目录保存在我的机器/开发人员上,用于维护为3.0和3.1编写的应用程序,以及/Developer4.0Beta用于将应用程序迁移到4.0,并尝试即将推出的新功能。
在安装sdk时,安装到另一个文件夹的选项有点难以注意,但诀窍是按“安装类型”步骤上的默认目录点击向上/向下箭头。点击它们后,它将允许您选择不同的目录。
请记住,App; le将不允许您提交使用Beta SDK构建的应用程序,因此我只会使用4.0 Beta来构建4.0应用程序,请记住,在GM之前,API可能仍会发生变化释放。
答案 2 :(得分:7)
是的,我只是暂时对着这个人撞了一下头。事实证明,您需要在此处修改项目设置(右键单击项目>“获取信息”):
XCode project settings http://img.skitch.com/20100609-fk9aq46eyibf4ceftr6famdbt9.png
它可能会说“3.1(缺失)”,因为他们从XCode 3.2.3中删除了它。将它更改为3.2或4.0,你应该是&又跑了。
答案 3 :(得分:1)
更改iPhone操作系统部署目标修复了此问题,就像上面提到的nicktmro一样。
我在iphone上运行新的os4.0和新的4.0sdk。我必须将我的BAse SDK设置为4.0,然后在“获取信息>构建”中,然后向下滚动到“部署”部分。最后一个选项应该是iPhone OS部署目标。
您可以选择一直回到os 1.0
答案 4 :(得分:1)
这是我们这些在项目级别更改Base SDK版本时只看到MacOSX部署目标的人。我发现,如果我只在项目级别将Base SDK设置为iPhone OS 4.0,那么我没有获得iPhone OS部署目标选项。如果我将BaseSDK和iPhone OS部署目标设置为目标级别(在更改SDK后立即显示),我可以返回项目并查看iPhone OS部署目标设置。
在走强力路线之前可能值得尝试。
问候。
答案 5 :(得分:0)
即使没有列出3.x,您仍然可以将其指定为iPhone OS部署目标下的目标。
答案 6 :(得分:0)
要显示iPhone OS部署目标,请右键单击项目并转到“获取信息”。 有一个“显示”下拉菜单,选择“所有设置”,在部署部分的底部是iPhone部署目标。
答案 7 :(得分:0)
如果 iPhone操作系统部署目标在部署下完全缺失,并且您正在查看所有设置 所有配置< / strong>,你可能需要暴力破解。
就我而言,我在Xcode中关闭了项目,然后打开了项目的(工作)xcodeproj
包。对于那些不知情的人,只需右键单击xcodeproj
“文件”并选择显示包内容(xcodeproj
实际上是一个目录)。在备份project.pbxproj
以确保安全后,请查看每个buildSettings
的{{1}},并确保显示以下两行:
XCBuildConfiguration
这会将Base SDK定位为iOS 4.0(设备,非模拟器),但将部署目标设置为最低iOS 3.0。一旦重新打开项目,它甚至会在Xcode中正确显示。问题解决了!