在Mountain Lion上安装Simulator SDK 4.3到Xcode 4.4

我想在山狮(os x 10.8)的xcode 4.4中安装SDK 4.3,但是当我从xcode 4.1安装4.3 sdk包并从xcode 4.4启动模拟器时,模拟器告诉我ios模拟器找不到SDK。

sdk可能需要重新安装,这意味着它不能运行! xcode 4.4 GM有什么问题?

对于如何解决这类问题有什么想法吗?

我仔细研究过,这是苹果的故意行为。

以下是Xcode下载位置的caching提取(已编辑):

〜/图书馆/caching/ com.apple.dt.Xcode /下载/ eded78df8bfabaf6560841d10cf8e53766f74f28.dvtdownloadableindex

<dict> <key>source</key> <string>http://adcdownload.apple.com/ios/ios_simulator__resigned/ios_43_simulator.dmg</string> <key>identifier</key> <string>Xcode.SDK.iPhoneSimulator.4.3</string> <key>name</key> <string>iOS 4.3 Simulator</string> <key>userInfo</key> <dict> <key>InstalledIfAllPathsArePresent</key> <array> <string>$(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk</string> </array> <key>ActivationPredicate</key> <string>$MAC_OS_X_VERSION < "10.8.0"</string> </dict> </dict> 

请注意显式的“ActivationPredicate:$ MAC_OS_X_VERSION <10.8.0”设置,这在其他模拟器软件包上不存在。

我试图编辑这个文件,但是一旦Xcode打开,它就会被另一个版本replace。 我无法pipe理4.3模拟器DMG的手动下载:ADG网站会抛出“会话过期”错误。

看起来像苹果4.3模拟器的问题,并决定禁用它。 这对于那些需要支持这个版本的人来说太糟糕了。

我向苹果提交了DTS,并向他们证实,Mountain Lion不支持iOS4模拟器。 他们build议在真实设备上进行testing。

它看起来像一个狮子VS山狮问题。
我今天更新了几台机器到Xcode 4.4。 两个较老的Lion系统提供在xcode | preferences |下安装iOS 4.3和5.0模拟器。 较新的Mountain Lion系统仅提供iOS 5.0模拟器。

我也有这个烦人的情况。 最近,我设法添加了一个编译时检查API的老版本的检查API。 不幸的是,你不能用老版本通过模拟器testing它,但它仍然是一些东西。

所以这就是我所做的:

我首先必须得到我想得到的旧的模拟器SDK。 我可以通过下载包含所需SDK的旧版Xcode 3 (而不是4)来轻松获取。 与iOS SDK 4.3的Xcode 3.2.6链接在这里 。

我接下来必须安装SDK。 这不是太难,所以在这里我不会解释太多。 但SDKs存储在Packages文件夹中。 这个文件夹在早期的Xcode 3版本中是清晰可见的,但在更高版本中隐藏(如Xcode 3.2.6)。 无论如何,您可以通过terminal轻松打开它。 请记住安装模拟器 SDK,而不是常规SDK。 此外,在Xcode 4.3中将Developer文件夹移动到Xcode.app中,我必须将SDK安装到tmp文件夹中,然后将SDK移到Xcode.app中。 如果我打开它,我将需要重新启动Xcode。

之后,我复制了我的项目中的debugconfiguration,并将其命名为iOS 4.3 API Check或类似的东西 – 并不重要。 然后,我将这个新configuration的基础SDK更改为我安装的旧SDK。 我安装的SDK没有列出,所以我不得不selectother并inputiphonesimulator4.3

最后,当我需要检查旧版本的SDK时,我将项目模式中的Run <appname>.app的configuration更改为iOS 4.3 API Checkconfiguration。 然后,我们开始编译时检查iOS 4.3。

升级到ML后,我可以select下载iOS 4.3 Simulator。 但它没有工作! 我在debugging时收到一个错误。 当我尝试手动切换模拟器版本时,卡住了。

如果我知道,我可能会等待一个解决scheme,而不是升级。