记录苹果构建吃包,苹果报itms-90809,cordova 需要将UIWebView转为WKWebView

本文详细介绍了如何解决苹果审核中常见的itms-90809错误,主要针对使用Cordova构建的应用。通过升级cordova-ios到5.1.1以上版本,添加cordova-plugin-wkwebview-engine插件,并调整config.xml配置,以及排查和替换项目中的UIWebView使用,确保应用符合苹果的新政策。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接

cordova官网

https://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html

cnblogs
https://www.cnblogs.com/VoiceOfDreams
stackoverflow
https://stackoverflow.com/questions/57722616/itms-90809-deprecated-api-usage-apple-will-stop-accepting-submissions-of-app

步骤

1. 添加cordova-ios 需要是5.1.1 以上

cordova platform add ios@5.1.1 --save

2.增加cordova-plugin-wkwebview-engine

cordova  plugin add cordova-plugin-wkwebview-engine

根据参考链接cnblogs使用wkwebview 会有跨域问题,需要增加cordova plugin add cordova-plugin-wkwebview-file-xhr

cordova  plugin add cordova-plugin-wkwebview-file-xhr

我在引入cordova-plugin-wkwebview-engine后启动app白屏,后面引入cordova-plugin-wkwebview-file-xhr后问题解决。

3. 修改config.xml

<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />
    <feature name="CDVWKWebViewEngine">
        <param name="ios-package" value="CDVWKWebViewEngine" />
    </feature>
    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
    <preference name="InterceptRemoteRequests" value="all" />
</platform>

4. 旧有cordova plugin处理

最好移除重新添加。升级旧的plugin。避免plugin中有使用UIWebview

5.排查项目中的UIWebview

在项目目录下执行grep -r UIWebview .查找包含UIWebview的文件,大体都是注释了的代码

6.打包文件中排查

(由参考链接评论中找到的方法)

cd ~/Library/Developer/Xcode/Archives/<date>/myapp.xcarchive/Products/Applications/myapp.app
nm myapp | grep UIWeb
for framework in Frameworks/*.framework; do
  fname=$(basename $framework .framework)
  echo $fname
  nm $framework/$fname | grep UIWeb
done

7. 其他

xcode 项目下CordovaLib.xcodeproj下移除UIWebview相关代码(本步骤不清楚是否一定要执行,执行完上面的步骤提交苹果还报itms-90809可以试试看,另外参考链接的评论中也提供了其他的方法可以参考看看)

==========================end==================
菜鸟也想飞的更高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值