19

当我上次安装 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 无济于事。

4

8 回答 8

8

您应该阅读:http ://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/ 这很好地解释了 Base SDK 和 Deployment Target 之间的区别——简而言之,Base SDK 是您希望支持的最高 SDK 版本,而 Deployment Target 是您将支持的最低版本。您需要确保正确选择两者,并且您的代码将正确支持这些 SDK 的功能。

于 2010-06-10T20:41:23.323 回答
7

好像他们删除了它们。

如果您正在为较旧的操作系统进行开发,则不应使用 4.0 Beta SDK。

根据发行说明:

iPhone OS 4 beta 4 仅用于开发目的。此软件只能安装在专门用于 iPhone OS 4 beta 应用程序开发的设备上。如果您没有专门用于 iPhone OS 4 beta 应用程序开发的设备,请勿安装此软件。

我建议您将 3.x sdk 与 4.0 并行安装。我在我的机器上保留了两个开发人员目录 /Developer 用于维护为 3.0 和 3.1 编写的应用程序,以及 /Developer4.0Beta 用于将应用程序迁移到 4.0,并尝试即将推出的新功能。

安装 sdk 时,安装到另一个文件夹的选项有点难以注意到,但诀窍是在“安装类型”步骤中按默认目录的向上/向下箭头。点击它们后,您可以选择不同的目录。

替代文字

请记住,该 App;le 不允许您提交使用 Beta SDK 构建的 App,因此我只会使用 4.0 Beta 来构建 4.0 应用程序,请记住,在 GM 发布之前 API 可能仍会更改。

于 2010-05-28T20:38:13.003 回答
7

是的,我也只是用头撞了一下这个。事实证明,您需要在此处修改项目设置(右键单击项目>“获取信息”):

XCode 项目设置 http://img.skitch.com/20100609-fk9aq46eyibf4ceftr6famdbt9.png

它可能会说“3.1(缺失)”,因为他们从 XCode 3.2.3 中删除了它。将其更改为 3.2 或 4.0,您应该可以再次启动并运行。

于 2010-06-09T20:07:33.807 回答
1

就像上面提到的 nicktmro 一样,更改 iPhone OS 部署目标可以解决此问题。

我在我的 iphone 和新的 4.0sdk 上运行新的 os4.0。我必须将我的 BASE SDK 设置为 4.0,然后在“获取信息 > 构建”中向下滚动到部署部分。最后一个选项应该是 iPhone OS Deployment Target。

可以选择一路回到os 1.0

于 2010-06-14T16:43:42.073 回答
1

这适用于我们这些在项目级别更改 Base SDK 版本时只看到 MacOSX 部署目标的人。我发现如果我只在项目级别将 Base SDK 设置为 iPhone OS 4.0,我没有得到 iPhone OS 部署目标选项。如果我在目标级别设置 BaseSDK 和 iPhone OS 部署目标(更改 SDK 后立即显示),然后我可以返回项目并查看 iPhone OS 部署目标设置。

在走蛮力路线之前可能值得一试。

问候。

于 2010-07-01T13:56:39.880 回答
0

即使没有列出 3.x,您仍然可以在 iPhone OS 部署目标下将其指定为目标。

于 2010-06-12T23:26:20.857 回答
0

要显示 iPhone OS 部署目标,请右键单击项目并转到 Get Info。有一个“Show”下拉菜单,选择“All Settings”,在Deployment部分底部是iPhone Deployment Target。

于 2010-06-25T17:02:17.743 回答
0

如果部署下完全缺少iPhone OS 部署目标,并且您正在查看All Settings for All Configurations,您可能需要暴力破解。

就我而言,我在 Xcode 中关闭了项目,然后打开了项目的(工作)xcodeproj包。对于那些不知道的人,只需右键单击xcodeproj“文件”并选择显示包内容xcodeproj实际上是一个目录)。为安全起见备份后project.pbxproj,查看buildSettingseveryXCBuildConfiguration并确保出现以下两行:

IPHONEOS_DEPLOYMENT_TARGET = 3.0;
SDKROOT = iphoneos4.0;

这会将 Base SDK 定位为 iOS 4.0(设备,而不是模拟器),但将部署目标设置为最低 iOS 3.0。一旦你重新打开项目,它甚至会在 Xcode 中正确显示。问题解决了!

于 2010-06-28T13:58:17.870 回答