Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于防止个别代码被Strip Engine Code过滤的问题
小池喵发起了问答2018-02-23
1
回复
5376
浏览

最近手头一个app在ios平台疯狂crash(Android可能也有同样问题,暂时没有测试),经过一段时间的排查发现,由于我将部分模型预制件从Resources文件夹中移除并打包为AssetsBundle,原本挂载的脚本我也改用addComponent去添加,但是在Strip Engine Code设为enable的情况下,貌似unity会认定这些待挂载脚本为无用代码(可能因为场景中和Resources文件夹中都没有引用),最终发布时并没有将其打包,最终导致调用这段代码时crash.

但是为了过滤掉无用资源使安装包尽可能小,我又不太愿意disable这个功能。所以想请教一下老师,除了一些比较野的路子(比如将待挂载脚本以disable状态挂载在一个空物体上,场景加载后销毁。从而使得脚本“强行”有用)之外,有没有什么好的方法使这些少数暂时看起来用不到的C#脚本绕开Strip Engine Code的过滤。

 

所有回复
  • 老师_Bathur 2018-02-23

    请参考WebGL平台下的解决方法

    iOS与WebGL均采用了IL2CPP来Build,勾选了Strip Engine Code后就会精简掉不用的代码,毫无疑问

    除了你提到的野路子(不得不说是个好路子啊),我们还可以通过配置文件强制包含

    为您提供了参考链接,老师这边就不详细说了

    http://blog.csdn.net/chiuan/article/details/42456805

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!