美文网首页1
苹果停止接受含有UIWebView API 的新版App(附解决

苹果停止接受含有UIWebView API 的新版App(附解决

作者: 趙小樂 | 来源:发表于2020-05-11 18:19 被阅读0次

            从2020年开始,不管是老版本迭代更新还是新版本提交审核,都会收到AppStore Connect的警告邮件:

    Dear Developer,

            We identified one or more issues with a recent delivery for your app, "******" 1.0 (1). Your delivery was successful, but you may wish to correct the following issues in your next delivery:    提醒我们尽快更换到WKWebView,UIWebView已经被弃用。

    先来回顾一下相关知识。WKWebView是苹果公司在iOS8系统推出的,相比于UIWebView的优势很明显:

            1.在性能、稳定性、占用内存方面有很大提升;

            2.允许JavaScript的Nitro库加载并使用(UIWebView中限制);

            3.增加加载进度属性:estimatedProgress,不用在自己写进度条了;

            4.更多的支持HTML5的特性;

            5.官方宣称的高达60fps的滚动刷新率以及内置手势;

            6.Safari相同的JavaScript引擎;

            五月一号之后,我司需要上架一个新的App,我Xcode提交成功之后,在iTunes Connect构建版本中,显示一会儿然后就自动消失了.....随后苹果给我发了一份邮件:

    反馈邮件截图

    We identified one or more issues with a recent delivery for your app, "*****" 1.0 (1). Please correct the following issues, then upload again.

    ITMS-90809: Deprecated API Usage- New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

    (邮件大致内容如本篇文章标题)于是经过我反复修改,再次构建版本,最终提交审核了。

    【解决方法】

            我们检查项目中是否含有UIWebView,首先全局搜索UIWebView,移除相关方法、delegate和代理方法;(AFNetworking直接删除UIWebView+AFNetworking这个扩展即可)

          上面这个不能监测到.a文件或者其他项目目录中的文件中(如README.md纯文本文件)是否含有UIWebView API,这个时候我们需要借助终端来进一步操作。

            1、cd 到要检查项目的根目录(得到项目的工程文件所在路径);

            2、输入以下命令(注意UIWebView后面有个空格和点号)

            grep -r UIWebView .

            3、对检测出调用UIWebView的文件进行替换或者删除;

    检索结果示例图

    像腾讯开放平台的API和微信的iOS SDK都含有UIWebView,需要去官网下载最新的工具包替换掉,然后更新一下调用方法即可。

    相关文章

      网友评论

        本文标题:苹果停止接受含有UIWebView API 的新版App(附解决

        本文链接:https://www.haomeiwen.com/subject/tbkpnhtx.html