可以仕则仕,可以止则止,可以久则久,可以速则速。

Deer_GF之IOS出热更包

Hi,今天介绍一下Deer_GF_Wolong,框架基于HybridCLR热更新技术,出IOS热更包
首先我们需要准备的工作:
环境:Mac
Unity 版本 2021.3.1f1c1
热更方案:HybridCLR 热更 HybridCLR官方文档
在此ios出包之前,默认大家已经对Deer_GF_Wolong 已经了解,已经可以构建ab资源在Win平台上正常热更。

接下来我们就开始构建ios包步骤介绍:

  1. 首先安装最新的hybridclr环境,以及【hybridclr_unity】Unity sdk 包,安装步骤,这里不再赘述,请移步到 hybridclr安装

  2. 请查阅官方文档 Unity版本相关特殊操作,因为我们用的Unity 版本是 2021.3.1f1c1,所以我们需要对hybridclr安装需要特殊处理。作者给我们提供的是2021.3.1f1,我们现在用的是c1版本,所以我们现在开始手动制作image

  3. 找到UnityEditor.CoreModule.dll反编译修改,首先打开Unity Hub 找到Unity对应版本点击⚙️,在Finder 中显示
    image

  4. 选中Unity图标打开显示包内容
    image

  5. 压缩Contents/Managed/UnityEngine 文件夹,然后传到windows系统环境中。
    image

  6. 请移步到官方文档中查看修改Unity编辑器相关dll
    注意 在用dnspy保存模块时候,要仔细看作者说的,如下图,不然就会报错 There's not enough bytes left to read
    image

  7. 版本对应修改好的UnityEditor.CoreModule.dll 在项目【HybridCLRData~Data\IOS相关\2021.3.1f1c1】文件夹下,可以直接拿去覆盖掉Unity{Editor安装目录}/Editor/Data/Managed/UnityEngine的UnityEditor.CoreModule.dll 如下图:
    image

  8. 注意,注意,注意替换完dll文件重新打开Unity及项目。。

  9. 构建ios包,中间出现错误,是Untiy提示的错误
    小1. LocationService class is used but Locations Usage Description is empty. App will not work on iOS 10+. 如果出现此错误,就到PlayerSetting添加定位描述,如下图:
    image

  10. 出包成功之后我们可以看到如下图:有了很多aot原数据补充dll文件,,如果不反编译修改UnityEditor.CoreModule.dll,如下这个目录不会出现这么多aot补充原数据dll文件,如下图:
    image

  11. 构建ab资源,把构建好的ab资源上传到cdn里
    image

  12. 在DeerSetting里设置cdn信息
    image

  13. 修改Resources组件ResourceMode 模式为 Updatable模式,如下图:
    image

  14. 再次构建IOS xcode项目

  15. 生成 【libil2cpp.a】文件,相关教程请移步官方文档:IOS平台打包
    生成过程中会报错,提示缺少 cmake command 我们去下载一个就可以cmake下载地址,cmake安装教程请移步cmake 安装图文教程 ;由于需要梯子,下载速度较慢,也可以用框架项目里下载好的安装包去安装,位置目录如下图:
    image

  16. 打开xcode项目,替换【libil2cpp.a】文件,然后生成app,到此,ios出包完成!

  17. 修改项目中的资源和脚本,重新构建ab资源上传到cdn体验热更。祝君成功。。。

欢迎大家体验Deer_Gameframework_Wolong出ios热更包。

      框架介绍请移步【Deer_GF之框架介绍】

出包报错可能有下面几个注意的:
  1. Api Compatibility Level 需选择如下图:
    image
posted @ 2022-11-03 18:58  AlanDu  阅读(1301)  评论(0编辑  收藏  举报