公司App接入微信分享功能, 记录一下
一、官方文档
- SDK1.8.6.1 版本信息
UIWebview切换成WKWebview
支持Universal Link拉起微信以及返回App
移除MTA库
二、配置 Universal Link
因为微信的开放平台的要求, 所以必须配置 Universal Link, 否则 iOS13 无法使用微信分享、支付功能
1、配置要求
- 1)、有自己的服务器
- 2)、必须有个支持 HTTPS 的域名
- 3)、apple-app-site-association 文件配置
2、用编辑器创建一个 json 格式内容的文件, 内容固定模式, 可以直接 Copy 到编辑器
{
"applinks": {
"apps": [],
"details": [
{
"appID": "W88888888.com.open.sdk",
"paths": [
"*"
]
}
]
}
}
3、配置 details 内容
apps 内容为空不用管, 只需要更改 details 部分的内容, 如果有多个 App, 就在 details 内创建多个 配置即可
teamID 和 bundleID 都可以在 Apple 开发者平台获取
image.pngappID 是 teamID 和 bundleID 的组合, 中间是一个 "." 拼接, 其他不用填写
例如:
{
"appID": "teamID.bundleID",
"paths": ["*"]
}
4、编辑完成后导出文件, 命名为 apple-app-site-association, 注意不需要拓展名
在 Finder 的偏好设置可以修改显示拓展名, 如果导出的文件有拓展名, 需要删掉
image.png文件无拓展名
image.png5、请后台帮忙, 把这个文件放到域名的根目录下
检测方法:
用浏览器打开 “域名/apple-app-site-association”, 就能下载到这个文件
例如:
https://www.baidu.com/apple-app-site-association
注意: 下载下来的文件一样是没有拓展名
三、工程配置
1、Apple 开发者平台, 进入需要配置的 app identifiers, 开启 Domains
image.png2、项目工程内配置 Associated Domains
以 applinks: 开头, 添加域名, 例如
applinks:baidu.com
image.png
3、验证是否成功
- 把 App 删除, 重新编译安装到手机
- 第一次打开 App, 会自动到配置的域名下载 apple-app-site-association 文件, 如果不放心可以使用 Charles 抓包看看
- 用手机的 Safari 打开域名, 然后往下滑, 会发现顶部有个 App 的入口, 点击可以跳转到 App
4、到这里, Universal Link 已经配置完成
- Universal Links 相关的资料:
Support Universal Links
Enabling Universal Links
Handling Universal Links
Allowing Apps and Websites to Link to Your Content
四、微信 SDK 配置
1、在微信开放平台填写 Universal Links
例如:
https://www.baidu.com/
2、App 工程配置
注意:
在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI。
重写AppDelegate的continueUserActivity方法:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRest
oring>> * __nullable restorableObjects))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
3、关于报错
-
- 如果出现分享报错, Universal Links 错误之类的
按照提示去改就好了
-
- 如果提示 "由于应用安全校验不通过, 无法完成分享"
卸载应用, 重新编译安装就可以了(或者等一会, 删除 App 再重新安装即可)
网友评论