如何在 Xcode 4.5 中添加旧版本的 iOS SDK
Posted
技术标签:
【中文标题】如何在 Xcode 4.5 中添加旧版本的 iOS SDK【英文标题】:How can I add older version of iOS SDK in Xcode 4.5 【发布时间】:2012-09-21 03:36:11 【问题描述】:我在这里复制了 ios 5.1 SDK:
Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
但是,我仍然无法在 Xcode 中选择基本 SDK。 有人可以帮忙吗?
【问题讨论】:
请更好地解释您要完成的工作。 我正在尝试在 XCode4.5 中构建基于 SDK5.1 的应用程序。 如果您的目标是 iOS 5.1 设备,您可以使用 iOS 6 SDK 构建。您只需将部署目标更改为 5.1(或更早版本)。这将允许应用程序安装在运行 iOS 6 之前版本的设备上。 @RussellThackston 是的,但是当您添加新的 XIB 时,它们默认使用 iOS6 格式(带有 AutoLayout 等),您必须手动更改回 iOS5 格式。 我这样做的原因:如果您针对较旧的 SDK 进行编译,您将收到有关该版本尚不存在的方法的错误和警告。使用较新的 SDK 构建时不会出现这些错误,即使您将目标设置为旧版本。 【参考方案1】:需要将iPhoneOS5.1.sdk复制到目录下
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
和iPhoneSimulator5.1.sdk到
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
(您需要重新启动 Xcode 才能在 Base SDK 构建选项中选择 SDK。)
【讨论】:
我复制了 iPhoneOS5.1.sdk 和 iPhoneSimulator5.1.sdk。但我仍然无法更改 Base SDK。组合框中没有iOS5.1的选项。 同样可以添加ios4.3、ios5、ios5.1等 从哪里复制iPhoneOS5.1.sdk和iPhoneSimulator5.1.sdk?谢谢。 在退出+重新启动 Xcode 后使用 Xcode 4.6.3 为我工作。 我想在xcode7.3中安装ios5模拟器,可以吗?【参考方案2】:以上方法均不适用于我的 10.8 xcode 4.5.1。 上面给出的大部分路径都找不到。
这是我的解决方案说明。
-
在https://developer.apple.com/downloads/下载xcode_4.4.1_6938145.dmg
加载 dmg 文件,然后转到 Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ 你会找到 iPhoneOS5.1.sdk(这就是我想要的)。
将 iPhoneOS5.1.sdk 文件夹复制到您的 Xcode 文件夹 /Applications/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
重启 Xcode
打开 Xcode 项目设置->构建设置->基础 SDK,然后你会看到 iOS 5.1 选项。
【讨论】:
这行得通,应该是正确的答案!在这里developer.apple.com/downloads/index.action#下载旧版本的xcode(当然需要一个开发者帐户) 同样,这也可以在模拟器上完成,但请注意,模拟器可以从 XCode 中下载,同时在这里下载会更快。 在第 2 步和第 3 步中。我必须右键单击 Xcode 图标并单击 Show Package Contents 才能转到 Contents/Developer...。(仅适用于 OSX 中的新手) 【参考方案3】:从终端运行这个命令,然后重启 XCode:
cp -r /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
注意,将“iPhoneOS5.0.sdk”替换为您有兴趣复制的任何 SDK 的名称。
【讨论】:
我运行了这个命令,对我来说它对数百个文件说“没有找到这样的文件或目录”! 使用“sudo cp -a”而不是“cp -r”【参考方案4】:@benvolioT 回答正确,但需要您的许可:
sudo cp -r /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/
Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
【讨论】:
【参考方案5】:使用 finder 可以从这些位置获得用于操作系统和模拟器的旧 SDK。
对于操作系统
/Developer-old/Platforms/iPhoneOS.platform/Developer/SDKs
模拟器
/Developer-old/Platforms/iPhoneSimulator.platform/Developer/SDKs
Developer-old,你会在设备卷路径中找到它。
【讨论】:
嗯,我在任何地方都没有看到“Developer-old”。 此答案假定您在该路径上安装了 Xcode3 和/或 Xcode 4.4 之前的版本。【参考方案6】:Akhildas 的解决方案对我有用。我能够使用 XCode 4.5.1 针对 5.1 SDK 进行构建。一个警告:
如果您从由其他 Apple ID 下载的 XCode 版本中删除了 SDK,App Store 将显示您已更新到 4.5.1(即使您已经拥有它)。当您按下更新按钮时,它会告诉您使用另一个 Apple ID 登录。
奇怪了,不知道5.1 SDK里面的账号信息埋在哪里?
此外,当我将基本 SDK 设置回 iOS 6 时,您似乎必须重新启动 XCode 才能识别该框架。
【讨论】:
【参考方案7】:xcode.app > 右键 > 显示包内容
它将打开 xcode 包内容。
进入目录路径-
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
现在您可以看到带有 ios sdk 版本 的文件夹名称。例如:iPhoneOS(sdk-version).sdk
【讨论】:
【参考方案8】:最佳解决方案是转到 XCode Preferences 并从那里安装旧版本的 iOS 模拟器/SDK,如下所述:https://apple.stackexchange.com/questions/47323/installing-xcode-with-ios-4-3-device-simulator
希望这会有所帮助:)
【讨论】:
我相信你只能从那里安装以前的模拟器版本,而不是以前的 SDK 版本。以上是关于如何在 Xcode 4.5 中添加旧版本的 iOS SDK的主要内容,如果未能解决你的问题,请参考以下文章
在最新的 Xcode (4.5) 中使用 iPad 1 进行开发和调试,如何?
如何将文本字段添加到警报视图? Xcode 4.5 iOS6