Xcode 5有一个偏好设置面板,允许下载iPhone 6.1模拟器,但我找不到允许下载iOS 6 SDK的地方,因此在使用Xcode 5开发时无法将活动SDK设置为iOS 6。是否有一种解决方法可以使Xcode 5安装iOS 6 SDK?
编辑:
现在Xcode 5已经普遍可用,并允许您下载先前版本的SDK,因此不再需要解决方法。
Xcode 5有一个偏好设置面板,允许下载iPhone 6.1模拟器,但我找不到允许下载iOS 6 SDK的地方,因此在使用Xcode 5开发时无法将活动SDK设置为iOS 6。是否有一种解决方法可以使Xcode 5安装iOS 6 SDK?
编辑:
现在Xcode 5已经普遍可用,并允许您下载先前版本的SDK,因此不再需要解决方法。
编辑:从2014年2月1日开始,苹果将不再接受预iOS 7应用提交到App Store。因此,虽然这种技术仍然有效,但对于大多数读者来说已经没有用了。
没问题,我仍在为一个项目构建iOS 4.3(很久以前我们更新过; 但是他们在iOS 6发布后仍然接受它),我目前使用Xcode 5构建10.5应用程序。
请参见如何将Xcode指向旧的SDK,使其可以用作“基本SDK”? 以获取设置详细信息。您可以使用我的fix-xcode脚本,每次升级时都为您链接所有内容。
唯一的诀窍是获取旧的SDK。如果您没有它们,通常需要下载旧版本的Xcode(仍可在developer.apple.com上获得),打开安装程序包,并寻找所需的SDK。
SDK可在安装程序包中找到:
Xcode.app/Contents/Developer/Platforms/
当我更新到xcode 5时,遇到了同样的问题,它删除了旧的SDK。但是我从另一台计算机中拷贝了旧的SDK,您可以从以下链接下载相同的版本。
http://www.4shared.com/zip/NlPgsxz6/iPhoneOS61sdk.html
(www.4shared.com测试账户test@yopmail.com/test)
有两种方法可以使用:
1) 解压并将此文件夹粘贴到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs,并重新启动xcode。
但是如果您更新xcode,则这可能会再次被Xcode删除。
2) 另一种方式是解压并粘贴到所需位置,然后进入/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs,在这里创建一个符号链接,这样即使您更新Xcode,SDK也将保持不变。
我还做了另一个更改,Build Setting > Architectures>standard(而不是64),以列出所有Deployment Target的版本。
如果您只想更改部署目标,则无需下载zip文件。
以下是一些屏幕截图。
是的,我今天刚解决了这个问题。
然后你可以像下面这样选择SDK:
希望这对你有所帮助。
查找并下载旧版SDK。 旧版SDK可在此处找到。
我已将xcode.app目录复制为Xcode_4.6.3.app。
现在,您可以在两个版本的Xcode中进行测试和调试。您必须从相应的文件夹运行它们或在桌面上创建快捷方式。当从命令行构建时,将参数设置为iPhoneOS6.1
而不是iPhoneOS7.0
这在我的Xcode5和iOS上非常有效。
进入Xcode5的SDK目录。它通常位于:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
像这样为旧的SDK添加一个符号链接:
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk
更准确地说,可以从命令行的任何位置执行此操作,
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
补充一点,你实际上可以使用Xcode 5本身下载旧版本的模拟器 - 只需转到首选项,您将在下载下找到它们:
您可以下载旧版SDK并将其安装在
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
文件夹中。 注销+登录以确保更改生效,然后您应该在新的XCode中看到旧版SDK
打开终端窗口
$sudo cp -R /Applications/Xcode4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
由于您处于系统文件夹内,将提示您输入密码
对我来说最简单的解决方案:
要在模拟器中测试iOS 6中的应用程序:
- 只需在活动方案中选择iOS 6.0即可。
要在iOS 6中构建您的应用程序,使其在安装有iOS 7的iPhone上呈现旧版设计: - 在Targets - Base SDK中选择iOS 6.1
请注意:当你在Targets中更改基本SDK时,iOS 7.0将不再可用于在模拟器上构建!
可以做到这一点,但并不是必要的
Jason Lee找到了答案。在安装xCode时,我更喜欢保留之前的安装而不是替换它们。所以我在我的安装文件夹中有这些东西
因此/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
包含不同的sdk。(用正确的数字替换Xcode.app)将先前的sdk复制到
/Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
这是我复制一个后的文件夹。
现在重新启动xCode,您就可以将先前版本的sdks设置为基本sdk。
参考苹果文档
要为Xcode项目使用特定的SDK,请在项目的构建设置中进行两个选择。
选择部署目标。
这确定了软件可以运行的最早的操作系统版本。
选择基本SDK
您的软件可以使用在包括与基本SDK相对应的操作系统版本在内的操作系统版本中可用的功能。默认情况下,Xcode将其设置为Xcode支持的最新操作系统。
例如,您可以将iOS 7作为基本sdk,并将iOS 6设置为部署目标。在iOS 6模拟器上运行以测试它在iOS 6上的工作方式。如果模拟器不在可用的模拟器列表中,请安装模拟器。
此外,您可以无条件地使用iOS 6的功能。同时支持先前的版本和新更新设备的iOS 7的新功能。
这可以通过弱链接类,弱链接方法,函数和符号来实现
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/