Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)

最近遇到一个很诡异的问题,从AssetBundle加载预设实例化,在Win、Android、Mac上都正常,但是打到iOS真机上,就会闪退

打AssetBundle的代码如下

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第1张图片

把cube打到test.bundle中

然后去加载它并实例化

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第2张图片

在mac上运行效果如下:

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第3张图片

然后发布到iOS真机上,运行,闪退了

用XCode调试,堆栈如下:

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第4张图片


最后得到Unity官方工程师的解答:

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第5张图片

Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)_第6张图片


困惑了好久的问题,终于解决了,现在回想这个过程,还是因为自己不够仔细,log里已经说明了,自己没有留意到

要好好吸取教训,再次感谢耐心解答的所有Unity爱好者,大家一起进步,加油


补充:

Strip engine code在build setting的other setting中,勾选可以让代码进行压缩,自动不打包没有用到的代码,比如一个2DUI游戏没有用到Rigidbody等物理类的组件


你可能感兴趣的:(unity3D,Unity3D)