当前位置:   article > 正文

Xcode12 打包出错的解决方案

cordove打包不能生成armv8

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

问题原因——v8 编译问题

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

操作步骤

去掉armv7

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

fae23319640ee8a1ae9d9642d0bd52f7.png

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

  1. 点击项目的 Build Setting, 搜索 VALID_ARCHS,然后去掉 armv7 选项。PS: 简单点,直接搜索 arm 就可以了

    6bc6d8b746f11ecd4144cb9438414493.png

  2. 点击 libcocos2d iOS 的 Build Setting, 那个单词太长了,直接搜arm吧,然后去掉 armv7 选项。

    951bb893bd285a1a3e852e11951995b2.png

  • 注意:debug 和 release 都删掉就行了,即直接删除 armv7,不用区分 debug 和 release。

  1. 再次打包,发现可以了。

模拟器打包

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

415b867f29faa0e88d5df9ba052be876.png

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

6076ecd6134ccd0ed07f08bf8d384917.png

ce8b3e87dd57412b1bc866eb7197de27.png

END

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/953002
推荐阅读
相关标签
  

闽ICP备14008679号