蘋果停止接受含有UIWebView API 的新版App(附解決方法)

????????從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已經(jīng)被棄用。

先來回顧一下相關(guān)知識。WKWebView是蘋果公司在iOS8系統(tǒng)推出的,相比于UIWebView的優(yōu)勢很明顯:

??????? 1.在性能、穩(wěn)定性、占用內(nèi)存方面有很大提升;

??????? 2.允許JavaScript的Nitro庫加載并使用(UIWebView中限制);

??????? 3.增加加載進度屬性:estimatedProgress,不用在自己寫進度條了;

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

??????? 5.官方宣稱的高達60fps的滾動刷新率以及內(nèi)置手勢;

??????? 6.Safari相同的JavaScript引擎;


????????五月一號之后,我司需要上架一個新的App,我Xcode提交成功之后,在iTunes Connect構(gòu)建版本中,顯示一會兒然后就自動消失了.....隨后蘋果給我發(fā)了一份郵件:

反饋郵件截圖

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).

(郵件大致內(nèi)容如本篇文章標題)于是經(jīng)過我反復(fù)修改,再次構(gòu)建版本,最終提交審核了。

【解決方法】

????????我們檢查項目中是否含有UIWebView,首先全局搜索UIWebView,移除相關(guān)方法、delegate和代理方法;(AFNetworking直接刪除UIWebView+AFNetworking這個擴展即可)

??????上面這個不能監(jiān)測到.a文件或者其他項目目錄中的文件中(如README.md純文本文件)是否含有UIWebView API,這個時候我們需要借助終端來進一步操作。

??????? 1、cd 到要檢查項目的根目錄(得到項目的工程文件所在路徑);

????????2、輸入以下命令(注意UIWebView后面有個空格和點號)

????????grep -r UIWebView .

????????3、對檢測出調(diào)用UIWebView的文件進行替換或者刪除;

檢索結(jié)果示例圖

像騰訊開放平臺的API和微信的iOS SDK都含有UIWebView,需要去官網(wǎng)下載最新的工具包替換掉,然后更新一下調(diào)用方法即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容