如何使用最新的 SDK 为原始“iPhone”开发?

Posted

技术标签:

【中文标题】如何使用最新的 SDK 为原始“iPhone”开发?【英文标题】:How to develop for original "iPhone" with latest SDK? 【发布时间】: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,但这似乎很荒谬,因为这会阻止开发人员瞄准一款显然仍然在市场上占有一席之地的设备。

谢谢

【问题讨论】:

这个问题的答案可能在这里适用:Support legacy iPhone users 另外,请看这个问题:How To Make iPhone App compatible with multiple SDK (firmware) versions 【参考方案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 中不存在的符号,这需要某些框架的弱链接。将此问题视为可能发生的示例:***.com/questions/3313786/…

以上是关于如何使用最新的 SDK 为原始“iPhone”开发?的主要内容,如果未能解决你的问题,请参考以下文章

最新的 iPhone SDK 3.2 BETA 合二为一吗?

亚马逊最新的 SDK 与 iOS 集成出现错误

如何提交在iPhone OS 3和iPhone SDK 4上运行的应用程序版本?

如何使用 facebook ios sdk for iphone 实现单点登录 (SSO)

使用 PhotoEditor SDK 重新编辑具有相同名称的图像仅返回对原始图像的最新更改

如何使用 iOS 6 sdk 为 iPhone 4s 或 iPhone 4 制作视图控制器?