【问题标题】:Install Simulator SDK 4.3 to Xcode 4.4 on Mountain Lion在 Mountain Lion 上将 Simulator SDK 4.3 安装到 Xcode 4.4
【发布时间】:2012-07-24 00:07:30
【问题描述】:

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

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

【问题讨论】:

  • 我只能用iPhone模拟器5.1来运行SDK 4.3编译的app... 笑话,山狮GM为什么不能运行xcode 4.3?~!!!!!!!!!跨度>
  • 不,Xcode 4.4 放弃了 iOS 4.3 模拟器,只保留了对 4.0 - 4.1 设备的调试支持。

标签: ios xcode ios-simulator osx-mountain-lion


【解决方案1】:

我已经调查过了,这是 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

我尝试编辑该文件,但 Xcode 一打开它就被另一个版本替换。而且我无法手动下载 4.3 Simulator DMG:ADG 网站抛出“Session expired”错误。

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

【讨论】:

  • 您可以通过执行 'chgflags -vv uchg *.dvtdownloadableindex' 来防止文件在 Xcode 启动时被替换(通过将 uchg 更改为 nouchg 使文件再次可编辑,-vv 只是将详细设置为你可以看到变化)。但是,Xcode 似乎仍然忽略了 4.3 模拟器...
  • 对我来说,这是在 BBEdit 中打开的,但不是在 Vim 中。
【解决方案2】:

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

【讨论】:

  • 谢谢。我的测试设备也没有运气,因为 Xcode (4.5) 没有找到它。我想我会在备份分区或虚拟机上进行测试。
  • 小心你的备份分区。通过 Appstore 在 Lion 备份分区上更新 Xcode (4.4) 在 xcode 上运行更新,而不是在 Mountain Lion 分区上的 Xcode。最后我在更新期间在备份上设置了chmod 000 /Aplication/xcode.app
  • @brainray Xcode 4.5 已完全弃用 iOS 4.2.1 和更早的操作系统,以及任何使用 armv6 架构的设备(iPhone 2G、iPhone 3G 和前两代 iPod Touch)。这与对 iPhone 模拟器的支持无关。所以——保留 Xcode 4.4。
  • @Olaf:谢谢,是的,我知道这一点。我保持备份断开,但感谢您的警告。
  • 他们不支持山狮的 4.3,他们不允许我将我的 ipod 从 4.2 更新到 4.3 在这种情况下如何在真实设备上测试它?
【解决方案3】:

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

【讨论】:

  • 我也看到了 - 刚刚在 Lion 上更新到 XCode 4.4,iOS 4.3 sim 仍然可以在 Preferences->Downloads 下下载。
【解决方案4】:

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

这就是我所做的:

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

接下来我必须安装 SDK。这不是太难,所以我不会在这里解释太多。但是 SDK 存储在 Packages 文件夹中。此文件夹在早期的 Xcode 3 版本中清晰可见,但在更高版本(如 Xcode 3.2.6)中隐藏。无论如何,您都可以通过终端轻松打开它。记得安装 simulator 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 &lt;appname&gt;.app 的配置更改为 iOS 4.3 API Check 配置。我们开始了,针对 iOS 4.3 进行编译时检查。

【讨论】:

  • 要轻松进入 Packages 文件夹,在 Finder 窗口中按 Command-Shift-G 并输入“/Volumes/Xcode and iOS SDK/Packages”。
  • 将新安装的SDK移动到的目标位置是... /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/De‌​veloper/SDKs
【解决方案5】:

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

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

【讨论】:

  • 在升级到 ML 之前,我也更新到了 Xcode 4.4。我肯定有 iOS 4.3 模拟器。但是现在我在 ML 上,我看不到它可以再下载了。但是,我仍然可以尝试在 4.3 Simulator 中模拟应用程序。通过“尝试”,我的意思是说它不会运行。 SimulatorBridge 进程将阻塞并占用所有 CPU 时间,随后出现错误消息:“iOS Simulator 找不到 SDK。SDK 可能需要重新安装。”
  • 苹果官方对此问题有声明吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 2012-07-25
  • 2012-04-08
  • 1970-01-01
相关资源
最近更新 更多