Acefzp
Acefzp
  • 发布:2025-06-09 11:11
  • 更新:2025-06-09 11:35
  • 阅读:46

iOS 端plus.share.getServices 下的方法全部无法调用

分类:uni-app

很奇怪的plus.share.getServices 获取的无论是分享还是打开小程序都无法调起微信,没有任何反应,但是直接调用plus.share.sendWithSystem却是能够调起分享功能,
这里的代码能正确的调起微信分享功能

        let msg = {  
                    content: "DCloud HBuilder-做最好的HTML5开发工具",  
                    href: "http://www.dcloud.io/",  
                    extra: {  
                        scene: "WXSceneSession"  
                    } // "WXSceneSession"分享给好友,"WXSceneTimeline"分享到朋友圈,"WXSceneFavorite"分享到微信收藏  
                }  
                plus.share.sendWithSystem(msg, function() {  
                    console.log('分享成功');  
                }, function(e) {  
                    alert('分享失败:' + JSON.stringify(e))  
                    console.log('分享失败:' + JSON.stringify(e));  
                })

但是用plus.share.getServices下面的代码调用分享却报错,appid确实是用的微信开放平台申请的app的appid,universal links配置的也没问题,浏览器打开会提示打开app。
{
"code": -100,
"message": "[Share微信:-99]appid无效或配置错误,https://ask.dcloud.net.cn/article/287"
}

                let shares = null;  
                let sweixin = null; // 需调用plus.share.getServices获取微信分享服务对象  

                // 获取分享服务列表   
                plus.share.getServices(function(res) {  
                    shares = res; // 这个回调函数的参数 res 就包含了 所有对象的数组  
                    console.log('shares', shares);  
                    // 在这个数组里 找到属于微信的对象 循环匹配查找  
                    for (let i = 0; i < res.length; i++) {  
                        if ("weixin" == res[i].id) {  
                            sweixin = res[i]; // 保存到变量里 (之后即可使用该对象发起分享)  
                        }  
                    }  
                    let msg = {  
                        content: "DCloud HBuilder-做最好的HTML5开发工具",  
                        href: "http://www.dcloud.io/",  
                        extra: {  
                            scene: "WXSceneTimeline"  
                        } // "WXSceneSession"分享给好友,"WXSceneTimeline"分享到朋友圈,"WXSceneFavorite"分享到微信收藏  
                    }  
                    console.log('sweixin', sweixin);  
                    // msg对象的属性和参数 官方文档里有说明  
                    // 这里就用到了上面获取到的 微信对象 使用send发起分享  
                    sweixin.send(msg, function() {  
                        console.log("分享成功");  
                    }, function(error) {  
                        console.log("分享失败", error);  
                    })  
                }, function(error) {  
                    console.log("获取分享服务列表失败:" + JSON.stringify(error));  
                });

然后调用这里的唤起微信小程序更是到sweixin.launchMiniProgram没有任何报错信息,也调不起来微信小程序

let shares = null;  
                let sweixin = null; // 需调用plus.share.getServices获取微信分享服务对象  
                // 获取分享服务列表   
                plus.share.getServices(function(res) {  
                    shares = res; // 这个回调函数的参数 res 就包含了 所有对象的数组  
                    console.log('shares', shares);  
                    // 在这个数组里 找到属于微信的对象 循环匹配查找  
                    for (let i = 0; i < res.length; i++) {  
                        if ("weixin" == res[i].id) {  
                            sweixin = res[i]; // 保存到变量里 (之后即可使用该对象发起分享)  
                        }  
                    }  
                    const miniProgramParams = {  
                        id: 'gh_07fe923xxxx',  
                        path: ``,  
                        type: 0  
                    };  
                    sweixin.launchMiniProgram(miniProgramParams,  
                        function(success) {  
                            console.log('launchMiniProgram成功:', success);  
                            uni.showToast({  
                                title: '跳转成功',  
                                icon: 'success'  
                            });  
                        },  
                        function(err) {  
                            console.log('launchMiniProgram失败:', err);  
                            uni.showToast({  
                                title: '跳转失败:' + (err.message ||  
                                    '未知错误'),  
                                icon: 'none'  
                            });  
                        });  
                }, function(error) {  
                    console.log("获取分享服务列表失败:" + JSON.stringify(error));  
                });
2025-06-09 11:11 负责人:无 分享
已邀请:
蔡cai

蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539

可以把微信开放平台那边的配置和manifest.json配置贴出来看看嘛?重要字段啥的打个码,比如appid中间部分可以马赛克,头尾留着让我们比对下

  • Acefzp (作者)

    图片上传上去了

    2025-06-09 11:25

Acefzp

Acefzp (作者) - 前端开发


这是开放平台和项目里面的appid

  • 蔡cai

    ios应用那边的配置呢

    2025-06-09 11:28

  • 蔡cai

    还有你通用链接不是还没处理嘛

    2025-06-09 11:30

  • 蔡cai

    都访问不到

    2025-06-09 11:31

  • Acefzp (作者)

    回复 蔡cai: 还需要如何处理,第一次做没经验,您受累指点一下。

    2025-06-09 11:31

  • Acefzp (作者)

    回复 蔡cai: 这个链接 https://ftalk-api.fengyongtech.com/pczx/ 我看网上说在苹果手机浏览器或者备忘录能显示打开app就是成功的

    2025-06-09 11:33

  • 蔡cai

    回复 Acefzp: 你有个发问了,我有回复

    2025-06-09 11:34

  • 蔡cai

    回复 Acefzp: 这种不清楚,我的是电脑浏览器都可以直接访问的

    2025-06-09 11:35

  • Acefzp (作者)

    回复 蔡cai: 嗯,我是直接在苹果手机浏览器打开这个地址,看着是显示打开app,也可以唤起app。

    2025-06-09 11:36

  • Acefzp (作者)

    回复 蔡cai: 你电脑访问是显示打开app还是那个配置文件

    2025-06-09 11:37

  • 蔡cai

    https://blog.csdn.net/weixin_48772762/article/details/130225630

    2025-06-09 11:37

  • 蔡cai

    回复 Acefzp: 配置文件里面的内容

    2025-06-09 11:37

  • Acefzp (作者)

    回复 蔡cai: https://ftalk-api.fengyongtech.com/apple-app-site-association/ 这个可以访问到

    2025-06-09 11:40

  • 蔡cai

    回复 Acefzp: 那你微信开放平台和manifest.json都配置这个就好了呀

    2025-06-09 11:41

  • 蔡cai

    回复 Acefzp: 配置https://.../apple-app-site-association/这个地址

    2025-06-09 11:42

  • Acefzp (作者)

    回复 蔡cai: 我改一下试试,因为看网上说配置文件里面写的路径也可以用。我改成这个试试

    2025-06-09 11:43

  • 蔡cai

    回复 Acefzp: 行

    2025-06-09 11:43

  • Acefzp (作者)

    回复 蔡cai: 受累再问一下,manifest里面除了share这里配置UniversalLinks 和 appid,别的地方还需要配置么?

    2025-06-09 11:47

  • 蔡cai

    回复 Acefzp: 按照你需要的功能配置,如果只是打开微信小程序,就没有其他地方需要配置

    2025-06-09 11:50

  • Acefzp (作者)

    回复 蔡cai: ok

    2025-06-09 11:51

  • 蔡cai

    回复 蔡cai: 微信分享也只需这个配置

    2025-06-09 11:51

  • 蔡cai

    回复 Acefzp: 如果不确定还是百度找下,因为这个做的时间有点久了

    2025-06-09 11:52

  • Acefzp (作者)

    回复 蔡cai: 还是不行,我再看看吧

    2025-06-09 12:04

  • 蔡cai

    回复 Acefzp: 好

    2025-06-09 13:33

  • 蔡cai

    回复 Acefzp: 有重新打包吧?微信开放平台那边也审核过了吧

    2025-06-09 13:34

  • Acefzp (作者)

    回复 蔡cai: 对都过了,app和小程序都发布线上版了已经。

    2025-06-09 14:19

  • 蔡cai

    回复 Acefzp: 有重新打包自定义基座到苹果机测试和微信开放平台的ios通用链接审核过了,应该是没问题

    2025-06-09 14:25

Acefzp

Acefzp (作者) - 前端开发


这个是小程序,而且是同一主体

Acefzp

Acefzp (作者) - 前端开发

  • 蔡cai

    你这些码,打个寂寞,都不打全点

    2025-06-09 11:33

  • 蔡cai

    还有那个域名也打码吧

    2025-06-09 11:33

  • 蔡cai

    回复 蔡cai: 上面那个manifest.json那边也有域名

    2025-06-09 11:39

要回复问题请先登录注册