苹果表示,App仍在使用已弃用的UIWebView API嵌入网络内容的开发者,应尽快更新为WKWebView以提升安全性和稳定性。
WKWebView可将网页处理限制在App的网页视图中,从而确保不安全的网站内容不会影响到App的其他部分。此外,iOS、macOS和Mac Catalyst均支持WKWebView。
苹果提醒称,2020年4月起App Store将不再接受使用UIWebView的新App,2020年12月起将不再接受使用UIWebView的App更新。
否则upload到appstore connect时候,会收到错误issule的邮件:
Dear Developer, We identified one or more issues with a recent delivery for your app, "xxx" 1.0.3 (10003). 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). Best regards, The App Store Team
可能有些童鞋在工程里全局搜索UIWebView,却发现没有使用UIWebView,这时候可以用这个方法:
打开终端,cd到项目根目录。
执行以下命令,就能查找到哪些文件内还在使用UIWebview。
grep -r UIWebView .
效果如下:
$ grep -r UIWebView . Binary file ./proj.ios/wechatSDK/libWeChatSDK.a matches Binary file ./proj.ios/ThreeCards.xcodeproj/project.xcworkspace/xcuserdata/kktoo.xcuserdatad/UserInterfaceState.xcuserstate matches
命令查找所有使用到UIWebView的文件,该升级的升级,该替换的替换,该删除的删除。
比如我的项目,就是因为libWeChatSDK.a这个文件导致的。这个是微信sdk的文件,腾讯已经针对性的升级了sdk版本,所以我做了下微信sdk升级,就解决了这个问题。
2020年5月14日 上午9:42 沙发
您好,我想问一下,你是如何解决上面出现UIWebView的问题的,我也遇到了,不知道如何去解决
2020年5月22日 上午11:21 1层
@qq914574513 我是用上面文章里的命令查找所有使用到UIWebView的文件,该升级的升级,该替换的替换,该删除的删除。
比如我的项目,就是因为libWeChatSDK.a这个文件导致的。这个是微信sdk的文件,腾讯已经针对性的升级了sdk版本,所以我做了下微信sdk升级,就解决了这个问题。
希望这个思路能启发到你。
2020年6月13日 下午5:19 板凳
请问 UserInterfaceState.xcuserstate 文件可以直接删除吗?
2020年6月16日 上午10:38 1层
@凉凉 是什么原因想删除这个文件呢?这个文件记录了xcode的窗口状态等等数据,删了也还会生成的。