从Xcode 4.5开始,我们无法为armv6构建,因此无法再支持iPhone 3G等设备.
是否有可能使用Xcode 4.3生成一个正确签名的armv6二进制文件,然后使用lipo将该二进制文件和Xcode-4.5生成的armv7二进制文件组合成一个胖文件?
我怎么会这样呢?有谁知道一个很好的教程?
解决方法
使用lipo修改二进制文件后,代码签名将不再匹配.因此捆绑包需要在之后重新编码.
使用Xcode 4.4甚至更早版本构建的应用程序仍可在iOS 6设备上正常运行;并且有报道称Apple仍在接受使用iOS 5.1 SDK构建的应用程序.
Objective C允许您通过名称通过Objective C运行时调用它们来使用不在旧链接框架中的一些较新的API. (当然,应用应首先检查当前设备的可用性!)
您甚至可以通过在应用程序包中包含568 @ 2x高的默认图像,以及正确设置所有应用程序的窗口和视图大小以及调整属性大小,从早期的Xcode和iOS-6之前的SDK支持新的iPhone 5显示.更新:Apple不再接受提交到iTunes App Store时以这种方式构建的应用程序.
添加:另一个可能的解决方案是将您的开发分成两个类似的应用程适用于iOS 4.3及更高版本.一个适用于iOS 4.2.x及更低版本,不支持iOS 6和iPhone 5.应用商店中有两个不同的应用.然而,不知道Apple是否允许这样做.