【发布时间】:2010-06-28 21:54:44
【问题描述】:
我在我的 Mac 上安装了 sdk 4。 我需要提交在 OS 3 和 OS 4 上运行的版本吗? 我的选择是什么?我可以重新安装 sdk3,然后提交我的应用吗?
如果我使用 SDK4 构建,它会在装有 OS 3 的设备上运行吗? 我不使用 OS 4 的任何功能。
【问题讨论】:
我在我的 Mac 上安装了 sdk 4。 我需要提交在 OS 3 和 OS 4 上运行的版本吗? 我的选择是什么?我可以重新安装 sdk3,然后提交我的应用吗?
如果我使用 SDK4 构建,它会在装有 OS 3 的设备上运行吗? 我不使用 OS 4 的任何功能。
【问题讨论】:
在 PROJECT 设置中,将您的 BASE SDK 设置为 4.0
在 TARGET 设置中,将您的 DEPLOY TARGET SDK 设置为 3.0(或 2.x 或任何您喜欢的版本。)
注意:如果您使用的 API 高于最低 DEPLOY 目标(即,您使用 4.0 API 并部署到 3.x),您必须检查了解该 API 的可用性。一种方法是:
// Code written in browser, not tested.
- (BOOL) classIsAvailablie: (NSString*) className
{
Class *theClass = NSClassFromString(className);
return (theClass != nil);
}
// ...
if ([self classIsAvailable: @"Some4.0OnlyClass"])
{
// ...
}
【讨论】:
虽然您可以在目标构建属性中设置 Base SDK,但最新的 Xcode 仅附带 3.2 和 4.0,而前者仅适用于 iPad。相反,您需要下载旧版本的 Xcode (3.2.2) 才能在 iPhone 上开发 3.x。您可以将不同的 Xcode 集安装到 /Developer 以外的不同文件夹中。诀窍是找到旧版本的 Xcode。我保存了我的副本(我强烈建议您始终保留 1 或 2 个版本),但它们不容易与主要的开发者网站链接。您可以转到http://connect.apple.com 并在下载 -> 开发人员工具下找到它们。
这有点令人费解。确实应该有一种方法可以将基础 SDK 安装到最新的 Xcode 版本中。当 Xcode 4 出来时,我们是否必须使用旧接口来开发向后兼容的应用程序?
previous thread 中还介绍了为旧固件开发的详细信息。
【讨论】: