iOS:在Xcode 4.5中绝对没有构建armv6的方法吗?

10

Xcode 4.5 开始不再支持构建 armv6 设备(iPhone/iPod touch 1代和2代)。这意味着我们的应用将不会更新适配 iPhone 2G 和 3G,这非常不幸。有没有人知道是否有解决方案?我真的看不到任何技术原因。

4个回答

6
你可以安装多个版本的xcode。过去,这一方法曾经是使用旧版本xcode功能所需的修复方案。
这是一个权宜之计,项目文件可能会最终发展到不再支持旧工具的程度,但目前而言,这将允许您构建旧版本的目标。
如果您有一个单独的项目要在两个版本的XCode中使用,则可能需要通过源代码控制技巧和/或文件移动来管理单独的项目控制文件。
我还建议通过旧版本进行项目结构更改和二进制文件管理(例如Core Data模型),因为XCode 4.5将向后兼容,但向前兼容很少得到保证。

我曾经在我的应用程序文件夹中保存了一个XCode44.app的副本,以此来进行开发。但是它被10.8.2升级给删除了 -_-...!!! 你有什么办法可以重新下载它吗? - Olivier
5
苹果公司仍然在其开发者下载页面上列出了Xcode 4.4的下载链接:https://developer.apple.com/downloads/index.action?name=Xcode#。 - Brad Larson
您也可以从https://developer.apple.com/downloads/index.action获取旧版本的iOS开发者下载。不过需要一个开发者账户。 - Tony K.
我正在寻找一种方法,使用iOS 6 SDK构建一个可以在3G上运行的捆绑包。目前,iOS SDK 6需要Xcode 4.5,而Xcode 4.5不再支持armv6。 - Franz van der Steg

1

是的,有解决方法。如果您需要真正利用新的iOS 6功能,请尝试前面几个答案之一(相关问题链接)第一个答案需要同时使用Xcode 4.4和4.5。如果您永远不想打开Xcode 4.4,那么请使用第二个答案

如果您只想能够在Xcode 4.5中构建可在armv6、armv7和armv7s设备上运行的可执行文件,而不实际利用新的iOS 6 SDK API,则可以查看我对另一个问题的回答,这更简单...但有一个限制,即您无法在iOS 6设备上利用新的iOS 6功能。


1
我在chpwn的博客中找到了另一个解决方案:Xcode 4.5上构建armv6
这使您可以使用Xcode 4.5进行工作,但使用5.1 SDK进行编译。 缺点是:使用此技巧时无法使用iOS 6 SDK,并且无法构建armv7s。

1
不幸的是,chpwn没有提到一个重要的步骤,这个步骤最初让我困惑了。我还必须定义一个自定义的构建规则。详细解释请参见我的答案。此外,armv7可执行文件将在armv7s上运行,只是没有新的armv7s改进/优化的好处。 - Nate

-1
你可以将字符串"armv6 armv7"添加为架构。不要选择预定义的设置。

3
这个方法不起作用。你可以在架构选项中输入 armv6 armv7,但是(除非有其他步骤没有提到),否则 Xcode 4.5 将无法为 armv6 构建可执行文件。 - Nate
在XCode 4.1/4.2中,他们将armv6作为默认设置删除了,但通过像@user1689643所说的重新添加到项目属性的“Architectures”,它将实际构建armv6架构。现在在XCode 4.5中,这个技巧以及将其添加到“Valid Architectures”的列表中仍然不起作用,你将会得到一个构建警告warning: no rule to process file '$(PROJECT_DIR)/mypath/mysrcfile.c' of type sourcecode.c.c for architecture armv6。看起来XCode.app(v4.5)已关闭了对armv6的支持,您需要旧版的XCode才能构建此架构片段。 - Josh Peak
1
@NeoZenith,我终于想出了如何做到这一点,而不需要保留旧的Xcode。解决方案在此发布 - Nate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接