【问题标题】:How to develop for original "iPhone" with latest SDK?如何使用最新的 SDK 为原始“iPhone”开发?
【发布时间】:2010-08-31 21:13:14
【问题描述】:

我见过与此类似的问题,但没有太多明确的答案...

我曾经有一个 Xcode 版本(不知道我从哪里得到它),它只针对 iPhone OS 3.1.3 设备,因为我喜欢使用最小公分母,这对我来说很酷。最近我升级到最新的 SDK,所以我也可以在 OS 4 上测试我的代码。现在我拥有的最低 iPhone OS 目标是 3.2,但我有原始 iPhone,根据 iTunes 3.1.3 是该设备的最新版本。

所以现在我无法将手机升级到 3.2,也无法将 Xcode 中的目标设置为 3.1.3。我该怎么办?我应该重新安装旧的 SDK,但使用不同的路径吗?

看起来 Apple 正试图完全淘汰最初的 iPhone,但这似乎很荒谬,因为这会阻止开发人员瞄准一款显然仍然在市场上占有一席之地的设备。

谢谢

【问题讨论】:

标签: iphone


【解决方案1】:

在您的目标和项目设置中,在您的 Build 配置中,将 Base SDK 设置为 4.0,然后向下滚动并将 iPhone OS Deployment Target 设置为 3.1.3。可以在我的旧 3.1.3 设备上正常安装应用程序。

【讨论】:

  • 为了让应用程序在旧操作系统上正确运行,可能会涉及更多内容。例如,UIKit(和某些其他框架)可能需要弱链接以防止运行时错误来自未解析的符号。
  • @brad-larson:如果他最近升级了他的 SDK,他的旧项目不应该有任何指向新框架的链接(除非他使用旧 SDK 做了一些非常奇怪或高级的事情)。
  • 在我的项目和目标的构建配置中,我只看到“基础 SDK”选项。在这个屏幕的“部署”部分,我看到的最接近的是“Mac OS X 部署目标”。没有“iPhone OS 部署目标”。
  • 编辑;我最终找到了“iPhone OS 部署目标”选项。谢谢!
  • 即使应用程序不使用 4.0 或 3.2 中的任何新 API,它仍可能链接 3.1 中不存在的符号,这需要某些框架的弱链接。将此问题视为可能发生的示例:stackoverflow.com/questions/3313786/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
相关资源
最近更新 更多