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

  

原文地址:https://www.cnblogs.com/msxh/p/11963760.html

时间: 2024-10-22 12:41:10

【Unity游戏开发】接入UWA_GOT的iOS版SDK以后无法正常出包的相关文章

Unity 游戏开发技术学生作品展2014版(完结篇)

新技术都是有周期性的,Unity 技术也不例外.如果说十年前你没有赶上C#,J2EE,嵌入式开发,那么五年前你又没有赶上Android,IOS, 那么你不要再错过这两年的Unity 了. 现在这门技术已经进入快速上升通道,未来几年即将进入顶峰... 目前国内外百分之八十的中小游戏企业都在用Unity 引擎技术,这两年已经成为中小企业游戏开发的标准技术. 我在百度(2014.09.08)键入 "unity 北京平均薪资","unity 平均薪资" 得到如下截图,当然大

Unity 游戏开发技术学生作品展2014版

Unity 技术最早是我的学生参加国内大赛使用的技术,我作为指导老师当时觉得这种技术功能非常强大且具备强大的跨平台性,一次开发多地部署的能力,而且入门非常容易,乃游戏开发之神器啊! 当时还在埋头研究XNA技术(微软的游戏开发语言)的我从而踏上了研究Unity 引擎开发的道路. (当时还是3.x 版本的天下) Unity 中国(优美缔公司)目前进入中国也已经有两年多了,为了更好的推广Unity 技术,为大陆地区技术的推广尽自己的一份绵薄之力把,  现把我教授的学生的课堂作业与实训项目拿出来给大家看

Unity 游戏开发技术学生作品展2014版(再续)

现在终于要向大家介绍"塔防" ,"消除" 与 "虚拟现实类" 游戏作品展示了,请欣赏! 沈* 同学作品: (我估计以后的塔防游戏越来越倾向于3D的开发,其真实与代入感比2D强很多!) 毛*超组(2人)同学作品: 这个作品的特点是2D消除与2D塔防的"混搭"结合上,我试玩的时候兼职手忙脚乱啊,太有难度了.估计"老外"好这口. 哈哈... 张*菲(5人)组:  虚拟现实项目. 这个项目,我比较了一下今年(201

Unity 游戏开发技术学生作品展2014版(续)

我把纯跑酷.飞机大战.赛车追逐等,归为"泛跑酷"类游戏. 以下展示此类作品,请欣赏. 张*一同学作品: 包*杰小组(3人)作品: 李*雨同学作品:   FireInSky 王*越小组(3人)作品 下篇还要介绍塔防消除与虚拟现实类作品,敬请期待!

【Unity游戏开发】不接SDK也能在游戏内拉起加QQ群操作?

一.引子 一般在游戏进行对外测试的时候都会有一个玩家QQ群,方便玩家反馈问题.交流游戏心得等.那么为了增加玩家加QQ群的欲望,可能会在游戏里面设计一个小功能,点击一下可以直接拉起手Q加群的操作,加了QQ群以后,也会自动下发一些小奖励刺激玩家.原本我以为要拉起手Q加QQ群的操作一定要接入相关平台的SDK才行,直到我详细地阅读了下腾讯官网的QQ群官方主页,我才了解到在游戏内拉起手Q发起加群的操作是如此的简单,根本不需要接入任何第三方SDK,只需短短几行代码即可轻松实现.闲言少叙,书归正文,咱们马上就

【Unity游戏开发】用C#和Lua实现Unity中的事件分发机制EventDispatcher

一.简介 最近马三换了一家大公司工作,公司制度规范了一些,因此平时的业余时间多了不少.但是人却懒了下来,最近这一个月都没怎么研究新技术,博客写得也是拖拖拉拉,周六周天就躺尸在家看帖子.看小说,要么就是吃鸡,唉!真是罪过罪过.希望能从这篇博客开始有些改善吧,尽量少玩耍,还是多学习吧~ 好了扯得有点远了,来说说我们今天博客的主题——“用C#和Lua实现Unity中的事件分发机制”,事件分发机制或者叫事件监听派发系统,在每个游戏框架中都是不可或缺的一个模块.我们可以用它来解耦,监听网络消息,或者做一些

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中应用很广泛的序列化技术Google的ProtoBuf,所以本文也是按照ProtoBuf的方式来操作的.ProtoBuf是一个开源库,简单来说ProtoBuf就是一个能使序列化的数据变得更小的类库,当然这里指的更小是相对的.好了ProtBuf的东西就不在多说,以后会专门写一篇帖子的.本帖其实就相当于上

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二) 前几天有点事情所以没有继续更新,今天我们接着说.上个帖子中我们看到已经把Excel数据生成了.bin的文件,不过其实这样到游戏中还是不能用的.主要有两个方面,1.bin文件的后缀使我们随便取的名字,但是这种文件Unity不买账.因为Unity中的二进制文件必须是以.bytes命名的.2.在写文件之前其实还可以对二进制进行压缩,这样可以最大化节省设备空间.也就是说我们在生成数据实例后还需要做以下几件事:序列化 -

Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动

Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着云层移动,影子也跟着运动,如图3-28所示. 图3-28  天空中的云朵与大地上的影子 要在游戏中,模拟与之类似的大气现象时,就需要使用cookie类型的纹理. 制作云层效果的纹理 本小节将使用PhotoShop绘制有云层效果的纹理图,然后为其添加透明度信息.具体操作过程如下: (1)使用Photo