新版本微信分享sdk(1.8.3)踩坑实录

第一种 

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
    return [WXApi handleOpenURL:url delegate:self];
}

// 新增微信分享处理回调
// * 注意:如果不实现这个代理方法的话,会
// * 1、微信的自检方法只能进行到第5步并输出universal link fail,
// * 2、每次分享动作触发时都会显示正在连接的界面并跳转微信再跳转回app再跳转微信
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler
{
    return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}

注意:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler

这个代理方法在新版本微信分享sdk接入时,必须实现,否则每次跳转都会有问题。

第二种

当修改bundleid后,重新修改apple-app-site-association之后,记得卸载上次调试的安装包,重新运行

接入指南:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html

UniversalLink配置步骤

1.制作apple-app-site-association文件,并放置在准备好的链接根目录下,让后台人员给你这个https的链接,一定要https的(该步骤主要时后台人员操作)。apple-app-site-association的内容如下:
{
"applinks": {
        "apps": [],
        "details": [
            {
                "appID": "Team ID.com.xxx.xxxx",
                "paths": ["/sdkexample/*"]
            }
        ]
    }
}

其实就是一个json,apps数组不用管,details里面填入对应得appID和paths。appID就是用前缀+bundleID的方式,在App Store应用后台可以查看此前缀。paths则是可访问APP的对应页面路径,APP Delegate有对应方法可以获取, 可添加多个paths。

扫描二维码关注公众号,回复: 12659489 查看本文章

微信的apple-app-site-association实例:https://help.wechat.com/apple-app-site-association

微信的例子universal link为 https://help.wechat.com/sdksample/ 

Team ID:登录你的开发者账号即可查看

2. 举例:在根下创建的目录名为你写的paths中sdkexample

填写Domains, 格式为applinks:UniversalLink的形式, 如applinks:demo.xxx.com,  注意这里必须为裸的域名,不要加https或者文件名

猜你喜欢

转载自blog.csdn.net/allanGold/article/details/111470575