在创建新的iPhone项目时,使用最新的Xcode和SDK 3.0测试版,Xcode创建了一个SDK 3.0项目。如果我想在项目创建后恢复到SDK 2.2.1,我需要更改生成的源代码文件中的某些内容,因为某些API已经更改。是否有一种简单的方法可以在项目创建时指定我想明确使用的SDK?
提前谢谢
答案 0 :(得分:3)
我无法专门评论iPhone SDK 3.0,因为它涵盖在NDA之下;在devforums.apple.com上有一个披露开发者的论坛。但是罗杰诺兰是半对错的。当更新任何SDK时,他的一半是正确的,该SDK中的示例和模板会更新以利用它。也就是说,模板可能会专门使用该SDK中的新API,而代码可能只是不适用于早期的SDK。
也就是说,您可以保存早期SDK中的项目模板,并将它们安装在本地目录(如〜/ Library / Application Support / Developer / Shared / Xcode / Project Templates)中,以便与更高版本的Xcode一起使用。项目模板格式本身没有改变;模板应该向前和向后兼容,但模板的内容通常会锁定到它随附的SDK版本以及稍后。
先生。诺兰对于使用更新的SDK构建早期操作系统版本是错误的。这就是为什么早期的SDK软件包与后来的发行版一起提供的原因(它们并不只是为了让下载时间更长)。通过设置部署目标构建设置,您可以使用较新的SDK针对较旧的OS版本进行部署。
有一个小细节,您可能不应该部署由预生产工具链生成的生产应用程序。但是一旦版本N正式发布,你应该可以使用它的工具链来构建N-1,N-2等。
答案 1 :(得分:2)
如果您没有使用3.0 API中的任何新功能,您应该可以从Xcode项目窗口左上角的下拉菜单中选择Active SDK。只需选择“设备 - 2.2.1”或“模拟器 - 2.2.1”
答案 2 :(得分:1)
Xcode默认安装了最新的SDK,我不知道有任何方法可以改变这种行为。
我养成了在创建项目后立即在项目属性中将基础SDK设置为2.0的习惯。
答案 3 :(得分:1)
使用Beta工具链时,您应该将与一起安装在最新发布的工具链上,而不是代替它。在生产工具链中创建项目,然后使用beta工具链打开它们以进行兼容性测试。
无论如何,您将需要已发布的工具链才能进行分发构建。您不应该使用beta工具链进行分发。
答案 4 :(得分:0)
根据Apple没有。我对CanBerkGüder发布的评论说不然。我不建议跟随他的例子 - 这是一个抽奖,希望苹果公司看不到你在做什么,或者你不会违反3.0缺陷。
您可以使用Xcode为早期版本的操作系统构建,但如果您需要使用多个SDK进行构建,则应安装它们。 Xcode支持在一台机器上进行多次安装,安装说明记录了如何执行此操作。
如果您想使用3.0 SDK,则无法为OS 2.2.1构建并将该应用程序提交到应用程序商店 - 根据Apple的指南。他们说你还必须安装2.2.1 SDK并使用它进行构建。您可以构建2.2兼容的应用程序,但您使用的是可能会引入错误的beta工具。
这是你作为一个知识分子运动可以做的事情之一,但它不值得冒一个真正的应用程序。