由Unity5.3.3f1引发的一场血案

昨天在公司发生一场由Unity5.3.3f1引起的血案,这件事让我深刻认识到Unity5.X到底有多坑啊!

事情的经过时这样的,我去客户公司拿IPad Air回公司进行测试和发布,我帮客户的IPad Air申请了测试权限后,就等着发布测试程序。然后我随便找了一个简单的小程序就试着测试发布安装到IPad Air里面,看到可以进行真机调试后就没有管了,等同事发布了项目工程文件后,我在MAC就进行了真机调试。当程序构建完毕装到客户的Air里面去后,神奇的事情就发生了,程序中的模型不见了,粒子系统也罢工了,更加申请的事就是,就是程序的其他功能都是完整可以运行的,但是就是模型和粒子全部都没显示出来。最最最重要的事情是!!!XCode没有报任何错误...除了一些警告以外全是都正常的...(PS:这种问题是最蛋疼的因为没有报错,所以需要自己去Log来找到核心的问题所在)

我想起来了最新的XCode不支持32位的发布和上传的,我们的项目是用32位来发布的工程文件。转化成5.3.3f1X64发布了一个项目工程过去真机调试一下,还是老样子。之后我和同事想了想是不是Window发布项目导致的问题?因为之前也遇到过这种问题,所以就试着用MAC来发布出来工程试试。等待漫长的发布后,我和同事都自信满满的认为这次肯定一定不会出问题的。但是....还是老样子!!!!!

之后我去弄别的项目调试,我同事试了各种办法都是一个老样子,快下班的时候他发现了一个问题,程序转到后台转回来后发现久违的模型居然出现了,他看了看XCode的调试Log发现了异步加载场景超负荷,我和同事就觉得不可思议,我们公司是用IPad4都可以加载进去完美运行,air性能比IPad4要好怎么可能会出现异步加载场景超负荷,然后同事就开始改代码,看看是不是这个问题,然后我就感觉不对劲性能更差的IPad4都可以完美运行,Air不可能用不了的说啊,查了查Air的和IPad4发现它们的CPU架构是有区别的,Air是用ARM64的而IPad4是用ARM7s的,我再去看看Unity和XCode上的设置都是全选的状态,那表示不是设置问题咯。

之后同事弄的一起方法都是失败的,我感觉整个人都好像被掏空的样子,就尝试一下用我的电脑发布一个试试。发布出来后转到MAC进行真机测试,这时我同事又发布了一版进行测试,那时候我在想要不要停止我的项目发布他的试试,但是看到进度条就觉得反正都要等了,不怕再让他等会。然后神奇的事情发生了,我们盼望已久的模型和粒子系统都出现了,而且非常流畅完美运行。同事和我非常惊奇!然后问我你改哪里了,我说PlayerSetting那里改了一下设置也就是改了一下 IPhone+IPad 改成了IPad Only,这个肯定不问题所在。然后想了一下我和他最大的区别就是unity版本的问题,同事是用5.3.3f1而我是用5.3.3p3的。这是我和同事说该不会是版本的问题吧。之后我发了给同事安装5.3.3p3,最后的结果就是,果然是Unity的版本问题。(PS:这个问题花了我同事一天的时间去搞)


(PS:这里是本人的个人猜测,会出现这种问题的原因大概是由于XCode的版本更新了,而5.3.3f1的IOS发布器的SDK并没更新 ,而且5.3.3p3刚好更新了这个SDK的问题,所以才能正常发布运行。如果XCode版本更新了,Unity也会出对应的更新,就好比Unity4.X在5月31日也更新了4.7.2版,看了一下主要也是更新了Ios的问题,所以这里要给广大Unity开发者提个醒,Unity5.X一般较为稳定的是补丁版本,IOS的发布和上传都要使用最新的XCode,如果XCode更新了最好看看Unity有没有跟着更新,否则会出现一些非常奇葩的问题)

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值