是否可以在Snow Leopard上获得适用于Xcode 4.2的iOS 5.1 SDK?


139

我还有雪豹。我有用于iOS开发的Xcode 4.2。今天早上,我将iPhone和iPad升级到iOS 5.1。

但是Xcode 4.2并未检测到我的设备进行测试。在Xcode 4.2的苹果开发人员站点上找不到iOS 5.1 SDK映像。

我现在不想升级到Lion以获得XCode 4.3。

我现在可以使用Xcode 4.2(在Snow Leopard上)进行iOS开发吗?

Answers:


213

要使Snow Leopard上的Xcode 4.2运行iOS 5.1设备上运行代码,您可以执行以下操作:

  1. 如果您有另一台运行Lion和Xcode 4.3.1的Mac,则可以从以下位置复制文件:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1(9B176)

  2. 将复制的文件放在Snow Leopard Mac上的同等位置:

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. 同样,复制在此目录中找到的iOS 5.1 SDK文件:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

  4. 还要将“ version.plist”从iPhoneOS.platform文件夹中的Lion机复制到Snow Leopard机。

  5. 在Snow Leopard机器上重新启动Xcode,然后重新连接设备,这似乎很高兴。

如果您无法使用Lion和Xcode 4.3.1访问计算机:

  1. 您可以从以下位置获取文件,这些文件4.3.1 DMG可以从Apple 下载Apple开发人员下载

  2. 挂载DMG,在Xcode图标上显示包内容并向下钻取

    /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. 请按照上述步骤。

您可能会发现在终端窗口中使用Apple专有的ditto方法(sudo ditto src dest)复制文件夹更为方便。

请注意,此技巧也适用于最新的iOS 6 SDK。


3
今天,我已将系统升级到Lion。感谢您的Hack。
jpsasi 2012年

非常感谢:)对我来说完美。至少我可以再用sl进行开发。
OnTheFly 2012年

14
我还通过在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk中的文件之间进行复制来解决上述问题。为此,我现在可以将更换旧Mac至少推迟几个月。
丹·代尔

6
@natbro-我仍然在developer.apple.com/downloads/index.action#上看到4.3.1 dmg的罚款,目前正在下载它。
SubG 2012年

1
XCode 4.3.3也包含它,并且效果很好。非常感谢
Krym

14

您必须获得Lion,iOS 5.1 SDK仅适用于Xcode 4.3.1,后者仅适用于Lion。

...并且如果您已经将Xcode更新至5.1,则您的Xcode将无法构建到您的设备上,因为该版本将不在Xcode认可的SDK版本上


14

我现在正在研究这个。我有同样的问题。

这里的主要问题是:

1)苹果公司从未提供过警告对话框,警告说这可能使人们在Snow Leopard下无法发展。

2)没有简单的方法可以撤销此操作。

3)这不应在点发布更新中发生。

我已经尝试从此处为我的Gen 4 iPod Touch从5.0.1安装以前的ipsw: 在哪里下载ipod touch固件还原链接 它不会安装。

我从这里下载了Lion Xcode 4.3.1(首先以开发人员身份登录) Lion Xcode 4.3.1

并在此处的开发论坛中运行一些脚本:

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1\ \(9B176\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/

sudo rm -f ./Latest

sudo ln -s ./5.1\ \(9B176\) ./Latest

卸载Lion DMG,然后重新启动Xcode。这使我能够在模拟器中测试5.1,但由于SIGABRT或链接错误而导致每个设备的构建中断。

我要去苹果商店,让他们还原我的设备。如果有更多信息,我会让大家知道。这是一个非常昂贵和非常不愉快的惊喜。


3
我完全同意你的看法。苹果对此的行为是不负责任的。它告诉你:他们只是不在乎。
EdH 2012年

3
在成为必须在iOS平台上开发的可怜的混蛋之一之前,我曾经爱过Apple。
Alex Zavatone 2012年

8

添加到上面的Richards解决方案中,我发现如果您从XCode 4.3.1 dmg复制...

编辑:更新到dmg中的正确路径

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope‌r/SDKs/iPhoneOS5.1.sdk ~~(整个目录树)

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

XCode调试器将正确启动(没有所有错误日志和转储)

ie:
===============================================================================
warning: Unable to read symbols from "dyld" (prefix __dyld_) (not yet mapped into memory).
warning: Unable to read symbols from "SystemConfiguration" (not yet mapped into memory).
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of dyld found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (file not found).
warning: No copy of SystemConfiguration.framework/SystemConfiguration found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of MessageUI.framework/MessageUI found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (file not found).
warning: No copy of AudioToolbox.framework/AudioToolbox found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/iAd.framework/iAd (file not found).
warning: No copy of iAd.framework/iAd found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices (file not found).
warning: No copy of SpringBoardServices.framework/SpringBoardServices found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/FTClientServices.framework/FTClientServices (file not found).
warning: No copy of FTClientServices.framework/FTClientServices found locally, reading from memory on remote device.  This may slow down the debug session.
===============================================================================

我认为您的意思是:/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs(比您的帖子所建议的要深一些-苹果最终的复杂层次结构并不是它吗?)
理查德·格罗夫斯

确实,你是对的。更新帖子以反映您的正确路径。欢呼〜
dklt

7

这里有一个答案,也提供了模拟器v 5.1的副本。无需人工操作。只需打开终端,复制并粘贴提供的命令。

http://www.iphonedevsdk.com/forum/iphone-sdk-development/100229-snow-leopard-sdk-5-1-a.html


我遵循了Richard Groves和@dklt的指示。它不起作用。但是我解雇了此链接中给出的脚本,它像一个魅力一样工作
Vaishnavi Naidu'4

“该网站www.iphonedevsdk.com被报告为攻击页面,并已根据您的安全偏好设置被屏蔽。” -我会非常小心:)
Roel Van de Paar

已经报告了整个iphonedevsdk.com网站,而不仅仅是此页面。
prossel 2012年

5

如果您还想将iphone模拟器5.1添加到您的xcode中,然后复制

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk

整个目录到以下路径=>

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

之后您还可以使用iPhone模拟器5.1调试应用程序。


1
当我执行此@ hchouhan02时,出现以下错误:Interface Builder XIB编译器错误:“命令/ Developer / usr / bin / ibtool失败,退出代码为255”并且未分类:“构建任务失败,未生成错误消息。”
JRoss

尝试构建项目后,尝试此=>退出xcode =>打开xcode =>清理项目。
hchouhan02年

5

您可以在5.1或5.1.1设备上使用针对5.0编译的应用程序,方法是将它们编译并手动将.app文件拖到iTunes中。今天在10.6.8和XCode 4.2上试用。


今天对我有用。我在使用xcode 4.2的SL上。[Mac OS X 10.6.8(10K549)。Xcode 4.2(4C199)。iPhone OS SDK 5.0:(9A334)。]
马丁·雅各比克(

你可以在〜/库/开发商/ Xcode中/ DerivedData / {应用程序名称} / BUILD /产品/部署/(感谢.app文件stackoverflow.com/a/9673810/1208218
罗埃尔范·德·帕

还有一些有关如何完全运行的更多信息:stackoverflow.com/a/11460561/1208218
Roel Van de Paar,2012年

4

通过以下链接下载设备的iOS 5.0.1固件:http : //www.iphonefirmware.com/firmwares-download

并在iTunes上进行手动还原。

我是今天(3月8日)在iPad 2上完成此操作的,并且可以正常运行,但是Apple似乎仍在签署此iOS版本。


1
3月10日:没有工作。收到一条消息,指出我的设备iPod Touch 4G不支持该软件的版本。
Seamus 2012年

自上周结束以来,苹果就停止了对它的签名
预定者2012年

3

在xcode 4.2上无法使用5.1设备,因为您不想升级,因此可以使用管理器,选择设备并使用还原功能。您可以使用Google搜索5.0.1版本并使用该版本。

(尽管升级到狮子是超级便宜的)

编辑:似乎这是可能的,向上滚动以获得最高投票率的答案。


由于美洲狮将在几个月后发布,因此我现在不想升级到Lion,假设我应该能够从Snow Leopard升级到Mountain Lion。我想我需要找到一种将iOS 5.0.1恢复到我的设备的方法。谢谢
jpsasi 2012年

别客气。还原应该没有那么困难,就像我之前告诉您的那样,xCode提供了还原功能(可在管理器菜单窗口->管理器->设备-> RestoreIphone中找到)。顺便说一句,如果您可以直奔美洲狮,例如,您必须通过低谷雪豹才能从豹子到达狮子。
Pochi 2012年

显然,没有必要先升级到Lion,并且可以直接从Snow Leopard升级到Mountain Lion
Roel Van de Paar 2012年

3

我正在使用Mac OS X 10.6.8和Xcode 4.2,还将iPhone升级到iOS 5.1。昨天我急着要在设备上获得测试版本,但没有时间安装Lion和Xcode 4.3。

我一直在使用TestFlight(www.testflightapp.com)进行Beta测试。我从Xcode 4.2创建了一个.ipa存档,并能够通过TestFlight将其安装在我的iOS 5.1升级版iPhone上。

我知道这不是理想的解决方案,但它昨天帮助我摆脱了困境,没有采取黑客手段。

ps我不以任何方式隶属于TestFlight。


2

Xcode 4.2似乎在developer.apple.com上不再适用于雪豹用户:(也适用于像我这样的注册付费iOS开发人员...

似乎目前尚无合法途径来获得它...


2

您还必须添加Symbols别名。例如,/Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403)您必须添加指向此符号的Symbols别名,/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk以便xcode 4.2可以检测到您的ios6设备(已在mac mini 1.5 intel core雪豹上进行了测试)。干杯


在我的情况下,从Xcode 4.5磁盘映像Symbols复制DeviceSupport/6.0 (10A403)文件夹后,别名已经存在。
herzbube 2012年

1

我认为您可以按照上述文章中的说明在Snow Leopard中测试ios 5.1设备。但是,升级到Lion并使用官方的sdk版本始终是安全的。因为我们无法预测如果我们在计算机上执行一些“技巧”以使其发生,并且可能在您最不需要的时间(例如,提交至Appstore)时发生,那么该问题可能会发生。:)


1

截至撰写本文日期2012年3月20日,Apple不允许人们安装5.0.1版之前的ipsw文件。如果像我第4代Touch一样将设备升级到iOS 5.1,则要么必须使iOS 5.1在Xcode 4.2上运行,要么必须将设备还原到4.x,或者更换设备。

我将自己的风格带到了Apple Store,他们取代了它。

如果您为5.0.1安装ipsw,则Apple的服务器将声明您的设备不允许这样做,并且您将无法还原。您必须在设备上尝试4.x或确保iOS 5.1 SDK在Xcode 4.2中运行。


0

我找到了解决方法!

我的系统是Snow Leopard 10.6.8,我有两套Xcode 3.2.5和4.2,将iPad 1升级到iOS 5.1之后,我启动了Xcode 3.2.5,它提示我“未知设备”窗口找到”,我回答“是”,从iPad下载大量库,几分钟后,我可以在iPad上调试并运行项目!

然后,我启动了Xcode 4.2,并打开了以前的项目之一,可以真正在iPad上调试和运行它了!

这样,您可以使用任一版本的Xcode在Snow Leopard系统上开发应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.