表现:
打包出来的ipa在腾讯的wetest的ios预审中报以下错误。

最主要的就是这个【dlopen】【dlsym】,据公司的测试姐姐说这是苹果严打的对象。那么怎么从项目中找到问题代码并修改呢?
解决方案:
1.首先确定空项目是否会报错。

可以看到空项目是没有这两个问题函数的。
2.下一步就是把项目中怀疑的文件拖到空项目中逐一去检测,导出的包是否有问题。如果没有什么重点怀疑对象,就采用二分法,一次拖一半的文件。
在这个过程中还比较顺利的,二分了多次,最后定位到一个插件上TextFX的具体一个脚本上【EffectManager】。下图就是我在空项目中添加文件的所有测试(PS:腾讯WeTest平台上用学校邮箱或者企业邮箱可以得到ios预审50次的额度)。最后一次是已经fix好的项目,不再报dlopen了。

博客讲述了在Unity项目打包时,因调用苹果禁止的dlopen和dlsym API导致预审失败的问题。通过逐步排查,发现问题源于TextFX插件中的EffectManager脚本,具体是读取XML文件的操作。解决方案是注释掉相关代码,成功解决了预审错误。同时,博主建议在项目中搜索"System.IO"以快速定位类似问题,并推荐使用插件的最新正版。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



