关于部分Unity发布IOS报错的解决办法

近期前公司的一直在用Unity开发只发布Android的项目,现在想发布IOS项目,遇到了一些问题在此分享以下。用Unity做项目就免不了接入不少第三方插件,有的时候只实现了安卓方面的功能。但是不少第三方插件都是同时支持Android与IOS,甚至有些第三方插件直接写好了IOS交互的API。如果只接入Android部分,不接入IOS,很大概率Xcode是无法编译过得。

有以下原因

  1. Unity版本不支持发布的Xcode版本,详情请查阅Unity官网每一个Unity版本的发行说明
  2. Unity发布IOS的Target SDK选项是是模拟器而你要跑的是真机
  3. Unity没有完全接入IOS的插件功能,比如指定xxx.framwork、指定xxx.a文件没有引入,造成的编译无法通过。

以上问题的解决办法

  1. 详细阅读Unity官网的版本发行说明
  2. 选择对应的发布模式
  3. 将Unity的IOS插件接入完全,或者完全抛弃

下面说下如何解决没有接入IOS导致的编译失败

  1. 第一个解决办法就是按照插件文档一步一步来(挖个坑日后填坑,日后会写一篇详细的Unity与Android和IOS交互的文章)
  2. 第二个解决办法就是讲插件IOS功能完全放弃

在Unity脚本中搜索 [DllImport ("__Internal")]如果该行代码以下的接口没有在Xcode的OBJ-C中实现(有的接口需要自己实现,有的接口在第三方插件的xxx.a文件中),编译是无法通过的,需要手动在Unity脚本中注释掉[DllImport ("__Internal")]以下的代码,还有调用该代码的地方,这样就可以成功编译通过了。

在此安利一发,几个比较实用的Unity第三方插件

1.Bugly——一款追踪Carsh插件,可以及时将移动端的崩溃信息上传到网上,包括崩溃日志和崩溃线程等。

2.XUPorter——Unity发布IOS自动化脚本,Unity编译至Xcode工程后自动添加文件和库。


版权声明:本文为tj134679258原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。