uni-app 在iphone16 IOS18系统下 打开APP显示"We're sorry" 的错误页面

uni-app 在iphone16 IOS18系统下 打开APP显示"We’re sorry" 的错误页面

操作步骤:

  • 直接下载应用后打开应用

预期结果:

  • 应用正常

实际结果:

  • 出现 We’re sorrry 错误页面

bug描述:

  • IOS应用上架 AppStore 已经有一段时间了。最近才开始有使用iPhone16的用户反馈下载应用后打开应用就直接是错误页面。
  • 希望官方能帮忙协助排查下问题,真的是无从下手了不知道需要改什么地方了。

图片

image

信息项 详情
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本号 4.23.2024070309
HBuilderX类型 Alpha
HBuilderX版本号 4.23
手机系统 iOS
手机系统版本号 iOS 18
手机厂商 苹果
手机机型 iPhone16
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX
App下载地址 链接

更多关于uni-app 在iphone16 IOS18系统下 打开APP显示"We're sorry" 的错误页面的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

官方一直没管,两三天了,一点办法没有

更多关于uni-app 在iphone16 IOS18系统下 打开APP显示"We're sorry" 的错误页面的实战教程也可以访问 https://www.itying.com/category-93-b0.html


只有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.jsApp.vueonLaunch方法)中添加全局错误捕获,以便记录错误信息:

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开发文档可能会更有帮助。

回到顶部