关于WechatOpenSDK 配置(xcode11.2.1)

我们的项目中唤起第三方app一般是通过配置对应的URL Scheme的方式使用的,微信SDK的最新版本openSDK1.8.6 由于苹果iOS 13系统版本安全升级,为此openSDK在1.8.6版本进行了适配。 1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验,提升使用过程中的安全性。

要求在注册微信appid时,必须要传入universalLink,以前的方法在旧版本仍然可使用

一、iOS接入指南

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html

二、通用链接配置

1、生成无后缀名json格式的文件,文件命名为“apple-app-site-association”

运用在线网页生成json文件:http://www.bejson.com/jsoneditoronline/,重命名,删除.json;

appID:TeamID+BundleId的组成(例:9JA89QQLNQ.com.apple.test)(TeamID可以在开发者账号里面查看,BundleId是项目的Bundle Identifier)

Paths:是设置允许的路径列表,可以是一个也可以是多个,最简单的方式是使用“*”,通配符,表示允许该域名下的任意路径。(注意:paths中的大小写是敏感的,一定要一一对应);

2、上传apple-app-site-association文件(这里就能拿到app中配置需要的域名)

(1)将apple-app-site-association文件发给服务器端的同事,让他上传到域名的根目录下或者.well-known的子目录下(这里的域名必须要是可访问的域名,由服务器端的同事给到)。

(2)Web server需要支持https,客户端通过https来访问,并且不支持重定向。

3、在app中处理通用链接

(1)添加对应的域名(上面知道的域名)到Capabilities

在项目里面定位到Capabilities,找到Associated Domains,点击允许按钮,在Domains中添加对应的域名。(Domains中的域名必须是使用applinks开头,然后输入自己的域名即可。注意:当app第一次启动之后,会自动从你自己的域名目录下下载这个apple-app-site-association文件。)

这边的域名的地址为裸域名地址,可以不带上https://;

特别注意:

1、上述配置完后,可能出现UniversalLink不通的情况,去开发者中心(https://developer.apple.com/account/resources/certificates/list)查看Identifiers是否具有“Associated Domains”功能,重新生成描述文件下载,证书下载。重新打开下载的证书和描述文件;


2、(未上架的情况下)如果未安装相应的demon,可能在safari输入域名后,可能没有有以下提示,可以选择安装demon,后测试UniversalLink通不通;


3、微信开放平台上注册的UniversalLink(https://xxxx/aaa/),以“https://”开头,“/”结尾,https://xxxx/最好和xcode配置上的域名地址一致,aaa可加可不加,不影响使用;

(2)实现AppDelegate里支持通用链接的实现方法

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id> *)options{

    [WXApihandleOpenURL:url delegate:self];

 returnYES;

}

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

{

 return[WXApihandleOpenUniversalLink:userActivity delegate:self];

}

这里如果是从旧版更新WechatOpenSDK1.8.6版本的话,需要在这个里面调用微信里的这个方法,并且在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes“添加weixin和weixinULAPI,可通过微信开放平台的接入文档步骤一步步进行修改或添加。

二、代理方法实现步骤

Appdeagate.m

#1

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

   [WXApiregisterApp:@"wxd930ea5d5a258f4f"universalLink:@"https://help.wechat.com/sdksample/"];

 returnYES;

}

#3

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id> *)options{

 return  [WXApihandleOpenURL:url delegate:self];

}

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

{

 return[WXApihandleOpenUniversalLink:userActivity delegate:self];

}

#4

-(void)onResp:(BaseResp*)resp

{

 NSLog(@"回调了");

}

-(void)onReq:(BaseReq*)req

{

}

LoginVC.m

#2 点击微信登录

-(void)wechatOrCodeBtnClicked:(UIButton*)btn

{

 DLog(@"点击了其他方式登录");

    [selfsendWXAuthReq];

}

- (void)sendWXAuthReq{


 if([WXApiisWXAppInstalled]){

 SendAuthReq*req = [[SendAuthReqalloc] init];

       req.scope= @"snsapi_userinfo";

       req.state= @"App";

       [WXApisendAuthReq:req viewController:selfdelegate:selfcompletion:^(BOOLsuccess) {

 NSLog(@"success = %d",success);

 DLog(@"数据发送成功")

       }];

   }else{

 NSLog(@"未安装微信");

   }

}

参考文档:

https://www.jianshu.com/p/f43c6e655a0a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容