Unity加入广告SDK打包IOS工程报错的经验记录
最近开始要为之前开发的Unity小游戏植入广告SDK了,在打包的过程中,遇到一些比较糟心的情况,下面记录一下我遇到的问题以及解决的方法。
1、iOS framework addition failed due to a Cocoapods installation failure. This will will likely result in an non–functional Xcode project。
这个错误的主要问题是因为Cocoapods安装框架失败了,原因可能有两个地方:
1、Cocoapods的问题,那么请参照以下链接进行重装Cocoapods的操作。
https://blog.csdn.net/iningwei/article/details/106769933
2、路径问题。导包的工程路径不能带中文,我就是因为这个问题,结果找了一天的资料都没能解决,后面尝试性的去掉中文,在没有中文的地方(可能中文标识符也会算)重新打包,最后打包成功(当场逝去,不熟悉Cocoapods的猿某人)。
2、运行Xcode时,游戏崩溃,报Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)的错误但输出控制台没有variable may not be available。
这个错误是因为有某个值或者某个参数为空,基本上遇到这个错误,你跑不了要忙活一阵子了(直接使用Xcode编写代码的不算),先放点网上找的经验。
1、启用僵尸模式查找错误定位,链接在下面:
https://blog.csdn.net/Deft_MKJing/article/details/53117341
根据步骤看下是否能找到报错的代码,但使用Unity打包的人基本上就找不到的了,因为问题不是出在Xcode的代码上。
2、老老实实回去检查Unity的代码,也许你Unity运行的时候确实成功了,但是因为部分Unity的代码为空时,没有使用到他不会报参数为空的错误,所以觉得不会有问题,但往往就是这个被忽视的地方引来了Xcode运行的崩溃,解决办法:①Unity中逐步调试。 ②在每个使用了Start函数的脚本的Start方法内你认为可能出现错误的地方加Debug.Log()然后导出到Xcode看哪个地方没有输出Debug.Log(),然后再去逐步调试。(以上是我自己使用的方法,欢迎大佬分享更多的方法。)
3、运行Xcode时,游戏崩溃,报Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)的错误,输出控制台有variable may not be available的错误提示。
这个错误讲的是Unity框架在转换时代码被优化导致部分变量无法使用的问题。以下是我遇到的情况,以及解决办法:
2、在Unity开发中,你使用了本地数据存储的功能,而你此时项目相较于上一版本中,本地存储的数据变量发生了改变(加了变量或者减少变量),导致你读取数据时有部分参数读取不了而报错,并且关键的一点是你在运行的设备上留有你的项目。那么遇到这种情况最简单的处理方式就是,卸载运行设备的已安装程序,然后重新运行就可以解决。
当然可能还会有更多的情况,但是我还没有遇到,对于出现上面问题的情况可能也不适合解决。如果有大佬愿意分享补充的话可以发表评论在下方,帮助我们这些小萌新少走点弯路。
以上就是我最新遇到的Unity打包Ios报错的情况。