是否仍然可以为较旧的iOS设备开发?

时间:2010-09-19 20:33:27

标签: ios

几个月前,我收到了来自Apple的一封令人震惊的电子邮件,告诉他们将拒绝所有不是针对iOS 4.x SDK构建的应用程序。现在我想知道是否:

1)这是一个糟糕的笑话吗?

2)如果不是:这是否意味着我的应用只会在iPhone4,iPod touch 4或任何安装了iOS 4.x的设备上运行?

我下载了最新的iOS SDK,我只能针对3.2或4.1进行构建,我相信3.2仅适用于iPad。现在我可以在安装旧操作系统的情况下扔掉我的6个iPod touch,或者我很幸运,仍然有一种方法可以为它们编码,而无需将它们全部升级到4.1。

你怎么看?真相是什么?

4 个答案:

答案 0 :(得分:7)

  

几个月前,我感到震惊   来自Apple的电子邮件,告诉他们   将拒绝每个不是的应用程序   针对iOS 4.x SDK构建。现在我   想知道是否:

     

1)这是一个糟糕的笑话吗?

不,但这是件好事。

首先,它鼓励开发人员继续使用最新的SDK。

其次,它鼓励用户更新到最新固件。 (更少的错误,更稳定,更少的安全漏洞)。

第三,它为您提供了一个固定的目标,您在提交应用时必须担心。如果Apple针对每个版本的iOS进行测试,那么批准应用程序需要花费很长时间,并且您最终会在特定设备上的特定固件版本上获得各种小错误。这将是疯狂。

  

2)如果不是:这是否意味着我的应用程序   只会在非常激烈的情况下运行   iPhone4,iPod touch 4等设备   任何安装了iOS 4.x的设备?

您可以在构建设置中设置任何您想要的部署目标,但我建议任何应用程序不低于3.1.x。由于(1),大多数用户使用4.x,使用3.x的比例很小,而且几乎没有人使用2.x或1.x.

  

我下载了最新的iOS SDK和我   只能建立3.2或4.1,   我相信3.2只适用于iPad。   现在我可以扔掉我的6个iPod   接触安装了较旧的操作系统或我   幸运的是,还有一种编码方式   对于他们没有升级他们所有   4.1。

如果你有一个较旧的iPod Touch(就像我做的那样 - 第一代)保持它(用3.1.3)来测试你的应用程序。不要扔掉它。

答案 1 :(得分:3)

  1. 不,不是,这是“根据Apple的法律”。
  2. 不,不。有一个名为“部署目标”的设置,您可以设置iOS 3.0或更高版本。用它。但是你必须针对iOS 4 SDK进行构建。
  3. 事实就是苹果所说的,以及我刚刚澄清的内容。 :)

答案 2 :(得分:1)

您仍然可以开发旧设备。您只需将部署目标设置为您支持的旧iOS版本。但是,您必须重新构建最新的SDK。

您可以在官方documentation找到更多信息。

答案 3 :(得分:0)

从Xcode 4.5版开始,不再支持Arm v6的开发。这意味着您无法构建可在原始iPhone,iPhone 3G或第1代/第2代iPod Touch上运行的应用程序。如果您尝试使用3G进行构建,它会向您发出警告,说明它不是受支持的设备。

如果您需要支持这些旧设备,则必须使用Xcode 4.4.1。如果您使用该版本,您仍然可以通过设置部署目标来支持回iPhone OS 3。您可以下载older Xcode versions from Apple

现实情况是,很少有人在iPhone OS 3上,除非你有充分的理由,否则你应该碰到iOS 4. Check the stats,看看它是否真的值得你光顾。 / p>