【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 
请尊重别人的劳动成果,让分享成为一种美德,欢迎转载。另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论!

  

posted @ 2019-11-30 20:11  马三小伙儿  阅读(504)  评论(0编辑  收藏