已弃用 API 用法 - 将不再接受使用 UIWebView 的应用更新

Deprecated API Usage - App updates that use UIWebView will no longer be accepted

我已按照有关此主题的建议进行操作,但仍然无法摆脱 UIWebView

我的列表 pods:

pod 'Firebase/Crashlytics'
pod 'Firebase/Core'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Messaging'
pod 'Firebase/InAppMessagingDisplay'
pod 'Firebase/Performance'
pod 'Google-Mobile-Ads-SDK','7.65.0'
pod 'GoogleAnalytics' 
pod 'Chartbeat', '1.4.1' ######
pod 'TaboolaSDK', '2.8.0'
pod 'FacebookCore', '0.9.0'
pod 'FacebookShare', '0.9.0'
pod 'FacebookLogin', '0.9.0'
pod 'FBSDKCoreKit', '5.15.1'
pod 'FBSDKLoginKit', '5.15.1' 
pod 'FBSDKShareKit', '5.15.1'
pod 'TwitterKit', '3.4.2'
pod 'GoogleSignIn', '5.0.2'
pod 'WKJavaScriptController'
pod 'AlignedCollectionViewFlowLayout'
pod 'JWPlayer-SDK', '3.17.0'
pod 'PianoComposer', '~>2.3.8'

所有 Firebase pods 已更新。当我 grep 获取 UIWebView 时,我得到:

grep: ./ArtiPlayer.framework/Resources: No such file or directory
./Pods/AppAuth/README.md:for the auth request. `UIWebView` and `WKWebView` are explicitly.  
*not*
Binary file ./Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework- 
Current/GoogleMobileAds.framework/GoogleMobileAds matches 
Binary file ./Pods/TwitterKit/iOS/TwitterKit.framework/TwitterKit matches
./Pods/TwitterKit/iOS/TwitterKit.framework/Headers/TWTRTweet.h: *  Suitable for loading in a 
`UIWebView`, `WKWebView` or passing to Safari:
./Pods/GoogleSignIn/CHANGELOG.md:- Supports sign-in via UIWebView rather than app switching.  
to a browser,
grep: ./ArtiSDK.framework/Resources: No such file or directory

GoogleMobileAds、TwitterKit 和 GoogleSignIn 已更新至最新版本。 请帮忙

您拥有最新版本的 TwitterKit,但它使用 UIWebView 并且它是 no longer supported by Twitter 因此不会更新以删除对 UIWebView 的使用。

您需要寻找其他方式在您的应用中提供该功能。

按照以下步骤操作。这可能会有用。

a) 评论所有 pods

b) 安装 pods pod install - 这将删除所有 pod 文件

c) 取消注释并删除您在每个 pod 上提到的版本。

d) 安装 pods - 这将全新安装

e) 现在清理 Shift + command + k

我有一个使用 UIWebView 的过时 Google 框架,但应用程序代码没有调用任何实际使用它的东西。

我找到了一个开源二进制编辑器,bbe,它的工作方式与 sed 非常相似。我用它来将字符串 UIWebView 替换为 WKWebView,从那时起,任何提交到应用程序商店的内容都可以顺利通过,没有任何警告。

显然,如果您的代码导致框架实例化一个 WKWebView,它肯定会崩溃 - 所以 YMMV。

PS:我使用 bbe 在我所有的二进制框架中搜索字符串 UIWebView 以首先找到有问题的那个 - 不是很明显是哪个使用了它.