在App Store应用程序中支持armv6和iOS 6?

由于Xcode 4.5,我们无法构buildarmv6,因此无法支持像iPhone 3G的设备了。

是否有可能使用,例如,Xcode 4.3生成一个正确签署的armv6二进制文件,然后使用lipo将该二进制文件和Xcode-4.5生成的armv7二进制文件合并为一个胖文件?

我将如何去做这件事? 有谁知道一个很好的教程?

将由此产生的胖二进制文件提交给App Store?

使用lipo修改二进制文件后,代码签名将不再匹配。 所以这个捆绑包需要在之后被重新devise。

使用Xcode 4.4甚至更早的版本构build的应用程序仍然可以在iOS 6设备上正常运行。 据报道,苹果仍然接受使用iOS 5.1 SDK构build的应用程序。

Objective C允许你使用一些不属于旧链接框架的新API,通过名称来调用Objective C运行库。 (当然,应用程序应该首先检查当前设备上的可用性!)

你甚至可以从早期的Xcode和pre-iOS-6 SDK中支持新的iPhone 5显示,只需在应用程序包中包含一个568 @ 2X高度的默认图像,然后设置所有应用程序的窗口和视图大小并正确调整属性。 更新:苹果公司不再接受以这种方式构build的应用程序提交到iTunes应用程序商店。

补充:另一个可能的解决scheme是将你的开发分成两个类似的应用程序。 一个用于iOS 4.3及更高版本。 还有一个适用于iOS 4.2.x或更低版本,不支持iOS 6和iPhone 5。 app store中的两个不同的应用程序。 然而,苹果是否会允许这一点是未知的。

似乎有人想出了如何做到这一点,看到这个问题 。

虽然我还没有testing过。