将旧版iOS SDK添加到Lion中的Xcode 4.1

Raf*_* C. 20 xcode ios4 ios osx-lion

我刚刚安装了Lion和Xcode 4.1.如何添加较旧的SDK,以便在iPhone/iPad模拟器中构建和运行4.1或4.2?Xcode 4.1仅附带iOS 4.3 SDK.

Lion是否有某种最低版本的SDK?

谢谢,

nio*_*ioq 27

实际上,只要您仍然可以使用较旧的SDK获取较旧版本的Xcode,就可以添加较旧的SDK.它有时也很有用:当你这样做时,你会发现在编译期间而不是在运行时可能使用的不受支持的常量和方法.这是怎么做的.

  1. 使用较旧的SDK获取旧版Xcode.Apple iOS开发人员中心目前列出了带有Xcode 3.2.6下载的4.3 SDK.

  2. 挂载dmg并打开通过终端隐藏在dmg中的Packages文件夹:

    open/Volumes/Xcode \和\ iOS\SDK/Packages /

  3. 双击所需SDK版本的pkg文件.我一直在寻找iPhoneSDK4_3.pkg,但除了4.3之外,还发现了与iPhoneSDK3_0.pkg一样旧的软件包.因此,如果您知道在哪里找到它,可能仍然可以将旧版SDK打包到App Store下载(我没有).

  4. 让它安装在它自己的文件夹中,因为你无法强制它安装在Applications/Xcode.app/Contents/Developer(这是Developer文件夹现在的位置)

  5. 您将在所选卷中的Platforms文件夹中找到该软件包.将相关SDK移动到Xcode.app中的Developer文件夹.你可能不得不使用sudo:

    sudo mv /Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

  6. 重新启动Xcode,您应该会看到Base SDK选项中列出的新(旧)SDK.好极了!

自2013年9月12日起更新

如果您尝试添加的"旧SDK"捆绑在Xcode 4.3或更高版本中,添加SDK就像从开发中心链接下载Xcode一样简单,该链接显示"正在寻找旧版本的Xcode?" (目前指向此处),安装dmg,然后复制相关文件.

在终端中,您可以执行以下操作(编辑相应的SDK版本号):

cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Run Code Online (Sandbox Code Playgroud)

对于4.3之前的Xcode版本的SDK,较旧的步骤仍然相关.

我发现这恰好适用于让Xcode 5 GM编译带有旧iOS 6 UI的版本,即使部署在iOS 7设备上也是如此.在UI重新设计之前用于修复错误.也就是说,必须有一种更简单的方法来在iOS 7设备上获得iOS 6 UI.


Fei*_*anZ 8

你不能.但是,您可以单击文件导航器中的顶级条目.它将带您进入应用程序设置.转到名为Build Settings的选项卡,将iOS部署目标更改为您要支持的任何iOS版本(您支持的最早版本).

请参阅"编辑构建设置...":http://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html#//apple_ref/doc/uid/TP40010215-CH9- SW5


2cu*_*ech 8

打开Xcode并打开Preferences(Xcode - > Preferences菜单).单击"下载"图标,然后查看"组件"选项卡.应该提供从3.0到5.1的所有版本.只需单击要安装的安装即可.


Bra*_*are 6

对于Mac OS 10.8和XCode 4.5,这些答案都不适合我.但是现在事情已经安装在Applications文件夹下,它更容易管理.

选项#1:在安装新的XCode之前,通过重命名来保存较旧的XCode副本很容易.然后,您可以在新版本上使用Product-> Preform Action-> Run Without Building来测试更新的设备或更新的模拟器.

选项#2:如果您真的想在较​​新的XCode中使用较旧的SDK进行构建,那么您只需使用finder复制SDK即可.您需要在Applications下安装旧版本的XCode才能使用.在下面的示例中,我在安装XCode 4.5之前将XCode 4.4重命名为XCode_old.注意:您可以右键单击.app文件并选择显示内容以获取这些文件,或者只使用终端窗口中的cp.

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Run Code Online (Sandbox Code Playgroud)

然后,iOS 5.1将在Build Settings下显示为Bask SDK.你可以为模拟器做同样的事情:

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
Run Code Online (Sandbox Code Playgroud)