58

我想在山狮(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 有什么问题?

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

4

5 回答 5

21

我已经调查过了,这是 Apple 的故意行为。

这是 Xcode 下载位置缓存的(已编辑)提取:

~/Library/Caches/com.apple.dt.Xcode/Downloads/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 打开它就会被另一个版本替换。而且我无法管理 4.3 Simulator DMG 的手动下载:ADG 网站抛出“会话过期”错误。

看起来 Apple 对 4.3 模拟器有问题,并决定禁用它。对于必须支持此版本的人来说,这很糟糕。

于 2012-07-26T16:27:46.750 回答
16

我向 Apple 提交了 DTS,并与他们确认 Mountain Lion 不支持 iOS4 模拟器。他们建议在真实设备上进行测试。

于 2012-08-08T19:13:22.607 回答
10

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

于 2012-07-26T02:51:35.167 回答
9

我也遇到过这种烦人的情况。最近,我设法添加了一个编译时检查,用于检查 API 与旧版本的 SDK。不幸的是,您无法通过模拟器使用旧版本对其进行测试,但它仍然是一些东西。

所以这就是我所做的:

我首先必须获得我想要获得的旧版 Simulator SDK。我可以通过下载包含所需 SDK的旧 Xcode 3 (不是 4)版本轻松获得此功能。带有 iOS SDK 4.3 的 Xcode 3.2.6 链接在这里

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

之后,我debug在我的项目中复制了配置,并将其命名为类似iOS 4.3 API Check或类似的名称 - 并不重要。然后我将这个新配置的 Base SDK 更改为我安装的旧 SDK。虽然我安装的 SDK 没有列出,所以我必须选择other并输入iphonesimulator4.3.

最后,当我需要检查旧版本的 SDK 时,我将Run <appname>.app项目方案中的配置更改为我的iOS 4.3 API Check配置。我们开始了,针对 iOS 4.3 的编译时检查。

于 2012-07-31T15:37:50.273 回答
1

升级到 ML 后,我可以选择下载 iOS 4.3 Simulator。然而它没有用!我在调试时收到错误。当我尝试手动切换模拟器版本时,它卡住了。

如果我知道,我可能会等待解决方案,而不是升级。

于 2012-07-27T20:39:18.560 回答