如何解决如何修复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引用,但仍在核心包中显示了很少的引用(我想)
任何人都可以帮助我如何解决剩余的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 举报,一经查实,本站将立刻删除。