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

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

关于防止个别代码被Strip Engine Code过滤的问题
小池喵发起了问答2018-02-23
1
回复
5718
浏览

最近手头一个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条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!