一、配景
项目框架:APP h5+
需求:APP首页可以选择微信,进行授权登录。
问题:在APP跳转到微信进行授权的时间,提示“由于应用universal link校验不通过,无法完成微信登录”。
二、申请流程
1. 苹果后台管理设置 Identifiers 和 Profiles
登录苹果开发者账号,进入页面
https://developer.apple.com/account/resources/identifiers/list
设置 Identifiers:点击 Identifiers 勾选 associated domains 并生存。
设置 Profiles:修改 Identifiers 后,需要重新生成 profile 文件。
2. 设置 apple-app-site-association 文件(文件无后缀)
格式如下:
- {
- "applinks": {
- "apps": [],
- "details": [
- {
- "appID": "Team ID.Bundle ID",
- "paths": [ "/your path/*"]
- }
- ]
- }
- }
复制代码 举个例子:
team id 是 12ABC812ABC,bundle id 是 com.abc.abc,path 是 app (这个路径是你到时间访问的路径)。那么文件内容就是:
- {
- "applinks": {
- "apps": [],
- "details": [
- {
- "appID": "12ABC812ABC.com.abc.abc",
- "paths": [ "/app/*"]
- }
- ]
- }
- }
复制代码 Team Id 和 bundle Id 在你的 Identifiers 中可以找到。
然后让后端大概运维小伙伴,把这个文件放在服务器根目录下。
比如服务器所在是: https://www.baidu.com/ ,把文件放在这根目录下后,访问 https://www.baidu.com/apple-app-site-association ,这文件就会被下载下来。
你的 universal link 就是:你的服务器所在+你刚在文件中写的path,此处就是: https://www.baidu.com/app/
3. 在 Xcode 中设置 applinks(此处需要mac机)
此处我被卡了很久。因为项目不是用Xcode开发的,但设置这个需要用 Xcode 打开项目。所以我用 Xcode 打开项目就会提示:could not open file.
于是我决定用 Xcode 新建一个项目试试。
选择你的团队,填入刚才的 bundle id,这样这个新项目就跟你的项目关联起来了。
点击 signing & capabilities,选择 all。
填写好开发和生产的 identifier 和 profile;取消主动签名(automatically manage signing)的勾选;然后在下面的 domains 中填入:applinks:你的服务器所在。由于我们上面假设的服务器所在是:https://www.baidu.com/ ,那么此处应该是 applinks:www.baidu.com
这样就算设置好了。
4. 在 HbuilderX 中填写 universal link
在 manifest.json 文件模块设置里,填入我们的 universal link,也就是: https://www.baidu.com/app/
至此,设置的工作都已经做完了。
在将项目运行到标准基座时,还是提示“universal link校验不通过”。但是运行模式切换成自界说基座就可以了。也就是将项目打包以后,就能校验通过,并获取到微信授权信息。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |