【问题标题】:iPhone Simulator 3.x not listed after upgrading to XCode 3.2.3 Beta4 with OS 4.0iPhone Simulator 3.x 在升级到 OS 4.0 的 XCode 3.2.3 Beta4 后未列出
【发布时间】:2011-02-25 07:17:46
【问题描述】:

当我上次安装 Xcode 3.2.3 Beta 2(OS 4.0 支持)时,它拥有所有 iPhone 设备和模拟器 3.x。

现在,更新到 Xcode 3.2.3 Beta 4(支持 OS 4.0),它不再列出 XCode 中模拟器或设备的 3.x SDK。当我运行为 3.1.2 编写的应用程序时,当前 SDK 被列为“缺少基本 SDK”

我知道 3.2.3 将 BASE SDK 更改为 4.0,但为什么没有 3.x 设备可用?

当我去:

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

仅有的两个文件是:

iPhoneSimulator3.2.sdk
iPhoneSimulator4.0.sdk

但是,当我去:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport

3.0
3.0.1
3.1
3.1.1
3.1.2
3.1.3
3.2
4.0 (8A274b)

我尝试重新安装最新的 XCode DMG 无济于事。

【问题讨论】:

  • GM 种子 XCode 3.2.3 仍在发生这种情况。哦哦!
  • 对于那些可能不知道的人,这也包含在最终版本中。我在这里有一个社区维基:stackoverflow.com/questions/3161385.

标签: iphone xcode ios4


【解决方案1】:

您应该阅读:http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/ 这很好地解释了 Base SDK 和 Deployment Target 之间的区别——简而言之,Base SDK 是您希望支持的最高 SDK 版本,而 Deployment Target 是您希望支持的最低版本会支持。您需要确保两者都已正确选择,并且您的代码将正确支持这些 SDK 的功能。

【讨论】:

    【解决方案2】:

    似乎他们删除了它们。

    如果您正在为较旧的操作系统进行开发,则不应使用 4.0 Beta SDK。

    根据发行说明:

    iPhone OS 4 beta 4 用于开发 仅用于目的。这个软件应该 仅安装在专用设备上 专为 iPhone OS 4 测试版 应用程序开发。不要 如果你不安装这个软件 有一个专门用于 iPhone OS 4 测试版应用程序 发展。

    我建议您将 3.x sdk 与 4.0.0 并行安装。我在我的机器上保留了两个开发者目录 /Developer 用于维护为 3.0 和 3.1 编写的应用程序,以及 /Developer4.0Beta 用于将应用程序迁移到 4.0 并试用即将推出的新功能。

    安装 sdk 时,安装到另一个文件夹的选项有点难以注意到,但诀窍是在“安装类型”步骤中按默认目录的向上/向下箭头。点击它们后,您可以选择不同的目录。

    请记住,App;le 不允许您提交使用 Beta SDK 构建的 App,因此我只会使用 4.0 Beta 来构建 4.0 应用程序,请记住,在 GM 之前 API 可能仍会更改发布。

    【讨论】:

    • 谢谢布拉德。你如何并行运行两者?当我再次安装 3.2 时,它会删除 4.0 功能。当我安装 4.0 时,它没有给我自定义目录的选项。我只是先安装 4.0,然后重命名 Developer 文件夹吗?谢谢1
    • @Jon,我编辑了答案以显示更改默认目录的位置。有点不明显,前几次安装各种版本的SDK都不知道它存在
    • @Jon,也可以重命名文件夹。这就是我在找到那些小箭头之前所做的事情
    • 哇,谢谢布拉德!我是高级用户,甚至没有注意到这一点! (再说一遍,我猜大多数开发人员都是高级用户,哈哈)只是为了确认:没有办法用旧的 os 3.1.x SDK 运行新的 XCode 3.2.3 Beta4?你必须选择一个或另一个?
    • @jon 我试图从 3.1/3.2 SDK 手动加载(拖放)SDK 文件到 4.0 xcode dev 文件夹中,没有用,我假设你可以通过一些 plist hacking它可以工作。
    【解决方案3】:

    是的,我也只是用头撞了一会儿。原来你需要在这里修改你的项目设置(右键项目>“获取信息”):

    XCode project settings http://img.skitch.com/20100609-fk9aq46eyibf4ceftr6famdbt9.png

    它可能会说“3.1(缺失)”,因为他们从 XCode 3.2.3 中删除了它。将其更改为 3.2 或 4.0,您应该会再次启动并运行。

    【讨论】:

    • 如果iPhone OS 部署目标在部署下缺少怎么办? (为了确定,我正在查看所有配置的所有设置。)我的一个项目有它,另一个没有,但它们最初都是用 Xcode 3.1.x 创建的。多么奇怪。 (我现在使用 Xcode 3.2.3,使用 4.0 作为 Base SDK,但其中一个项目似乎已经失去了与“iphoneos3.0”作为部署目标的关联。)
    • 根据我的经验,它不是 project 设置的一部分。相反,您必须选择目标,然后您就会看到它。
    【解决方案4】:

    更改 iPhone 操作系统部署目标可解决此问题,正如上面提到的 nicktmro。

    我在我的 iphone 和新的 4.0sdk 上运行新的 os4.0。我必须将我的 BASE SDK 设置为 4.0,然后在“获取信息 > 构建”中向下滚动到部署部分。最后一个选项应该是 iPhone OS Deployment Target。

    你可以选择一路回到os 1.0

    【讨论】:

      【解决方案5】:

      这适用于我们这些在项目级别更改 Base SDK 版本时只看到 MacOSX 部署目标的人。我发现如果我只在项目级别将 Base SDK 设置为 iPhone OS 4.0,我没有得到 iPhone OS 部署目标选项。如果我在目标级别设置 BaseSDK 和 iPhone OS 部署目标(更改 SDK 后立即显示),然后我可以返回项目并查看 iPhone OS 部署目标设置。

      在走蛮力路线之前可能值得一试。

      问候。

      【讨论】:

        【解决方案6】:

        即使 3.x 未列出,您仍然可以将其指定为 iPhone OS 部署目标下的目标。

        【讨论】:

          【解决方案7】:

          要显示 iPhone OS 部署目标,请右键单击项目并转到获取信息。 有一个“Show”下拉菜单,选择“All Settings”,Deployment部分底部是iPhone Deployment Target。

          【讨论】:

            【解决方案8】:

            如果 iPhone OS 部署目标 在 Deployment 下完全丢失,并且您正在查看 All Settings 以获得 All Configurations,你可能需要暴力破解。

            就我而言,我在 Xcode 中关闭了项目,然后打开了项目的(工作)xcodeproj 包。对于不知情的人,只需右键单击xcodeproj“文件”并选择显示包内容xcodeproj 实际上是一个目录)。为安全起见备份project.pbxproj 后,查看每个XCBuildConfigurationbuildSettings 下方并确保出现这两行:

            IPHONEOS_DEPLOYMENT_TARGET = 3.0;
            SDKROOT = iphoneos4.0;
            

            这会将 Base SDK 定位为 iOS 4.0(设备,而非模拟器),但将部署目标设置为最低 iOS 3.0。一旦你重新打开项目,它甚至会在 Xcode 中正确显示。问题解决了!

            【讨论】:

              猜你喜欢
              • 2011-08-24
              • 1970-01-01
              • 2011-03-18
              • 2011-04-20
              • 2011-12-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多