通用二进制文件是否包含iPhone上App Bundle中的所有重磅ipadgraphics? 该怎么办?

由于iPad 3具有视网膜显示屏,因此我开始担心iPhone和iPod touch设备上的通用二进制文件中的“图像垃圾信息”数量。 显然他们不需要这些资源。

我从来没有真正检查,但也许有人知道这一点:当iPhone下载一个通用的二进制文件,应用程序商店是否自动运送一个版本,所有沉重的iPadgraphics已被剥离? 或者,iPhone或iPod touch充斥着仅在iPad上需要的内容?

有没有什么办法可以让普通的二进制“智能”,使iPad只接收iPad资源,而iPhone只接收iPhone资源?

在我的情况下,我有一个10 MB的通用应用程序。 将其升级到视网膜iPad将意味着iPod touch用户将受到两倍的文件大小的影响。

不,当您安装在不同的设备上时,应用程序包中没有任何东西被剥离。 请记住,整个事情是密码,所以没有任何东西可以被剥离或签名将是无效的。 这里的标准build议只是为了让你的客户实际上只使用你的应用程序包中的一半资源(或者如果你不在iphone和ipad之间共享资源的话,那么这个季度就是四分之一)。 如果这对你来说是一个破坏者,你可以考虑从第一次启动时在你的控制下从服务器上下载必要的资源,但请记住,这使得事情变得非常复杂,实际上是一个非常糟糕的用户体验。 你几乎肯定希望只是随着规模的增加而生活。

要做的事情就是跳过非视网膜图像,因为iOS会自动将图像从@ 2x格式缩小。 虽然这可能会造成稍微的滞后,但它是值得的,因为它会保持IPA的规模和用户的满意度。 但是,如果你正在做一个FPS非常重要的游戏,那么你将不得不硬着头皮把所有的graphics都放在那里。

真的不会有一个很好的方式来做到这一点,不会让用户恼火。 这样说,你可能只用iPhone的graphics(或根本没有),然后第一次启动它会下载所有的图像从一个服务器上运行所需的任何设备所必需的。 就像我说的那样,真的不是一个好办法。 坚持大的初始下载似乎是我认为最好的。