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

Posted

技术标签:

【中文标题】如何提交在 iPhone OS 3 和 iPhone SDK 4 上运行的应用程序版本?【英文标题】:How to submit an app version which runs on iPhone OS 3 and iPhone SDK 4? 【发布时间】:2010-06-28 21:54:44 【问题描述】:

我在我的 Mac 上安装了 sdk 4。 我需要提交在 OS 3 和 OS 4 上运行的版本吗? 我的选择是什么?我可以重新安装 sdk3,然后提交我的应用吗?

如果我使用 SDK4 构建,它会在装有 OS 3 的设备上运行吗? 我不使用 OS 4 的任何功能。

【问题讨论】:

Building for lower version number for iPhone distribution的可能重复 【参考方案1】:

在 PROJECT 设置中,将您的 BASE SDK 设置为 4.0

在 TARGET 设置中,将您的 DEPLOY TARGET SDK 设置为 3.0(或 2.x 或任何您喜欢的版本。)

注意:如果您使用的 API 高于最低 DEPLOY 目标(,您使用 4.0 API 并部署到 3.x),您必须检查了解该 API 的可用性。一种方法是:

// Code written in browser, not tested.
- (BOOL) classIsAvailablie: (NSString*) className

    Class *theClass = NSClassFromString(className);
    return (theClass != nil);


// ...

if ([self classIsAvailable: @"Some4.0OnlyClass"])

    // ...

【讨论】:

【参考方案2】:

虽然您可以在目标构建属性中设置 Base SDK,但最新的 Xcode 仅附带 3.2 和 4.0,而前者仅适用于 iPad。相反,您需要下载旧版本的 Xcode (3.2.2) 才能在 iPhone 上开发 3.x。您可以将不同的 Xcode 集安装到 /Developer 以外的不同文件夹中。诀窍是找到旧版本的 Xcode。我保存了我的副本(我强烈建议您始终保留 1 或 2 个版本),但它们不容易与主要的开发者网站链接。您可以转到http://connect.apple.com 并在下载 -> 开发人员工具下找到它们。

这有点令人费解。确实应该有一种方法可以将基础 SDK 安装到最新的 Xcode 版本中。当 Xcode 4 出来时,我们是否必须使用旧接口来开发向后兼容的应用程序?

previous thread 中还介绍了为旧固件开发的详细信息。

【讨论】:

实际上并没有那么复杂:将您的 Base SDK 设置为 4.0,将您的部署目标设置为 3.1.3,只要您的应用不调用任何 3.2 或 4.0 的 API,您就可以构建和运行在 3.1.3 或 3.2 或 4.0 设备上。详情here 谢谢,完美的答案。问题是我将基本 sdk 设置为 3.0 而不是目标部署 如果它解决了你的问题,你应该绿色检查这个答案。

以上是关于如何提交在 iPhone OS 3 和 iPhone SDK 4 上运行的应用程序版本?的主要内容,如果未能解决你的问题,请参考以下文章

提交事件 preventDefault() 在 os9 的 iPad/iPhone 上不起作用 [重复]

如何在 iPhone OS 3.1x / 3.2 / 4.0 中管理图像(维度)?

如何使用当前的 Xcode 为 iPhone OS 3.1.2 构建应用程序?

为 OS 3.1.3 编译 iphone

如何在 XCode 中为不同版本的 iPhone OS 编写代码?

应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃