微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复UIWebView不推荐使用的Ionic 3

如何解决如何修复UIWebView不推荐使用的Ionic 3

从苹果获得有关UIWebView的消息

ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交。有关更多信息,请参见https://developer.apple.com/documentation/uikit/uiwebview

要修复此问题,已更新了Cordova 10和cordova-ios 6.1.1。在IOS平台上修复了大多数UIWebView引用,但仍在核心包中显示了很少的引用(我想)

enter image description here

任何人都可以帮助我如何解决剩余的UIWebView引用吗?

我正在使用 cordova:10.0.0 /离子型:3.9.2 / cordova-ios:6.1.1

解决方法

屏幕快照中的UIWebView字符串匹配项是指vendor.js。这些无关紧要,因为Apple只关心引用UIWebView的应用程序的本机(Objective-C / Swift)代码。

要仅搜索相关文件类型的源文件,请尝试以下操作:

grep -inr --include \*.h --include \*.m --include \*.swift UIWebView platforms/ios

如果未返回任何结果,则说明您应用的源代码中没有UIWebView引用。

但是,如果将二进制文件上传到App Store Connect时仍然收到ITMS-90809警告,则可能是因为Cordova应用程序中的插件包含/依赖于引用UIWebView的第三方框架。 您也可以将其作为outlined here进行检查,但过程会比较棘手:

  • 在Xcode中存档您的应用
  • 在管理器窗口中右键单击它,然后在Finder中显示
  • 然后右键单击.xcarchive并显示包装内容
  • 在此位置打开一个终端窗口,然后导航到Products/Applications/MyAppName.app
  • 然后运行以下命令来扫描应用程序中包含的Framework,以获取UIWebView参考:
    for framework in Frameworks/*.framework; do
      fname=$(basename $framework .framework)
      nm $framework/$fname | grep UIWebView
    done

如果有任何匹配项,则需要查找哪个Cordova插件包含该Framework。 然后,将插件版本更新为包含不使用UIWebView的新Framework版本的插件版本 或者如果不存在,则针对该插件提出问题,自行修复并提出PR 否则,请从您的Cordova应用中删除该插件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。