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

我刚刚安装了Lion和Xcode 4.1。 如何添加较旧的SDK,以便在iPhone / iPad模拟器中创build并运行4.1或4.2版本的SDK? Xcode 4.1只支持iOS 4.3 SDK。

Lion是否有一些最低的SDK版本?

谢谢,

实际上,只要您仍然可以使用较旧版本的SDK, 可以添加较旧的SDK。 有时候这也很有用:当你这样做的时候,你会发现在编译期间,而不是在运行时,你可能会使用不支持的常量和方法。 以下是如何做到这一点。

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

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

    打开/ Volumes / Xcode \和\ iOS \ SDK / Packages /

  3. 双击所需SDK版本的pkg文件。 我正在寻找iPhoneSDK4_3.pkg,但除了4.3之外,还发现了像iPhoneSDK3_0.pkg一样的软件包。 所以如果你知道在哪里可以find它(也许我没有),那么老版本的SDK仍然可以与App Store下载。

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

  5. 您可以在您select的卷的“平台”文件夹中find安装的软件包。 将相关的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,然后复制相关文件。

在terminal,你会做这样的事情(编辑适当的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/ 

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

我发现这恰好适用于让Xcode 5 GM编译即使在iOS 7设备上部署也能运行旧版iOS 6 UI的版本。 用于修复挂起UI重新devise的bug。 也就是说,iOS 7设备上有一个更简单的方法来获取iOS 6 UI。

你不能。 但是,您可以执行的操作是单击文件导航器中的顶级条目。 它会带你到应用程序设置。 转到名为构build设置的选项卡,并将iOS部署目标更改为您希望支持的任何版本的iOS(您支持的最早版本)。

请参阅“编辑生成设置…”: http : //developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html#//apple_ref/doc/uid/TP40010215-CH9- SW5

打开Xcode并打开首选项(Xcode – >首选项菜单)。 点击“下载”图标,然后查看“组件”选项卡。 所有版本从3.0到5.1应该是可用的。 只需点击您要使用的安装。

这些答案都不适用于Mac OS 10.8和XCode 4.5。 但是现在,这些东西安装在“应用程序”文件夹下,pipe理起来更容易。

选项#1:在安装新的XCode之前,通过重命名XCode很容易。 然后,您可以使用Product-> Preform Action-> Run without Building来testing新设备或更新的仿真器。

选项2:如果您真的想在较​​新的XCode中使用较旧的SDK进行构build,那么您可以简单地使用查找器复制一个SDK。 您需要在“应用程序”下安装旧版本的XCode才能正常工作。 在下面的例子中,我只是在安装XCode 4.5之前将XCode 4.4重命名为XCode_old。 注意:您可以右键单击.app文件,然后select“显示内容”以获取这些文件,或者仅从terminal窗口使用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/ 

然后,iOS 5.1将作为一个Bask SDK出现在Build Settings下。 你可以为模拟器做同样的事情:

 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/ 

你不能,但是对于插入运行旧版本iOS的设备(你应该进行适当的testing),它会很好地构build。

您必须在老版本的iOS版本中运行您的应用程序。 我已经在/Developer-3.2.5/下安装了3.2.5。 我不得不说,它比Xcode 4快10倍…你可以在这里下载旧版本: http : //iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html

我在使用SDK 4.3的Snow Leopard的Xcode 4.02中遇到类似的问题。 我想在iPhone 3G上testing,但iOS4.2是该设备的最新版本(正确版本)。 为了“看到”并在Scheme中的设备上运行,我必须如上所述更改iOS部署目标的构build设置。 (顺便说一句,你也必须对iPhoneclosures的限制,让Xcode安装应用程序:))

除了Steven的回答,您还可以find旧版本的XCode – 包括旧的SDK:

寻找旧版本的Xcode?