苹果审核通过后包体大了200多MB!都是Xcode 7的错?

文/游戏陀螺 Echo

前几日,好玩123向游戏陀螺透露,他们公司旗下的游戏《战龙之刃》在苹果审核通过后,包体增大了200多MB,整整大了一倍多,原本打包后只有227 MB,但在苹果审核通过后,手机App Store显示的是466 MB,PC端iTunes显示的是279 MB,他们下载看该游戏最终的大小是多少,无奈发现实际大小就是466 MB。

他们当时都要急疯了。要知道游戏包体大小对买量成本、下载转换等影响很大,包体越大,单个用户购买成本越高,而下载的可能性越低,在内存不够的情况下,卸载的几率也更大,这无疑在增加发行商的成本。

所以问题出现后,他们第一时间跟苹果沟通,但苹果回复,提审后,会加密和重新压缩,是会比打包时大一点。好玩123告诉游戏陀螺,PC端iTunes显示的大小是279 MB,他们认为这是可接受的范围,但最终的实际大小是466 MB,这是无论如何也无法接受的。

跟苹果沟通的同时,好玩123也积极在海外寻找答案,他们发现其实海外也出现了类似的问题,而且包体大小会因不同机型而不同,下面这个开发者表示,本来只有9 MB大小的app,在iPhone 5s上显示是30 MB,在iPhone 6却是60 MB:

他们疑似是因为用Xcode 7的原因:

也有人反馈是BitCode引起的,据了解Xcode7默认会开启Bitcode,该网友建议关闭BitCode:

好玩123解释,《战龙之刃》确实是用Xcode 7打包的,所以他们尝试用Xcode 6打包,看是否能修正这个问题。事实证明,他们用回旧的版本打包后,大小从466 MB回到276 MB,也就是一个正常的范围,算是解决了这个问题。

虽然这个事件目前并没有大范围的出现,但游戏陀螺发现榜单上另外一款手游似乎也出现了类似的问题,该游戏PC端iTunes显示的大小是185 MB,但手机App Store显示的大小却是361 MB,大了整整一倍。

而在苹果论坛,有人也问了类似的问题,这个开发者的app通常情况下70 MB左右,但是用了Xcode 7 和iOS 9,提交审核时得到一个提示“该app 包体超过100 MB”,他表示他并没有启动bitcode,他也想不到其它可以让包体变大的原因。

苹果也回复此问题,提到使用xcode 7包体会变大的原因,主要意思如下:

“用Xcode 7打包,什么会引起IPA的大小的变化?Bitcode 和 Swift 2 libraries。

如果app包括Swift 2代码,那么Swift 2 frameworks与最终app是绑定的,包含了libswiftCore,而这个也包括了iOS所有设备的 architectures — armv7, armv7s, and arm64。而且,Swift libraries也包含 Bitcode(即使你的App关闭了Bitcode)。如果这个app包含了一个watchOS 2 app,那么第二个libswiftCore就会出现在 watch app中,与 armv7k architecture和Bitcode也是绑定的。

Objective-C 的app如果启动了Bitcode(watchOS 2必须包含Bitcode, iOS不强制),如果app没有Swift libraries,那么Bitcode也会导致IPA大小变大,但是幅度会更小。”

虽然目前好玩123使用旧的Xcode版本解决了此问题,但苹果官方并没有正式公告说是因为Xcode 7引起的,所以目前此问题尚无定论,游戏陀螺也会继续关注此问题的发展。

附苹果论坛原文回复:

游戏陀螺

关注泛游戏产业,为游戏创业者服务

网站

官网 | youxituoluo.com

英文 | gamegyro.com

日文 | jp.gamegyro.com

合作联系

(0)

相关推荐