ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebVi...

前言

今天是疫情后第一天上班,本来准备对自己负责的APP上个"船新"版本,但谁曾想刚提交到APP Store,就收到了这个报错的邮件。大概意思是从2020.4.1开始苹果停止接收使用UIWebView技术的APP上线或者迭代,之前使用UIWebView的应用可以正常使用。

虽然说不影响这次的上线,但是这个错误放在那也不是个事,所以笔者就开始着手删掉不必要的UIWebView代码。

1:删除项目中所有使用到UIWebView的代码,包括代理方法。

这一步比较简单,不再赘述。

2:删除第三方中使用的UIWebView代码。

(1):如果说这个库作者更新比较及时的话,那么你完全可以给作者提issues,等待作者更新。
(2):如果你使用的这个库如果你发现上一次更新是几年前的话,那就只能自己动手改了。改起来也很容易,先fork到自己的git仓库,然后删掉UIWebView相关代码。最后到项目的Podfile文件中把这个第三方库路径改成自己的github仓库地址就可以了。这样做的好处是,不会因为自己不经意的操作而覆盖掉修改好的代码,以后新的项目也可以直接使用。

部分第三方库解决方案(持续更新,欢迎补充)

AFNetworking:

AFNetwoking里面主要是UI组件用到了UIWebView相关的API,我想也是大多数人最可能碰到的问题。
附上解决方案:

如果说你没有使用到UI组件的话,可以将Podfile文件中的
pod 'AFNetworking', '~> 3.2.1'
替换为
pod 'AFNetworking/NSURLSession', '3.2.1'
pod 'AFNetworking/Reachability', '3.2.1'
pod 'AFNetworking/Security', '3.2.1'
pod 'AFNetworking/Serialization', '3.2.1'

最新解决方法:AFNetworking现已更新到4.0版本,除去了UIWebView相关代码,可以直接

pod 'AFNetworking', '~> 4.0'

使用到UI组件的小伙伴也不要灰心,可以关注下这个issues地址:
https://github.com/AFNetworking/AFNetworking/issues/4505,关注后续这个问题的解决方案。

BlocksKit:

这个是笔者非常喜欢用的一个库,如果有小伙伴碰到UIWebView被拒绝的问题,可以直接使用,笔者已经将其中的UIWebView相关代码删除。

pod 'BlocksKit', :git =>'https://github.com/Tioks/BlocksKit'

WebViewJavascriptBridge:

这个库相信使用的人也非常多,贴上pod地址

pod 'WebViewJavascriptBridge',:git =>'https://github.com/BigPoro/WebViewJavascriptBridge.git'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ruby 安装 要安装cocospods 首先需要安装ruby,可以先安装xcode,再安装macport ,最后...
    山天大畜阅读 1,939评论 0 1
  • 1 使用步骤 a、 新建一个项目,名字PodTest; b、终端中,cd到项目总目录(注意:包含PodTest文件...
    Kevin_Junbaozi阅读 2,361评论 0 3
  • 对于男人来说,没有比眼看着自己最心爱的女人逐渐体味到了性的愉悦,更快乐、更自豪的了。原来像坚硬的蓓蕾一样未开发的身...
    剑光断夜阅读 414评论 0 0
  • 轰炸机是一只母鹰 投落给你它的鹰蛋 你代她好好孵育 在你的肚子里 子弹射过你的脑袋 如同穿过一个苹果 腐烂掉也没人...
    Amoxicilline阅读 145评论 1 1
  • 愿你有爱可期,有梦可做。有执着一生的追求。 忘记了有多久,没有好好写一篇文章了,忘记了有多少梦想,多...
    初学者_1958阅读 918评论 8 8