我刚刚安装了 Lion 和 Xcode 4.1。如何添加较旧的 SDK,以便在 iPhone/iPad 模拟器中构建和运行 4.1 或 4.2?Xcode 4.1 仅附带 iOS 4.3 SDK。
Lion 是否有某种用于构建的最低 SDK?
谢谢,
实际上,只要您仍然可以使用旧版 SDK 使用旧版 Xcode,就可以添加旧版 SDK 。有时它也很有用:当你这样做时,你会发现你可能在编译期间而不是在运行时使用的不受支持的常量和方法。这是如何做到的。
使用旧版 SDK 获取旧版 Xcode。Apple iOS 开发中心目前列出了 4.3 SDK 和 Xcode 3.2.6 下载。
挂载 dmg 并通过终端打开隐藏在 dmg 中的 Packages 文件夹:
打开 /Volumes/Xcode\ 和\ iOS\ SDK/Packages/
双击所需 SDK 版本的 pkg 文件。我一直在寻找 iPhoneSDK4_3.pkg,但除了 4.3 之外,还发现了与 iPhoneSDK3_0.pkg 一样古老的软件包。因此,如果您知道在哪里可以找到旧的 SDK(我不知道),那么旧的 SDK 可能仍会与 App Store 下载一起打包。
让它安装在它自己选择的文件夹中,因为您将无法强制它安装在 Applications/Xcode.app/Contents/Developer 中(现在是 Developer 文件夹所在的位置)
您将在所选卷的 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/
重新启动 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/
对于 4.3 之前的 Xcode 版本的 SDK,较旧的步骤仍然适用。
我发现这恰好适用于让 Xcode 5 GM 编译带有旧 iOS 6 UI 的构建,即使部署在 iOS 7 设备上也是如此。用于修复等待 UI 重新设计的错误。也就是说,必须有一种更简单的方法在 iOS 7 设备上获取 iOS 6 UI。
你不能。但是,您可以做的是单击文件导航器中的顶级条目。它将带您进入应用程序设置。转到名为 Build Settings 的选项卡,并将 iOS 部署目标更改为您想要支持的任何 iOS 版本(您支持的最早版本)。
请参阅“编辑构建设置...”:http: //developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html#//apple_ref/doc/uid/TP40010215-CH9- SW5
打开 Xcode 并打开 Preferences(Xcode -> Preferences 菜单)。单击“下载”图标并查看“组件”选项卡。从 3.0 到 5.1 的所有版本都应该可用。只需单击要使用的安装即可。
这些答案都不适用于 Mac OS 10.8 和 XCode 4.5。但是现在东西都安装在 Applications 文件夹下,管理起来就容易多了。
选项 #1:在安装新版本之前,通过重命名 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/
然后,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/
您不能,但是对于插入运行旧版本 iOS 的设备(您应该对其进行适当的测试),它会构建得很好。
您必须在与旧 iOS 版本相结合的旧版本 Xcode 中运行您的应用程序。我有 3.2.5 安装在/Developer-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 上进行测试,但 iOS4.2 是该设备的最新(和正确版本)。为了在方案中“查看”并在该设备上运行,我必须如上所述更改 iOS 部署目标的构建设置。(顺便说一句,您还必须关闭 iPhone 的限制才能让 Xcode 安装应用程序 :))
除了 Steven 的回答,您还可以找到旧版本的 XCode - 包括旧的 SDK: