c***@163.com
c***@163.com
  • 发布:2023-01-03 11:04
  • 更新:2023-01-05 11:53
  • 阅读:513

【报Bug】ios云打包APP调用uni.shareWithSystem 闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 版本 Windows 10 版本号 22H2

HBuilderX类型: 正式

HBuilderX版本号: 3.6.15

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iPhone 13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

uni.shareWithSystem({
href: data.link,
success(){
// 分享完成,请注意此时不一定是成功分享
},
fail(){
// 分享失败
}
})

预期结果:

期望不闪退

实际结果:

ios云打包APP调用uni.shareWithSystem 后APP闪退

bug描述:

ios云打包APP调用uni.shareWithSystem 后APP闪退

2023-01-03 11:04 负责人:DCloud_iOS_WZT 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

这边没有复现问题 请提供一个可以复现问题的示例工程

  • c***@163.com (作者)

    我把分享相关代码注释掉后不闪退了 ,麻烦再看下 具体交互逻辑如下

    2023-01-04 18:59

c***@163.com

c***@163.com (作者)

shareFn(data){  
                uni.shareWithSystem({  
                    // summary: data.summay,  
                    href: data.link,  
                    success(){  
                        // 分享完成,请注意此时不一定是成功分享  
                    },  
                    fail(){  
                        // 分享失败  
                    }  
                })  
}

我把这块代码注释掉后是正常的 运行到手机 不闪退了。

c***@163.com

c***@163.com (作者)

具体操作过程是web-view 嵌入了h5页面,h5页面内点击按钮通过 以下代码和web-view交互

uni.postMessage({  
          data: {  
            // summay: fItem.formName || fItem.fileName,  
            link: fileUrl,  
            // fileName:fItem.formName || fItem.fileName,   
            type: 'share'  
          }  
        })

交互相关代码:

reciveMessage(event){  
                console.log(event);  
                // #ifdef APP-PLUS  
                if(event.detail.data[0].type == 'share'){  
                    console.log("APP分享")  
                    console.log(event.detail);  
                    let data = event.detail.data[0];  
                    // this.shareFn(data);  

                }  
                // #endif  
                // #ifdef H5  
                if(event.data.data.type == 'getToken') {  
                }else if(event.data.data.type == 'share') {  
                    console.log("h5分享")  
                }  
                // #endif  

            },

然后调用shareFn方法

shareFn(data){    
                uni.shareWithSystem({    
                    // summary: data.summay,    
                    href: data.link,    
                    success(){    
                        // 分享完成,请注意此时不一定是成功分享    
                    },    
                    fail(){    
                        // 分享失败    
                    }    
                })    
}

然后就闪退了。

DCloud_iOS_WZT

DCloud_iOS_WZT

直接调用shareWithSystem 随便写个链接能复现么 你这个href链接发出来看看吧 或者你换一个没有特殊符号以及中文的试一下

  • c***@163.com (作者)

    感谢提示!确实是链接中有中文的问题,但是又发现一个其他问题。分享到微信好友后 对方已经收到了,但是本机仍显示正在发送。具体参考一下截图。

    2023-01-05 11:52

  • DCloud_iOS_WZT

    回复 c***@163.com: 这个是系统操作的 你等一下应该就好了

    2023-01-05 15:02

c***@163.com

c***@163.com (作者)

A 11:38已经收到B发来的链接,B11:39仍显示正在发送。

c***@163.com

c***@163.com (作者)

该问题目前已经被锁定, 无法添加新回复