ShareSDK iOS端若何实现微信分享链接与登录
下载SDK
1.1 登录官网
1.2 点击那里 下载SDK
1.3 勾选本身需要的平台,例如微信平台,然后本身写UI,只需要勾选 如下图:

点击保留设置装备摆设之后,然后点击 下载 即可

导进SDK
将1.3步获取到的SDK,间接将整个SDK资本文件挈进项目里,如下图:

展开全文
而且勾选以下3个选项

在点击Finish,完成导进。
添加依靠库


点击 “+” 号,并在弹框里输进以下依靠库,停止添加
需要依靠库:
libc++.tbd
libz.tbd
libsqlite3.tbd
设置装备摆设-ObjC
在项目标Build Settings中的Other Linker Flags添加”-ObjC” ,重视大小写

设置装备摆设ATS
在项目标info.plist中添加 App Transport Security Settings,类型为字典类型
给它添加一个Key:Allow Arbitrary Loads,类型为Boolean类型,值为YES;

设置装备摆设URL Scheme
翻开项目Info选项,找到URL Types,添加微信的URL Scheme:初始化里的AppId就是URL SCheme,如下图:

设置装备摆设白名单
在项目标info.plist中添加LSApplicationQueriesSchemes,类型为Array
然后给它添加一个需要撑持的项目,类型为字符串类型:
微信白名单需要增加:wechat,weixin,weixinULAPI那3项,如下图:

重视:XCode13,iOS15上编译,白名单只读取前50个设置装备摆设,后面设置装备摆设的城市无效
设置装备摆设Universal Link
Universal Link能够本身往生成,参考苹果官方文档,但是为了便利用户,节约用户的时间和精神,我们也在后台为客户生成了Universal Link,如下图:

Team id:开发者团队的ID,可在苹果开发者后台查看
Bundle id:开发者账号下所有利用对应一个Bundle id,可见于项目plist文件中的Bundle identifier,务必与项目中连结一致
填写好那些信息保留之后,就能够将生成的Universal Link用于微信开放平台上,微信初始化里,项目里那3个处所停止设置装备摆设
(1)微信里以 ://开头,反斜杠结尾 那种形式填写如下:

(2)微信初始化里与微信开放平台一样形式以 ://开头,反斜杠结尾 形式填写如下:
[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1" universalLink:@"/"];
(3)项目里以applinks:XXXX形式填写如下:
添加Associated Domains(重视:证书必需开通那个功用哦)

然后双击Associated Domains

添加好点击 + 号,停止UL 设置装备摆设,如下:

初始化SDK
在项目默认的plist文件里 设置装备摆设ShareSDK的AppKey和AppSecret,键别离为 MOBAppKey 和 MOBAppSecret ,值为之前在MobTech官网开发者后台申请的AppKey和AppSecret( 重视设置装备摆设之后保留好,然后看项目标Info选项里有没有 )

初始化微信平台
项目启动的时候在 application:didFinishLaunchingWithOptions:中添加初始化第三方平台的办法
#import ShareSDK/ShareSDK.h
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1" universalLink:@"/"];
return YES;
构造分享参数以及挪用分享办法
可在本身需要登录的视图页面写一个分享按钮,然后在按钮事务里挪用接口,代码如下:
#import ShareSDK/ShareSDK.h
#import ShareSDKUI/ShareSDK+SSUI.h
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(80, 100, 280, 60);
[button setTitle:@"分享" forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor redColor]];
[button addTarget:**self** action:**@selector**(tag) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
-(void)tag
//构造分享参数
NSMutableDictionary * params = [NSMutableDictionary dictionary];
[params SSDKSetupShareParamsByText:@"test"
images:@""
url:[NSURL URLWithString:@"/"]
title:@"title"
type:SSDKContentTypeWebPage];
//挪用分享办法
[ShareSDK share:SSDKPlatformTypeWechat
parameters:params
onStateChanged:^(SSDKResponseState state, NSDictionary *userData,
SSDKContentEntity *contentEntity, NSError *error) {
switch (state) {
case SSDKResponseStateSuccess:
NSLog(@"胜利");//胜利
break;
case SSDKResponseStateFail:
NSLog(@"--%@",error.description);
//失败
break;
case SSDKResponseStateCancel:
//取缔
break;
default:
break;
受权登录
可在本身需要登录的视图页面写一个登录按钮,然后在按钮事务里挪用接口,代码如下:
#import ShareSDK/ShareSDK.h
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(80, 100, 280, 60);
[button setTitle:@"登录" forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor redColor]];
[button addTarget:self action:@selector(tag) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
-(void)tag
[ShareSDK authorize:SSDKPlatformTypeWechat
settings:nil
onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
switch (state) {
case SSDKResponseStateSuccess:
NSLog(@"%@",[user.credential rawData]);
break;
case SSDKResponseStateFail:
NSLog(@"--%@",error.description);
//失败
break;
case SSDKResponseStateCancel:
//用户取缔受权
break;
default:
break;
如斯,即可完成微信分享链接以及受权登录功用!
