升级到Xcode12打包问题

其实我从xcode12 beta版本,就开始了测试,但是因为beta版本打包是不允许上线appstore的,所以当时知道CocosCreator打包会有一些问题,但也没注意,想着正式版会解决。如今看来,还得靠开发者自己来了。

问题原因——v8编译问题

因为v8不支持32位cpu,即不支持armv7,之前能打包的原因是cocos官方做了一些处理,具体可以看论坛讨论,当然官方提出的方案已经能解决问题了,我这边结合自己的上线经验重新整理下操作步骤。

操作步骤

去掉armv7

我们先不去掉,直接打包看下效果(运行的话,现在的手机基本是arm64,所以看不出效果)

这个意思了,也很简单就是v8不支持这个架构,官方提供了.a替换,如果你不需要再支持32位设备的话,其实你真的不需要,那么你可以直接去掉armv7的编译。

  1. 点击项目的Build Setting, 搜索VALID_ARCHS,然后去掉armv7选项。
    PS: 简单点,直接搜索arm就可以了
  2. 点击libcocos2d iOS的Build Setting, 那个单词太长了,直接搜arm吧,然后去掉armv7选项。
  • 注意:debug和release都删掉就行了,即直接删,不用区分debug和release
  1. 再次打包,发现可以了。

模拟器打包

好了,要提审了,要截图,真机不够,模拟器来,运行。

流畅的下来,发现呵呵,报错了,一看不支持x86,好吧,因为mac以后要用arm芯片,居然直接把x86架构给删除了,没办法,他删除,你就加上了,重复上面的步骤。不过不一样的是,x86其实我们只是用来模拟器运行,所以只在debug下面添加就可以了。添加效果如下。

END

可以愉快的打包、运行了。

关于删除VALID_ARCHS的结论:

删除的确可以解决问题,但是如果你集成了一些sdk,在x86的机器上(模拟器)可能还是会报错。