在应用商店应用程序中同时支持armv6和iOS 6



由于Xcode 4.5,我们无法为armv6构建,因此无法再支持iPhone 3G等设备。

可以使用Xcode 4.3生成一个正确签名的armv6二进制文件,然后使用lipo将该二进制文件和Xcode 4.5生成的armv7二进制文件组合成一个胖二进制文件吗?

我该怎么做?有人知道好的教程吗?

是否允许将生成的胖二进制文件提交到应用商店?

使用lipo修改二进制文件后,代码签名将不再匹配。因此,捆绑包之后需要重新进行代码签名。

使用Xcode 4.4甚至更早版本构建的应用程序在iOS 6设备上仍然运行良好;有报道称,苹果仍在接受使用iOS 5.1 SDK构建的应用程序。

Objective C将允许您通过Objective C运行时按名称调用旧链接框架中没有的一些新API。(当然,应用程序应该首先检查其在当前设备上的可用性!)

您甚至可以通过简单地包含568@2xtall应用程序包中的默认图像,并正确设置应用程序的所有窗口和视图大小以及调整属性大小。更新:苹果不再接受以这种方式构建的应用程序提交到iTunes应用商店。

添加了:另一个潜在的解决方案是将您的开发分成两个类似的应用程序。一个适用于iOS 4.3及更高版本。还有一款适用于iOS 4.2.x及更低版本,不支持iOS 6和iPhone 5。应用商店中有两个不同的应用。然而,目前还不知道苹果是否会允许这样做。

似乎有人想出了如何做到这一点,请参阅这个SO问题。

不过我自己还没有测试过。

最新更新