uni-app ipad 12.0版本使用离线包打包后app闪退

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

uni-app ipad 12.0版本使用离线包打包后app闪退

操作步骤

用ipad 打开,闪退

预期结果

正常打开

实际结果

用ipad 打开,闪退

bug描述

用的是ios离线包3.95的,用ipad 的 12.0版本会出现闪退问题

报错信息如下:

com.taobao.weex.bridge (11): EXC_BAD_ACCESS (code=1, address=0x0)
2023-11-06 11:51:57.669731+0800 HBuilder[1069:95131] -canOpenURL: failed for URL: “taobao://” - error: “This app is not allowed to query for scheme taobao”
2023-11-06 11:51:57.671591+0800 HBuilder[1069:95131] -canOpenURL: failed for URL: “kwai://” - error: “This app is not allowed to query for scheme kwai”
2023-11-06 11:51:57.673078+0800 HBuilder[1069:95131] -canOpenURL: failed for URL: “awemesso://” - error: “This app is not allowed to query for scheme awemesso”
2023-11-06 11:51:57.674404+0800 HBuilder[1069:95131] -canOpenURL: failed for URL: “pinduoduo://” - error: “This app is not allowed to query for scheme pinduoduo”
2023-11-06 11:51:57.675782+0800 HBuilder[1069:95131] -canOpenURL: failed for URL: “openApp.jdMobile://” - error: “This app is not allowed to query for scheme openapp.jdmobile”

在xcode 里的scheme 添加taobao、kwai、awemesso、pinduoduo、openapp.jdmobile
依然还是会报错
2023-11-06 17:01:50.967774+0800 dkdoo Form[1582:132943] -canOpenURL: failed for URL: “kwai://” - error: “未能完成操作。(“OSStatus”错误 -10814。)”
2023-11-06 17:01:50.971627+0800 dkdoo Form[1582:132943] -canOpenURL: failed for URL: “pinduoduo://” - error: “未能完成操作。(“OSStatus”错误 -10814。)”
2023-11-06 17:01:50.973454+0800 dkdoo Form[1582:132943] -canOpenURL: failed for URL: “openApp.jdMobile://” - error: “未能完成操作。(“OSStatus”错误 -10814。)”
2023-11-06 17:01:51.267069+0800 dkdoo Form[1582:132943] DiskCookieStorage changing policy from 2 to 0, cookie file: file:///private/var/mobile/Containers/Data/Application/EAEACBC7-2C52-4713-A158-BC9C9AF2FD4A/Library/Cookies/Cookies.binarycookies

开发环境 版本号 项目创建方式
PC开发环境操作系统 Mac HBuilderX
PC开发环境操作系统版本号 14.1.1
HBuilderX类型 正式
HBuilderX版本号 3.95
手机系统 iOS
手机系统版本号 iOS 12.4
手机厂商 苹果
手机机型 ipad Air
页面类型 vue
vue版本 vue2
打包方式 离线

4 回复

检查下你工程最低支持的系统版本 还有检查是不是有原生插件不支持iOS12.0的系统


请问解决了吗

8年iOS开发,iOS相关的问题可以找我,解决不了不要钱,解决了给瓶水钱就行,QQ752562065

针对您提到的uni-app在iPad 12.0版本上使用离线包打包后APP闪退的问题,这里提供一些可能的解决方案和代码案例,以供参考。请注意,由于无法直接复现问题,以下方案可能需要根据您的具体情况进行调整。

1. 检查离线包版本与uni-app版本兼容性

确保您使用的uni-app版本支持iPad 12.0系统。可以在uni-app的官方文档或社区中查找相关兼容性信息。

2. 清理缓存和重新打包

有时候,离线包可能因为缓存问题导致闪退。尝试清理项目缓存并重新打包:

# 清理项目缓存
npm run clean

# 重新打包离线包
npm run build:mp-weixin  # 根据您的目标平台调整命令,例如mp-weixin代表微信小程序

3. 检查manifest.json配置

确保manifest.json中的配置正确无误,特别是与离线包相关的配置,如app-plus下的distribute字段。

{
  "app-plus": {
    "distribute": {
      "sdkConfigs": {},
      "offline": true,
      "...": "其他配置"
    }
  }
}

4. 检查代码中的兼容性问题

有时候,特定的代码或库可能在旧版iOS上不兼容。检查代码中是否有使用到不兼容的API或库,并进行替换或降级。

5. 使用try-catch捕获异常

在APP的入口文件或关键逻辑中添加try-catch块,以捕获并处理可能的异常,避免APP直接闪退。

try {
  // 您的APP启动逻辑
  App({
    onLaunch() {
      // ...
    },
    // ...
  });
} catch (error) {
  console.error('APP启动异常:', error);
  // 可以考虑显示错误提示或进行其他处理
}

6. 使用Xcode调试(如果可能)

如果您有访问Xcode的权限,可以尝试将uni-app打包成iOS项目,并在Xcode中运行,利用Xcode的调试工具查找闪退原因。

总结

由于闪退问题可能涉及多个方面,上述方案只是提供一些常见的排查方向。如果问题依然存在,建议详细记录闪退时的日志信息,结合Xcode的崩溃报告(如果可用),进一步定位问题。同时,也可以在uni-app社区或相关开发者论坛中寻求帮助,可能有其他开发者遇到过类似问题并找到了解决方案。

回到顶部