Xcode 5有一个首选项窗格,允许一个人下载iPhone 6.1模拟器,但我找不到一个地方,它允许下载iOS 6 SDK,因此不可能将活动SDK设置为iOS 6时,用Xcode 5开发。是否存在允许Xcode 5安装iOS 6 SDK的解决方案?

编辑:

既然Xcode 5已经普遍可用,并且允许你下载以前版本的SDK,那么变通方法应该不再是必要的了。


当前回答

对我来说最简单的解决方法:

Locate an older SDK like for example "iPhoneOS6.1 sdk" in an older version of xcode for example. If you haven't, you can downlad it from Apple Developer server at this address: https://developer.apple.com/downloads/index.action?name=Xcode When you open the xcode.dmg you can find it by opening the Xcode.app (right click and "show contents") and go to Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1 sdk Simple Copy the folder iPhoneOS6.X sdk and paste it in your xcode.app right click on your xcode.app in Applications folder. Go to Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ Just paste here.

关闭你的xcode应用程序,重新打开它。

要在模拟器上测试iOS 6中的应用程序: -在你的活动场景中选择iOS 6.0即可。

要在iOS 6中构建应用程序,那么你的应用程序的设计将是iOS 7 iPhone上的旧设计: —在“Targets - Base SDK”中选择“iOS6.1”

请注意:当你在你的目标中改变基础SDK时,iOS 7.0将不再可用来构建模拟器!

其他回答

当我更新到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。平台/开发者/ sdk &重新启动xcode。

但如果你更新Xcode,这可能会被Xcode删除。

2)另一种方法是解压并粘贴到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS。平台/开发者/SDK并在这里创建一个符号链接,这样即使你更新了Xcode, SDK也会保持不变。

我做的另一个改变,构建设置>架构>标准(不是64),所以列出部署目标的所有版本

如果只是想更改部署目标,则不需要下载压缩包。

以下是一些截图。

我目前已经安装了Xcode 4.6.3和5.0。我使用下面的bash脚本将5.0链接到旧版本的sdk:

platforms_path="$1/Contents/Developer/Platforms";
if [ -d $platforms_path ]; then
    for platform in `ls $platforms_path`
    do
        sudo ln -sf $platforms_path/$platform/Developer/SDKs/* $(xcode-select --print-path)/Platforms/$platform/Developer/SDKs;
    done;
fi;

你只需要为它提供.app的路径:

./xcode.sh /Applications/Xcode-463.app

找到并下载旧的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

您可以下载旧的SDK并将其安装进去

xcode /内容/开发/平台/ iPhoneOS.platform /开发/ sdk /

文件夹中。注销+登录只是为了确保更改生效,你应该在你的新XCode中看到旧的SDK

我下载了XCode 4,并将iOS 6.1 SDK从它带到XCode 5,如其他答案所述。 然后我还安装了iOS 6.1模拟器(它在首选项中可用)。我还在项目设置中将Base SDK切换到iOS 6.1。

在所有这些操作之后,带有6.1基础sdk的项目在iOS 7模拟器中的comp能力模式下运行。