【发布时间】:2012-09-10 14:10:45
【问题描述】:
从 Xcode 4.5 开始,不再提供为 armv6 设备构建的可能性(第 1 代和第 2 代 iPhone/iPod touch)。这意味着我们的 iPhone 2G 和 3G 应用程序没有新版本,这是非常不幸的。有谁知道是否会有解决方法?我真的没有看到任何技术原因。
【问题讨论】:
从 Xcode 4.5 开始,不再提供为 armv6 设备构建的可能性(第 1 代和第 2 代 iPhone/iPod touch)。这意味着我们的 iPhone 2G 和 3G 应用程序没有新版本,这是非常不幸的。有谁知道是否会有解决方法?我真的没有看到任何技术原因。
【问题讨论】:
您可以安装多个版本的 xcode。在过去,这是需要使用较旧的 xcode 功能的修复程序。
这是一种解决方法,项目文件最终可能会以不再支持旧工具的方式发展,但目前允许您为旧目标构建。
如果您想在两个 XCode 版本中使用一个项目,那么您最终可能不得不通过源代码控制技巧和/或文件改组来管理单独的项目控制文件。
我还建议通过旧版本进行项目结构更改和二进制文件管理(例如 Core Data 模型),因为 XCode 4.5 将向后兼容,但很少保证向前兼容。
【讨论】:
您可以添加字符串“armv6 armv7”作为架构。不要选择预定义的设置。
【讨论】:
armv6 armv7 作为您的架构,但是(除非您没有提到其他一些步骤),这不会在 Xcode 4.5 中为 armv6 构建可执行文件。
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 来构建此架构切片。
我在 chpwn 博客中找到了另一个解决方案:Building for armv6 in Xcode 4.5。
这允许您使用 Xcode 4.5 但使用 5.1 SDK 进行编译。
缺点:使用这个技巧时不能使用 iOS 6 SDK,也不能为 armv7s 构建。
【讨论】:
是的,有一些解决方法。如果您需要真正利用新的 iOS 6 功能,请尝试前几个答案to this related question 中的任何一个。 The first answer 需要同时使用 Xcode 4.4 和 4.5。如果你不想打开 Xcode 4.4,then use the second answer。
如果您只是希望能够在 Xcode 4.5 中构建一个可在 armv6、armv7 和 armv7s 设备上运行的可执行文件,而无需实际利用新的 iOS 6 SDK API,那么您可以can see my answer to another question,这要简单得多.. . 但有一个限制,即您无法在 iOS 6 设备上使用新的 iOS 6 功能。
【讨论】: