针对iPhone4 iPhone4S iPhone5马上将要升级到64位iOS7和随之而来的APP更新。 以我一向的wintel思维,向下兼容好像挺容易理解的,向上兼容?
我刚才也想到了这几种可能,
1) iPhone5S 64位主芯片,使用的是64位iOS7。 iPhone5C iPhone5 iPhone4 iPhone4S 是32位主芯片,可以升级到32位的iOS7 那么开发者发布的APP如果是32位的话,两个版本iOS7上都可以运行,但是在64位iOS7 是否无法发挥最大的软硬件性能?开发者的选择是发布两个APP,一个32位,一个64位。 如果只发布64位APP,显然无法在32位iOS7上 运行。
2)只有一个版本的iOS7: 64位。开发者发布32位APP. 在32位,64位主芯片上都能运行。问题是:64位iOS7如果在32位主芯片上能运行,64位APP有什么理由不能在32位主芯片上运行? 这第二种可以无视之。
3) 只有一个版本iOS7:64位;APP也发布成64位的。就是标题提的问题了。
Mac早就有32位到64位的切换,很简单,OS有32和64两个版本的全部库。64位机器当然支持32位app和OS。32位机器只支持32位App和OS。
每个App都可以打包成32+64合一的文件,这个叫做FAT格式,这些对苹果来说都是驾轻就熟的,用户不会有任何感觉,开发者也没有什么难度,无非是做一个选择而已。
昨天发布会上,Infinity Blade的人说了,从32位迁移到64位只花了他们2个小时而已。
谢谢楼上的解答。 MS看懂了,也就是说,开发者在发布的时候做选择:同时支持32位和64位,还是只支持64位。如果要让自己的APP支持更多设备,肯定是选同时支持两种。这样看来,前者生成的ipa的体积应该比后者要大不少。
我记得看到过文章说Windows 64位和32位之间搞的这么复杂只是因为当时设计的问题。Unix和Linux等系统从32位切换到64位异常容易,对苹果来说Mac OS早就无缝切换到64位了,针对开发者的部分肯定也熟了,那放到iOS上肯定也不会太麻烦。