代码中有包含 UIWebView的代码,需要去掉。否则上传苹果审核的时候会上传失败。
删除UIWebView总结:
Unity版本不能用2018.4.19国内版本,4.12和4.23测试可行。
检测库中包含的UIWebView最好是到xcode源工程目录下搜索。
记录一下修改过程:我们项目是用unity20180.4.19生成的ipa。
第一次修改:
1.打开vs先搜索C#代码,去掉UIWebView相关的逻辑。
2.用superfinder搜UIWebView ,搜索目录 ios插件,能所搜出来mm .a ,去掉或者注释掉。
以为没有了,再次上传还是有说有错误。
第二次修改:
通过一个网站看到是https://www.quicksdk.com/,上传包可以检测ios预审。
拖进去就可以,等待上传,以及生成报告。查看检测出来UIWebView的相关敏感字详细信息:
发现是 Unity引擎中的libiPhone-lib.a 中包含的上述的文件。
所以打了个空工程(排除一下项目本身的设置)还是检测出来上述的文件。
所以换了Unity版本2018.4.12 和 2018.4.23,同样是空工程生成ipa,没有检测出UIWebView的敏感字。所以把项目用2018.4.23出了个包
(用2018.4.23导出的时候,出现了一个 UnauthorizedAccessException: Access to the path“”is denied ,找到提示路径,设置一下权限就可以了。
项目本来调用c#脚本在Editor Batch模式进行打包的,但是为了确保导出xcode是没有问题的,最好是先手动在Editor界面中Buildsetting中进行build,及时看错误。
)
(国产的unity版本里可能多包了一些东西导致这个问题,国产4.23版本好了,
或者直接从unity官网下载国外的unity安装包对应的4.19的Unity版本:需要翻墙
https://unity3d.com/unity/whats-new/2018.4.19f1
https://unity3d.com/unity/whats-new/2018.4.19f1
)
打出来的包,到sdk官网检测以后发现已经没有UIWebView的敏感字了,放心的上传了。
结果,再次上传还是有说有错误。
第三次修改:
在MAC版本机上查看,打开项目的xcode工程,Product目录下,找到app,右键查看包内容,cd到那个目录下,执行命令
grep -r UIWebView .
确实是有找到,是可执行文件。
所以cd到xcode源工程下,执行命令:
grep -r UIWebView .
确实是又找到一个.a库,是项目中的库,包含了UIWebView。(可能是之前windows上搜索(用的superfinder)漏掉了看走眼了,然后检测网站也没有检测出来就觉得已经没有了)
这次修改完成功上传了。
(查找某个文件 nm XXX.a | grep UIWebView 大小写要对)
参考
https://zhuanlan.zhihu.com/p/138122226
虽然跟我遇到的问题不一样,但是对.a库文件进行分离重新合成的操作,说不定以后能用到