uni-app ipad 12.0版本使用离线包打包后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 | |
打包方式 | 离线 |
检查下你工程最低支持的系统版本 还有检查是不是有原生插件不支持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社区或相关开发者论坛中寻求帮助,可能有其他开发者遇到过类似问题并找到了解决方案。