蘋果最近廢棄了UIWebView的使用仓犬,所以要把工程中引用UIWebView的地方全換掉雪营,不然每次提交審核都會發(fā)警告郵件,如下:
ITMS-90809: Deprecated API Usage - App updates that use UIWebView will no longer be accepted as of December 2020\. Instead, use WKWebView for improved security and reliability. Learn more https://developer.apple.com/documentation/uikit/uiwebview
After you’ve corrected the issues, you can upload a new binary to App Store Connect.
用到UIWebView的場景如下(包括字符串):
1.自己代碼中使用了UIWebView控件预厌。
2.第三方庫中使用:
1). README.md等資源文件中使用驮履。
這些文件是沒有引入項目的让虐,要在pod庫里找到相應(yīng)的庫文件夾盅弛,然后 show in finder便能找到驻襟。
2). 第三方庫的注釋里有使用UIWebView字眼璧帝。
3). 第三方framewok捍岳、.a文件等包含UIWebView,都是二進制文件(Binary file)睬隶,這種情況只能等第三方庫更新SDK了锣夹。
- 工程的一些本地配置里包含了UIWebView
搜索結(jié)果:UserInterfaceState.xcuserstate matches
1.UserInterfaceState.xcuserstate是什么?
該文件為xcode默認自帶文件苏潜,是xcode的配置信息银萍,git會用這個文件記錄下來。 比如:手動刪除此文件恤左,退出xcode后重啟xcode贴唇,此文件會自動創(chuàng)建并跟蹤, git push的時候一般忽略此文件
解決:
場景1:
直接搜索替換成WKWebView即可
場景2:
注釋和README文件里使用的UIWebView字眼應(yīng)該是沒影響的飞袋。至于frameword和.a文件中包含的引用只能等第三方庫更新了戳气,例如Twitter的SDK。
場景3:
xcode的配置信息文件巧鸭,對于打出來的包應(yīng)該頁沒啥影響瓶您。為了保險起見,還是刪掉此文件,然后讓Xcode重新生成一個新的览闰。
檢測項目中是否包含UIWebView
1.打開終端芯肤,cd + 把項目的工程文件所在文件夾拖入終端(即 得到項目的工程文件所在的路徑)
2.輸入以下命令(注意最后有個點號,而且點號和 UIWebView 之間必須有一個空格):
grep -r UIWebView .
3.以上操作都正確的話压鉴,會馬上出現(xiàn)工程中帶有 UIWebView 的文件的列表(包括在工程中無法搜索到的 .a 文件中對UIWebView 的引用),如下:
替換TwitterKit
在pod文件中锻拘,把 pod 'TwitterKit'
替換為 pod 'TwitterKit5'
進入TwitterSDK的github地址 https://github.com/twitter-archive/twitter-kit-ios/issues/120油吭,可以看到如下信息: