Unity游戏开发接入UWA_GOT的iOS版SDK以后无法正常出包

Posted 马三小伙儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity游戏开发接入UWA_GOT的iOS版SDK以后无法正常出包相关的知识,希望对你有一定的参考价值。

一、正文

问:

  RT,最近有看到UWA_GOT工具新增了ios版本的支持,于是下载了最新的工具包进行了接入测试。是按照文档直接将UWA_GOTv2.0.1_iOS.unitypackage导入进了Unity项目内,并且做了配置。但是发现添加了UWA_GOT插件以后iOS上不能正常出包,总是卡在xcodebuild archive这一步:报错信息如下:

** ARCHIVE FAILED **


The following build commands failed:
    Check dependencies

  我们打的是Distribution包,是否跟这个有关系?已经确认就是添加了UWA_GOT插件以后引起无法打包的问题,因为在移除了SDK以后可以顺利出包了

答:

  自问自答,解决了,是被上面的报错信息混淆了视听。之前因为打包机环境比较复杂,有的时候不能得到真正的报错位置。而且同时还要不停地有出包任务,不好做调试。所以今天单独在一台纯净的Mac上面模拟了打包环境,并接入UWA_GOT的iOS版SDK,测试了以后有以下发现:

  1. 导出xcode工程并且在xcode中直接build不会报错。
  2. 导出xode工程,然后在xcode中执行Build Archive会报错

报错信息类似于下面这样:

ld: bitcode bundle could not be generated because
 \'/xx/libuwa.a\' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

  这样就比较好解决了,原因是如果一个工程里面有静态库的引用,那么所有的静态库也需要打开Bitcode后重新编译。这一切在直接Build的时候都没有问题,但是在“Archive”的时候就会报错。我们在出iOS包的流程是先Build Archive 然后在export Archive导出ipa,因此就会出现问题了。
  解决方法比较简单:我是直接在执行xcodebuild命令的时候把EnableBitcode设置为NO了,类似于下面的命令:

xcodebuild -target <your target> -configuration <your configuration> **ENABLE_BITCODE=NO**

  看网上还有一种解决办法是不关闭bitcode,然后在执行xcode build命令的时候带上:

OTHER_CFLAGS="-fembed-bitcode"

  参数,后面这种没有试过不知是否奏效。希望可以帮助到大家。

 

 

 

 

如果觉得本篇博客对您有帮助,可以扫码小小地鼓励下马三,马三会写出更多的好文章,支持微信和支付宝哟!

       

 

作者:马三小伙儿
出处:https://www.cnblogs.com/msxh/p/11963760.html 
请尊重别人的劳动成果,让分享成为一种美德,欢迎转载。另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论!

  

以上是关于Unity游戏开发接入UWA_GOT的iOS版SDK以后无法正常出包的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)

Unity与IOS⭐二Unity接入IOS版百度语音:语音唤醒

Unity与IOS⭐二Unity接入IOS版百度语音:语音唤醒

unity接入quick sdk报错总结(ios版)

unity破解版开发的游戏能上传到苹果商店吗

教你高速高效接入SDK——Unity统一接入渠道SDK(Android篇)