配置 Universal Link 需要前期准备的东西:
一、 Team ID 如何获取
TeamID.png二、 Bundle ID 如何获取 (Xcode里获取)
三、 Scheme 如何获取 (自己随便写个就行,最好用BundleID中间的)
schemes.png四、 QQ互联申请
五、 微信开放平台申请和这个类似,主要是这个 Universal Link!
六、 Universal Link 配置
创建 apple-app-site-association 文件,没有文件后缀。
没有文件后缀appID组成:TeamID 和 BundleID 中间用点 “.”连接
{
"applinks": {
"apps": [],
"details": [{
"appID": "9WP59WWWZ.com.hahahha",
"paths": ["/*"]
}, {
"appID": "9WP59WWWZ.com.hahahha",
"paths": ["*", "/qq_conn/1110402222/*"]
}]
}
}
最后去掉空格、回车啥的!
七、 将这个文件给你的后台,放在根目录
八、 配置 applinks ,不用去开发者账号里配置,添加以后Xcode自动帮你更新!
配置 Universal Link 主要是在配置 apple-app-site-association ,如果你的域名是https://www.hahahha.com
,那么加上后缀后 https://hahahha.com/apple-app-site-association
把这个复制到你的备忘录,去掉www,能跳转即成功。
配置成不成功去校验下,个人感觉不太靠谱!
https://hahahha.com/apple-app-site-association
官方API 验证工具
配置微信分享的时候最新版本的sdk调不起来微信,只能使用这个版本了!
pod 'UMVerify'
pod 'UMCommon'
pod 'UMShare/UI', '~> 6.10.2’
pod 'UMShare/Social/ReducedWeChat', '~> 6.10.2’
pod 'UMShare/Social/ReducedQQ', '~> 6.10.2’
pod 'UMShare/Social/ReducedSina', '~> 6.10.2’
////////////////////////////////// 初始化 ///////////////////////////////////
UMConfigure.initWithAppkey("567cd70c67e58ed827004222", channel: "")
UMSocialManager.default()?.setPlaform(.QQ, appKey: "1110407222", appSecret: nil, redirectURL: nil)
/////////////////////////////////// 分享 ////////////////////////////////////
let messageObject = UMSocialMessageObject()// 创建分享消息对象
let image = UIImage(named: "icon")// 创建网页内容对象
let shareObject = UMShareWebpageObject.shareObject(withTitle: "灯塔医生", descr: "好多医生!", thumImage: image)
shareObject?.webpageUrl = "https://www.dengta120.com"// 设置网页地址
messageObject.shareObject = shareObject// 分享消息对象设置分享内容对象
// 调用分享接口
UMSocialManager.default().share(to: .QQ, messageObject: messageObject, currentViewController: self) { data, error in
if let error = error {
print("************分享失败 \(error)*********")
} else {
if data is UMSocialShareResponse {
let resp = data as? UMSocialShareResponse
// 分享结果消息
if let message = resp?.message {
print("************分享成功 \(message)*********")
}
} else {
if let data = data {
print("response data is \(data)")
}
}
}
}
/////////////////////////////////// 回调 ////////////////////////////////////
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if !UMSocialManager.default().handleUniversalLink(userActivity, options: nil) {
// 其他SDK的回调
}
return true
}
// 支持所有iOS系统
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响
let result = UMSocialManager.default().handleOpen(url, sourceApplication: sourceApplication, annotation: annotation)
if !result {
// 其他如支付等SDK的回调
}
return result
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响
let result = UMSocialManager.default().handleOpen(url, options: options)
if !result {
// 其他如支付等SDK的回调
}
return result
}
网友评论