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

发布于 1周前 作者 h691938207 来自 Uni-App

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下载地址 链接

12 回复

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


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

回到顶部