ITMS-90809: Deprecated API Usage UIWebView SADSWebPlayerView

ITMS-90809: Deprecated API Usage UIWebView SADSWebPlayerView_第1张图片

代码中有包含 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预审。

ITMS-90809: Deprecated API Usage UIWebView SADSWebPlayerView_第2张图片

拖进去就可以,等待上传,以及生成报告。查看检测出来UIWebView的相关敏感字详细信息:

ITMS-90809: Deprecated API Usage UIWebView SADSWebPlayerView_第3张图片

发现是 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库文件进行分离重新合成的操作,说不定以后能用到

 

你可能感兴趣的:(IOS)