小程序SDK 微信分享方法崩溃 uni-app

小程序SDK 微信分享方法崩溃 uni-app

  • 产品分类:uni小程序SDK
  • 手机系统:iOS
  • 手机系统版本号:iOS 26
  • 手机厂商:苹果
  • 手机机型:iphone 12 mini
  • 页面类型:nvue
  • SDK版本号:4.75

示例代码

uni.share({
provider: 'weixin',
scene: 'WXSceneSession',
title: title,
type: 5,
imageUrl: shareImage,
miniProgram: {
id: miniProgramId,
type: MINI_PROGRAM_TYPE,
webUrl: 'https://..'
},
success(res) {
console.log(res);  
},  
fail(res) {  
console.log(res);  
}  
})

更多关于小程序SDK 微信分享方法崩溃 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

您好,根据现有信息,暂时无法确认这是 uni-app SDK 的 bug。为了帮您快速定位并解决“微信分享崩溃”问题,请按下面步骤补充关键信息,官方收到完整资料后会在 1 小时内给出结论。

一、请补充的关键信息(缺一不可)

项目 如何获取 示例

① HBuilderX 版本号 菜单 Help → About 复制完整版本号 4.87.2024061101

② uni-app SDK 版本 manifest.json → “uni-app” 字段 4.87.0

③ 微信开放 SDK 版本 manifest.json → App 模块配置 → Share → 微信 SDK 版本 1.8.7

④ 崩溃日志 Xcode → Window → Devices & Simulators → 选中设备 → View Device Logs → 导出最近一条崩溃日志 见附件 crash.log

⑤ 最小可复现 demo 新建空项目,仅保留一个按钮调用 uni.share,如仍能复现,请把项目压缩上传 demo.zip

⑥ 运行方式 自定义基座 / 标准基座 / 云打包? 自定义基座

二、临时自检清单(先自查,可立即排除 90% 配置问题)

检查点 操作指引

Universal Link 在 Apple Developer 后台确认 bundleId 对应的 applinks: 已配置且 AASA 文件可访问。

URL Scheme manifest.json → App → iOS → URLSchemes 已填写微信 appId(不含 wx)。

微信 SDK manifest.json → App 模块配置 → Share → 微信 SDK 版本 ≥ 1.8.6。

miniProgram.id 必须以 gh_ 开头,且与微信后台一致。

imageUrl 使用 https,且域名在 ATS 白名单;可先换成本地图片测试。

三、下一步 请您将上述 ①~⑥ 项信息补充后,直接回复在本帖下方。官方收到完整信息后,将立即验证并给出是否确认 bug 及后续处理方案。 内容为 AI 生成,仅供参考

更多关于小程序SDK 微信分享方法崩溃 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


HBuilderX 版本号:4.87;uni-app SDK:4.75;unimp/Share-Wechat-Nopay (4.75)。之前版本是正常的,现在刚发现的崩溃。

尝试降级sdk,安装依赖时会报错:

从报错看像是微信的依赖库没添加进去,你先在官方提供的 demo 工程中,手动添加资源库和资源,测试一下是否正常

您好手动添加哪个库,微信的吗,但是我调用的是微信分享,看崩溃截图为什么好像调qq分享去了?以下是项目podfile配置

pod ‘unimp’, :subspecs => [ ‘Core’, ##核心库(必需) ‘Audio’, ##音频 ‘Camera&Gallery’, ##相机&相册 ‘Barcode’, ##扫码 ‘File’, ##文件 ‘Video’, ##视频播放 ‘LivePusher’, ##直播推流 ‘NativeJS’, ##JS Reflection call Native ‘Orientation’, ##设备方向 ‘Zip’, ##压缩 ‘XMLHttpRequest’, ##网络请求 ‘Log’, ##打印Console.log日志,发布时可移除 ‘Geolocation-Gaode’, ##高德定位

pod ‘MobileVLCKit’ ##VLC播放器 pod ‘lottie-ios’ ##lottie动画 pod ‘AFNetworking’ ##网络请求 pod ‘MMMarkdown-Hi’, ‘~> 0.5.5-v1’ ##markdown转html pod ‘Bugly’ end

你好,请问有没有安排修复。之前旧版本好像是正常的,大概是4.55还是4.65还是正常,后面的都有问题了。但是想降级sdk也降级失败。pod不成功

根据你提供的代码和错误描述,问题出在 uni.share 方法的参数上:

  1. provider 取值:应为 'weixin'(已写对,但注意大小写敏感)。
  2. scene'WXSceneSession' 是微信原生旧枚举名,uni-appscene 应填入 'WXSceneSession' 或直接使用数字 0(聊天会话)。当前写法合法,但建议确认SDK是否接受字符串枚举。
  3. miniProgram.id:应为 appId(小程序的原始ID,如 wx1234567890abcdef),不是 idid 会导致微信SDK无法识别小程序,引发崩溃。
  4. miniProgram.type:值应为数字 0(正式版)或 1(开发版)或 2(体验版)。你使用了变量 MINI_PROGRAM_TYPE,需要确保其值正确且为数字,否则可能类型不匹配。
  5. 缺少必要参数 path:分享小程序时推荐传递 path(小程序页面路径),缺省时可能打开默认首页,但某些SDK版本要求必须传入,不传会导致崩溃。
  6. webUrl:可选,但应填写有效的H5地址,用于微信客户端不支持小程序时的降级。
  7. type: 5:在uni-app文档中,type5 表示分享小程序,但需确认SDK版本 4.75 是否支持该枚举值。若SDK内部映射错误,也可能闪退。

建议你检查并修正以下确切字段

uni.share({
  provider: 'weixin',
  scene: 'WXSceneSession', // 或直接写成 0
  type: 5,
  title: title,
  imageUrl: shareImage,
  miniProgram: {
    appId: miniProgramId,   // 关键:必须使用 appId 字段
    path: '/pages/index/index', // 必填或至少提供有效路径
    type: MINI_PROGRAM_TYPE, // 确保为 0|1|2
    webUrl: 'https://...'   // 检查是否必填
  },
  success(res) { console.log(res); },
  fail(res) { console.log(res); }
})
回到顶部