由于微信SDK的升级,要求iOS分享登录等功能需要增加Universal link这个东西,
就来说说我在做这个的过程中遇到的坑以及解决办法吧,网上有很多方案迷惑人,这里给大家指一条光明大道吧,首先你需要一个https的域名,然后跟你们的后台老大哥说让他吧一个Jason文件传到根目录,文件的名称一定要是apple-app-site-association,文件的内容大致是这样的:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TeamId.bundleId",
"paths": [ "/abc/*" ]
}
]
}
}
teamId 去开发者中心团队里面查看这个很简单的,重点是:paths一定要设置随便一个字符串都行一定要设置如果不设置可能会导致你的app与微信链接是先跳转到微信然后回到app然后又跳转到微信,每次分享都这样,所以兄弟不要挣扎了,就按我说的做吧记得这个path一定要以*号结尾实在不行就复制我上面这个文字吧把teamid和bundleid替换下就行。干货来了,如果你的域名是https://abc.cn那么在浏览器输入https://abc.cn/apple-app-site-association就是直接下载这个jason文件如果下载出来的内容乱码则有问题让你的老大哥去查吧,正确的显示应该如下:
然后去苹果开发者中心在你的appid下开启associated domains功能
之后在你的项目里添加对应的capability
associated domains 里面的domains 填写,如果你的域名是https://abc.cn,那么则填写 applinks:abc.cn,这里大重点符号记得不要加入https啦这里也算是一个坑吧。
接下来我们去微信开放平台,在应用的Universal Links中添加你的地址,如果你的域名是https://abc.cn,文件中path配置的是abc,那么微信开放平台你就填https://abc.cn/abc/一定要以斜线/结尾哦。保存之后,在代码中微信的初始化的时候把对应的https://abc.cn/abc/传给微信SDK就行啦,如果你用的是友盟,[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):kUniversalLinks};这样设置一下就行啦。记住这里穿过去的universal links一定要跟在微信开放平台留的一致呦。好啦,到这里算是一切都完毕啦。可以享受分享功能啦。注意在第一次分享的时候依然会先跳转到微信然后返回到app然后短暂的停留之后又跳转到微信,不过接下来分享就不会出现这种情况,只有第一次会这样,需要建立连接,如果每次都来回跳转,就要检查下自己的Jason文件里的path是不是有问题,这里还有个地方要注意的,如果你修改了jason文件的内容,建议app调试的时候先卸载在重新运行,不然可能有缓存导致修改一直不生效。如果还有什么问题欢迎加群来唠:622177838。