uni-app 在iphone16 IOS18系统下 打开APP显示"We're sorry" 的错误页面
uni-app 在iphone16 IOS18系统下 打开APP显示"We’re sorry" 的错误页面
操作步骤:
- 直接下载应用后打开应用
预期结果:
- 应用正常
实际结果:
- 出现 We’re sorrry 错误页面
bug描述:
- IOS应用上架 AppStore 已经有一段时间了。最近才开始有使用iPhone16的用户反馈下载应用后打开应用就直接是错误页面。
- 希望官方能帮忙协助排查下问题,真的是无从下手了不知道需要改什么地方了。
图片
信息项 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本号 | 4.23.2024070309 |
HBuilderX类型 | Alpha |
HBuilderX版本号 | 4.23 |
手机系统 | iOS |
手机系统版本号 | iOS 18 |
手机厂商 | 苹果 |
手机机型 | iPhone16 |
页面类型 | vue |
vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
App下载地址 | 链接 |
官方一直没管,两三天了,一点办法没有
只有iphone16才有这种情况吗?可以先用一个最基础的项目运行到iphone16看看是否正常,如果没问题就要从代码的层面去逐步排查了,可以把代码逐步注释掉,直到功能正常,定位原因
怎么说呢,我们的应用已经上架有一段时间了。现在iPhone16也才刚刚出来,为了解决这个问题。我们特地去买一个iPhone16去测试吗?很离谱啊这个
回复 1***@qq.com: 对…我们也是没有测试机,客户也反馈了很多。问了系统问了手机型号。但是就是没办法测试…
回复 Stalker丶: 哈喽哥们,加个联系方式我们先探讨探讨吧
回复 1***@qq.com: 不用了,放弃uniapp了。哈哈哈哈哈,IOS18上还不只是这个问题,还有好多问题,官方不改一点办法没有
回复 1***@qq.com: 我也有这个问题。。。
回复 1***@qq.com: 现在解决了吗?
这个用xcode的iphone16模拟器,真机运行看一下控制台报什么错
你们自己能否复现这个问题?是不是使用不同版本的 HBuilderX 发布过wgt热更新?
不能复现,后续是更新了HBuilderX版本 云打包整包更新了一次,就没有用户反馈出现这个情况了
在处理uni-app在特定设备(如iPhone 16运行iOS 18系统,尽管目前市场上尚未有这两款具体配置的设备,我们假设这是一个假设场景用于说明问题)上打开APP显示“We’re sorry”错误页面的问题时,首先需要确保几个关键方面的检查与调试。以下是一些可能的代码示例和调试方法,帮助你定位并解决问题。
1. 检查manifest.json
配置
确保manifest.json
文件中的app平台配置正确,特别是针对iOS的配置:
{
"mp-weixin": {},
"app-plus": {
"name": "你的应用名",
"distribute": {
"apple": {
"appleId": "你的Apple开发者账号ID",
"teamId": "你的开发团队ID"
}
},
"sdkConfigs": {},
"usingComponents": true,
"nvue": {
"renderer": "native"
},
// 其他配置...
}
}
2. 条件编译与平台特定代码
使用条件编译来区分不同平台的代码,确保iOS平台没有使用不兼容的API或特性:
// #ifdef APP-PLUS && IOS
console.log("Running on iOS platform");
// iOS特定代码
// #endif
3. 错误捕获与日志
在应用的入口文件(如main.js
或App.vue
的onLaunch
方法)中添加全局错误捕获,以便记录错误信息:
onLaunch: function () {
console.log('App Launch');
plus.runtime.onError = function (e) {
console.error('Caught runtime error: ', e.msg);
// 可以将错误信息发送到服务器或保存到本地
};
}
4. 检查网络请求与权限
iOS对于网络请求和权限管理较为严格,确保已正确配置网络权限和请求URL的白名单:
// 在manifest.json中配置
"network": {
"request": {
"合法域名": [
"https://example.com"
]
}
}
5. 使用Xcode调试(假设已有iOS环境)
如果可能,使用Xcode打开生成的iOS项目,查看控制台输出的错误信息,这通常能提供更详细的崩溃原因。
# 在Xcode中打开项目并运行,查看控制台输出
结论
由于“We’re sorry”这类错误通常指示底层或系统级问题,以上步骤更多是从应用配置、代码兼容性和错误捕获的角度进行排查。如果问题依旧存在,可能需要考虑iOS系统的特定限制或bug,此时联系Apple开发者支持或查阅最新的iOS开发文档可能会更有帮助。