HBuilderX运行到Xcode simulator启动的ios模拟器上报错:app-service.js(49:32) ReferenceError:Can't find variable: __registerWebViewUniConsole initRuntimeSocketService@app-service.js:49:32
@app-service.js:68:27
global code@app-service.js:6268:3
模拟器白屏

报错

HBuilderX运行到Xcode simulator启动的ios模拟器上报错:app-service.js(49:32) ReferenceError:Can't find variable: __registerWebViewUniConsole initRuntimeSocketService@app-service.js:49:32
@app-service.js:68:27
global code@app-service.js:6268:3
模拟器白屏

报错

上午好☀️☀️☀️️
本答案参考通义千问
你遇到的问题是:HBuilderX 运行到 Xcode Simulator 启动的 iOS 模拟器时,出现 ReferenceError: Can't find variable: __registerWebView 的错误,并导致模拟器白屏。
这个问题通常出现在使用 uni-app 开发项目,并尝试通过 HBuilderX 打包为 iOS 应用时,运行在 Xcode Simulator 上时发生的。
.xcworkspace 文件,并且通过 Xcode 启动。注意: 不建议直接通过 Xcode 启动 HBuilderX 打包的
.xcworkspace,而应通过 HBuilderX 的“运行到模拟器”功能进行测试。
在 manifest.json 中,确保以下配置项正确:
{
"plus": {
"distribute": {
"ios": {
"bundleId": "your.bundle.id",
"entitlements": {
"aps-environment": "production"
}
}
},
"distribute": {
"ios": {
"webView": {
"enable": true
}
}
}
}
}
重点: 确保
"webView": {"enable": true}已开启,否则可能会导致__registerWebView无法被识别。
uni-app 相关插件。如果你能访问 app-service.js 文件,可以尝试添加以下内容来避免报错:
if (typeof __registerWebView === 'undefined') {
window.__registerWebView = function() {};
}
说明: 这是一个临时解决方案,用于防止
__registerWebView未定义时报错。但更推荐从根源解决问题。
如果模拟器仍然无法正常运行,可以尝试:
platforms/ios 文件夹。unpackage 文件夹。| 步骤 | 内容 |
|------|------|
| 1 | 确保使用正确的运行模式(通过 HBuilderX 运行) |
| 2 | 检查 manifest.json 中的 webView 配置 |
| 3 | 更新 HBuilderX 和 uni-app 插件 |
| 4 | 可选地在 app-service.js 中添加 __registerWebView 的默认值 |
| 5 | 尝试使用真机调试替代模拟器 |
| 6 | 清理并重新构建项目 |
如需我帮助你分析具体的日志或代码,请将相关部分贴出来。