uni-app APP在IOS端分享和取消支付闪退

uni-app APP在IOS端分享和取消支付闪退

产品分类

  • uniapp/App

PC开发环境

操作系统 版本号
Windows win10

手机系统

系统 版本号 厂商 机型
iOS iOS 15 苹果 XS Max

开发工具

工具类型 版本号
HBuilderX 3.4.7

页面类型

  • vue
  • vue2

打包方式

  • 云端

项目创建方式

  • HBuilderX

App下载地址或H5网址

操作步骤

  • 支付->取消

预期结果

  • 不闪退

实际结果

  • 闪退

bug描述

  • APP在IOS端调起微信支付/支付宝支付,点击取消会闪退,分享也会闪退

更多关于uni-app APP在IOS端分享和取消支付闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

14 回复

用标准基座测试一下呢?

更多关于uni-app APP在IOS端分享和取消支付闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


标准基座可以分享

回复 woMenhelyl: 查看你的微信的通用链接 是否正确

回复 天生DR: 标准基座提示由于应用和小程序未绑定在同一微信开放平台账号,自定义基座直接闪退

回复 woMenhelyl: 我不说了吗 自定义基座的通用链接等 配置是否正确?

回复 天生DR: 是对的

回复 woMenhelyl: 你上传一个可以稳定复现的demo吧

回复 天生DR: IOS已上架应用市场,搜索 QueenRun

回复 天生DR: 在我的界面 点击邀请新用户获得健康币哪里

回复 woMenhelyl: 我得看你代码 咋写的啊 我直接看App 也看不出来啥啊

回复 天生DR: 传了 在下面回复附件,麻烦看一下行不行

麻烦看一下这样行不行

不是Bug 开发者回复说是 插件影响

在 uni-app 开发中,如果在 iOS 端遇到分享和取消支付时出现闪退问题,可能是由于以下原因引起的。以下是可能的原因和解决方案:


1. iOS 原生代码或插件问题

  • 原因:uni-app 的分享和支付功能通常依赖原生插件或 SDK,如果这些插件或 SDK 未正确配置或存在兼容性问题,可能会导致闪退。
  • 解决方案
    • 确保使用的插件或 SDK 是最新版本。
    • 检查插件的配置是否正确,尤其是分享和支付模块的相关配置。
    • 如果是自定义插件,检查原生代码中是否有内存泄漏或空指针异常。

2. iOS 权限问题

  • 原因:iOS 对某些权限(如相册、相机等)有严格要求,如果未正确配置权限,可能会导致闪退。
  • 解决方案
    • manifest.json 中检查是否已正确配置所需的权限。
    • 在 iOS 项目中,检查 Info.plist 文件是否添加了所需的权限描述(如 NSPhotoLibraryUsageDescription 等)。
    • 示例:
      <key>NSPhotoLibraryUsageDescription</key>
      <string>App需要访问相册以分享图片</string>
      

3. 回调函数问题

  • 原因:在分享或支付的回调函数中,可能存在未处理的异常或逻辑错误,导致闪退。
  • 解决方案
    • 检查分享和支付的回调函数,确保所有可能的返回结果都得到正确处理。
    • 使用 try-catch 捕获异常,避免未处理的错误导致闪退。
    • 示例:
      uni.share({
          provider: 'weixin',
          type: 0,
          scene: 'WXSceneSession',
          success: function (res) {
              console.log('分享成功', res);
          },
          fail: function (err) {
              console.error('分享失败', err);
          },
          complete: function () {
              console.log('分享完成');
          }
      });
      

4. iOS 版本兼容性问题

  • 原因:某些 API 或功能在低版本的 iOS 中可能不支持,导致闪退。
  • 解决方案
    • 检查代码中是否使用了高版本 iOS 才支持的功能。
    • manifest.json 中设置最低支持的 iOS 版本。
    • 示例:
      "app-plus": {
          "distribute": {
              "ios": {
                  "minIOSVersion": "10.0"
              }
          }
      }
回到顶部