app 使用微信登录 需要适配 Universal link
步骤一:
让后台准备一个 apple-app-site-association 文件 放在网站的根目录下 并且确保能访问到内容,文件名不要后缀
文件内容格式:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamId.bunldeId",
"paths": [
"/app/*"
]
}
]
}
}
正确返回实例:
https://help.wechat.com/apple-app-site-association
appID 为 team id + “.” + bunlde id
paths 为指定路径能获取到 ,若为 "/*" 则是官网地址下都能获取到 ,微信建议增加个路径
检测方法: https://search.developer.apple.com/appsearch-validation-tool/
输入设置好的路径 例如:能正确返回 名称 描述就是配置好了
步骤二:
在微信开放平台增加 universal link
步骤三:
到开发者中心,把对应id下的Associated Domains 勾选上
然后到项目中 targets-signing&capabilities 中增加Associated Domains
内容为 applinks:help.wechat.com (help.wechat.com:配置文件的域名)
注意 debug release
步骤四:
代码设置
// 在 didFinishLaunchingWithOptions 方法中设置
WXApi.registerApp(KYConstants.kWXAppID, universalLink: "https://help.wechat.com/")
/// 打开调试日志
UMSocialManager.default()?.openLog(false)
UMConfigure.initWithAppkey(KYConstants.kUMengAppKey, channel: "App Store")
//打开图片水印
UMSocialGlobal.shareInstance()?.isUsingHttpsWhenShareContent = false
// 配置微信平台的Universal Links
UMSocialGlobal.shareInstance()?.universalLinkDic = ["UMSocialPlatformType_WechatSession":"https://help.wechat.com/"]
//设置微信的appKey和appSecret
UMSocialManager.default()?.setPlaform(.wechatSession, appKey: KYConstants.kWXAppID, appSecret: KYConstants.kWXAppSecret, redirectURL: " ")
回调处理
/// 友盟微信登录
func wxLogin() {
if UMSocialManager.default()?.isInstall(.wechatSession) == false {
log("未安装微信")
return
}
UMSocialManager.default()?.getUserInfo(with: .wechatSession, currentViewController: nil) { (result, error) in
if error == nil {
if let resp = result as? UMSocialUserInfoResponse {
// 授权信息
}else {
log("获取失败")
}
}else {
log("获取错误")
}
}
}