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

时间:2012-09-25 00:51:40

标签: ios xcode app-store

从Xcode 4.5开始,我们无法为armv6构建,因此无法支持iPhone 3G等设备。

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

我该怎么做?有谁知道一个好的教程?

是否允许生成的fat二进制文件提交到App Store?

2 个答案:

答案 0 :(得分:5)

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

使用Xcode 4.4甚至更早版本构建的应用程序仍可在iOS 6设备上正常运行;并且有报道称Apple仍在接受使用iOS 5.1 SDK构建的应用程序。

目标C将允许您使用不在旧链接框架中的一些较新的API,通过名称通过Objective C运行时调用它们。 (当然,应用应首先检查当前设备的可用性!)

您甚至可以通过在应用程序包中添加568 @ 2x高的默认图像来支持早期Xcode和iOS-6 SDK之前的新iPhone 5显示,并设置所有应用程序的窗口和视图大小以及调整属性大小正常。更新:当提交到iTunes App商店时,Apple不再接受以这种方式构建的应用程序。

增加: 另一个可能的解决方案是将您的开发分成两个类似的应用程适用于iOS 4.3及更高版本。一个适用于iOS 4.2.x及更低版本,不支持iOS 6和iPhone 5。应用商店中有两个不同的应用。但是,不知道Apple是否允许这样做。

答案 1 :(得分:0)

似乎其他人想出了怎么做,请参阅this SO question

但我自己还没有测试过它。