uni-app 云打包的iOS包还包含了UIWebView

uni-app 云打包的iOS包还包含了UIWebView

开发环境 版本号 项目创建方式
Mac macOS 12.3.1 HBuilderX
iOS iOS 15
iPhone 13 pro

产品分类:uniapp/App

PC开发环境操作系统:Mac

HBuilderX类型:正式

HBuilderX版本号:3.4.7

手机系统:iOS

手机系统版本号:iOS 15

手机厂商:苹果

手机机型:iPhone 13 pro

页面类型:nvue

vue版本:vue3

打包方式:云端

App下载地址或H5网址:https://ide.dcloud.net.cn/build/download/c600b440-cc3b-11ec-beea-d9169a0f59af

操作步骤:

每次选择云打包之后,下载ipa包,然后解压之后,进入目录,执行nm HBuilder | grep UIWebView命令,会出现:U _OBJC_CLASS_$_UIWebView。 也就是意味着还存在了UIWebView的引用。

预期结果:

不再包含UIWebView

实际结果:

还包含了UIWebView

bug描述:

使用了云打包之后,检测是否包含UIWebView的时候,还是会含有UIWebView。 已经按照文档配置,去掉了与UIWebView相关的配置,以及三方插件也已经确定不包含UIWebView了。 项目配置如下:

"kernel" : {
"ios" : "WKWebview"
},

检测结果如下:

U _OBJC_CLASS_$_UIWebView
4 回复

默认是WKWebview,不需要额外配置


感谢,但是我测试过了,无论配置不配置,勾选不勾选,云打包出来的都会有UIWebView的引用。

回复 h***@cashgroup.cn: UNI ID 提供一下

是的,在过去的几年里,Apple 已经明确表示不再接受包含 UIWebView 的应用提交到 App Store。UIWebView 是 iOS 中用于显示网页内容的旧版组件,但已经被 WKWebView 取代。Apple 要求开发者使用 WKWebView,因为它更安全、性能更好,并且符合现代 Web 标准。

如果 uni-app 云打包的 iOS 包仍然包含 UIWebView,这可能会导致应用被 Apple 拒绝上架。为了避免这个问题,你需要确保你的 uni-app 项目使用 WKWebView 而不是 UIWebView

以下是一些可能的解决方案:

1. 更新 uni-app 版本

确保你使用的是最新版本的 uni-app。DCloud 团队通常会不断更新框架以适配最新的平台要求。新版本可能已经默认使用 WKWebView

2. 检查插件和依赖

某些第三方插件或依赖可能仍然使用 UIWebView。检查你的项目中是否使用了这些插件,并尝试找到替代方案。

3. 修改配置文件

在 uni-app 项目中,你可以通过修改配置文件来强制使用 WKWebView。具体步骤如下:

  1. 打开 manifest.json 文件。
  2. "app-plus" 节点下,添加或修改以下配置:
"ios": {
  "webview": "wkwebview"
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!