uni-app 在ios端开发的app进行微信分享时,却打开了另一个uni-app开发的app

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 在ios端开发的app进行微信分享时,却打开了另一个uni-app开发的app
问题只会出现在iOS手机上,安卓一切正常。

分享配置如下:

"share" : {  
    "weixin" : {  
        "appid" : "wx72968a71f0242abc",  
        "UniversalLinks" : "https://applink.younicai.com/uni-universallinks/__UNI__8055565/"  
    }  
}

uniclound 前端网页托管上的 .well-known/apple-app-site-association 配置如下:

{  
    "applinks" : {  
        "apps" : [],  
        "details" : [  
            {  
                "appID" : "42BT8G26VS.uni.UNI8055565",  
                "paths" : [ "/uni-universallinks/__UNI__8055565/*", "*" ]  
            },  
            {  
                "appID" : "42BT8G26VS.uni.UNI16FA070",  
                "paths" : [ "/uni-universallinks/__UNI__16FA070/*", "*" ]  
            }  
        ]  
    }  
}

然后我是再这个uni.UNI8055565 app上使用分享到微信或者app跳转小程序的功能后会跳转到微信,紧接着又打开了这个uni.UNI16FA070 app。正常结果应该是返回uni.UNI8055565。

使用uni.UNI16FA070 app 分享到微信流程是正常的。

在Safari浏览器访问 Universal Link: https://applink.younicai.com/uni-universallinks/__UNI__8055565

出现的也还是uni.UNI16FA070。。。

很头疼,谁知道是什么问题吗? 以前好像是正常的


10 回复

有人知道吗?
你们的apple-app-site-association文件的配置是怎样的


.well-known/apple-app-site-association 配置更新后,app 需要卸载重新安装才好读取到最新的

回复 DCloud_uniCloud_JSON: 那我的这个配置文件是正确的吗

回复 DCloud_uniCloud_JSON: 今天有台手机上又出现了这个问题。很奇怪

回复 DCloud_uniCloud_JSON: 你们是不是有更新这个逻辑?怎么其中一个应用打包后,另一个应用配置又被覆盖了。不会同时保留2份

目前解决方法是不用 uniapp的自动生成通用链接。最近一直有问题.
apple-app-site-association文件放在自己的服务器下面就行了

看我上面评论说的解决方法啊

回复 涛tao: 文件迁走,这个wgt不会生效吧,得让客户重安才会生效新的是吧

在 uni-app 开发的应用中,如果遇到在 iOS 端微信分享时错误地打开了另一个 uni-app 应用的情况,这通常是由于微信分享链接被系统识别为另一个应用的 URL Scheme。为了解决这个问题,你需要确保分享链接的唯一性和正确性,同时配置好应用的 URL Scheme 和 Universal Links(或 Android 的 App Links)。

以下是一些可能的解决方案和代码示例,帮助你更好地管理微信分享链接:

  1. 确保分享链接的唯一性: 确保你分享的链接是唯一的,并且不被其他应用所占用。例如,你可以在链接中包含应用的唯一标识符或者用户信息。

  2. 配置 URL Scheme: 在 manifest.json 中配置你的应用的 URL Scheme,确保它与其他应用不冲突。

    "mp-weixin": {
        "appid": "YOUR_WECHAT_APPID",
        "setting": {
            "urlCheck": false
        }
    },
    "plus": {
        "distribute": {
            "apple": {
                "urlScheme": "yourappuniquescheme"
            }
        }
    }
    
  3. 使用 Universal Links 或 App Links: 对于 iOS,你可以配置 Universal Links;对于 Android,你可以配置 App Links。这有助于确保链接在正确的应用中打开。

  4. 编写微信分享代码: 在 uni-app 中,使用 uni.share API 进行微信分享。确保分享的链接是正确的,并且没有被系统误识别为其他应用的链接。

    uni.share({
        provider: 'weixin',
        scene: 1, // 发送给朋友
        type: 'link',
        webpageUrl: 'https://yourapp.com/share?unique_id=12345', // 确保这是你的应用的链接
        title: '分享标题',
        summary: '分享描述',
        thumbUrl: '/path/to/thumbnail.jpg'
    }).then(res => {
        console.log('分享成功', res);
    }).catch(err => {
        console.error('分享失败', err);
    });
    
  5. 调试和测试: 在开发过程中,使用微信开发者工具进行调试,确保分享链接能够正确打开你的应用,而不是其他应用。同时,在真机上进行测试,以验证分享功能在不同设备和网络环境下的表现。

  6. 检查微信开放平台配置: 确保你的微信开放平台账号和应用配置正确,包括应用的签名、包名等信息。这些信息必须与你在 manifest.json 中配置的信息一致。

通过上述步骤,你应该能够解决在 iOS 端微信分享时错误打开另一个 uni-app 应用的问题。如果问题仍然存在,请检查微信开放平台的官方文档和社区论坛,以获取更多帮助。

回到顶部