微信分享适配universalLink过程

新建一个命名为apple-app-site-association的json文件,文件名必须严格命名为为"apple-app-site-association"

文件格式如下图:


文件内容如上图,其中paths里面的内容可根据自己需要定义

如果有多个APP,可以在details里面添加多个元素,teamID为苹果开发网站中证书对应的teamID,bundleID为项目对应的唯一标识。

上述文件配置好之后,将该文件发给后台服务开发人员,后台需将该文件,放置在:项目请求的域名对应的根目录下,放置好之后,可以测试,正确的测试结果为在浏览器打开:域名+apple-app-site-association为直接下载(浏览器中输入此链接直接下载该文件)


第二步:

去微信开放平台做相关设置

如下图,在微信开放平台应用中,找到universalLink,配置为项目的请求域名地址,以/结尾


详情如上图

第三步:

苹果开发网站,做相关设置,具体设置如下图

打开苹果开发网站,点击identifers,找到项目对应的appids,appids的设置如下图,


注意appids设置更新后,要重新下载更新本地的真机运行profile

第四步,项目内部配置设置,具体如下图


项目配置如上

上述流程配置完成之后,直接在手机safari中输入:微信开放平台配置的universalLink+任意字符,原则上可以打开即拉起要做微信分享的项目。

第五步:appdelegate代码如下:

1、在launchOptions函数中,注册    [WXApi registerApp:WXAPPID universalLink:@“微信开放平台设置的universalLink”];

2、可以在注册代码之后,调用微信官方文档的自检函数验证,如下api,打印结果7个步骤全部通过,证明通配符设置正确

//调用自检函数  确定全部通过后,请删除该自检函数

[WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {

    NSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);

}];

3、在下列新的回调方法中,添加相应代码

-(BOOL)application:(UIApplication*)applicationcontinueUserActivity:(NSUserActivity*)userActivityrestorationHandler:(void(^)(NSArray> *_Nullable))restorationHandler{

    return [WXApi handleOpenUniversalLink:userActivity delegate:self];

}

注意:

分享时如果发现打不开微信,因为需要info中LSApplicationQueriesSchemes添加weixin、weixinULAPI

以上步骤完成,可以进行正常的微信分享,解决不能分享,或者分享到微信后,带有未验证应用字样的问题,未验证字样,微信官方平台不是实时更新的,可以在配置完成之后,等两天再去测试验证。


遗留问题:微信开放平台配置universalLink时候,貌似只能配置一个,如果项目区分环境,该如何处理,是否要每切一个环境,都要记得去微信开放平台修改universalLink配置的链接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容