iOS - 提审报错 ITMS-90809: Deprecated API Usage - UIWebView

iOS 提审时,收到回复邮件:

ITMS-90809: Deprecated API Usage - Apple will no longer accept submissions of new apps that use UIWebView as of April 30, 2020 and app updates that use UIWebView as of December 2020. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

就是说,2020/4/30 以后不再接受使用 UIWebView 应用程序,解决方案是可以使用 WKWebView 代替。

解决过程如下:

  1. 在项目中全局搜索 UIWebView ,并且替换为使用 WKWebView 。
  2. 确定全部替换完成,并且没有错误。
  3. 再次打包,提交审核。
  4. 几分钟后再次收到同样的回复邮件。。。(。。明明已经搜索不到了啊。。。)
  5. 各种搜索解决办法,但是毫无头绪;
  6. 突然先到,项目中使用了很多第三方代码,会不会是第三方的 .framework 或 .a 文件中有 UIWebView 。
  7. 但是,怎么查看 .framework 和 .a 文件中有没有使用 UIWebView 呢?
  8. 找到可以使用 Linux 命令 grep -r 去查找某个目录下含有关键字的文件,使用方法如下:
    # 进入项目目录
    $ cd directories
    # 查找当前目录下,所有含有 UIWebView 的文件
    $ grep -r UIWebView .
    
  9. 发现确实是某个 .framework 文件中含有 UIWebView 。
  10. 再次对该 .framework 进行替换。
  11. 终于没问题,可以进行发布了。

你可能感兴趣的:(iOS,报错)