MKUMengShare 0.0.2

MKUMengShare 0.0.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年4月

‘mark’ 维护。



 
依赖
UMengUShare/UI>= 0
UMengUShare/Social/WeChat>= 0
UMengUShare/Social/QQ>= 0
SDWebImage~> 3.8
 

  • 作者
  • Mark_Mac

使用友盟实现第三方登录和分享

前言

基本上每个项目都会集成第三方登录和分享,因为笔者基本上都使用友盟,所以花费了点时间总结了两个类,方便快速集成,也为初次集成登录和分享的朋友提供参考。使用这两个类,您只需简单几步配置就可以完成登录和分享,非常简单。github地址:MKUMengShare,简书地址:两个工具类,帮你快速集成友盟分享和登录

集成与配置

  1. 在使用前,请先自行申请各种 KEY(友盟、微信、qq)

  2. 将 MKUMengShare 库使用 CocoaPods 导入到项目中

pod 'MKUMengShare'
  1. 配置 URL Schemes

配置URL Schemes.png

4. 配置 SSO 白名单

配置SSO白名单.png

到此,恭喜您,您已经完成了项目的基本配置。注意:iOS9 引入了新特性 App Transport Security (ATS)。该特性要求 App 内访问的网络必须使用 HTTPS 协议。如果项目使用的是 HTTP 协议,请按如下配置

App Transport Security (ATS).png.jpeg

开始使用

1. 配置所需的 key

static NSString *const UMengAppkey = @"5861e5daf5ade41326001eab";
static NSString *const WXAppkey = @"wx102ed6c47738d38a";
static NSString *const WXAppSecret = @"a3a4f41b7fea03f6b39f3f5ff99e41d4";
static NSString *const QQAppkey = @"1105405763";
static NSString *const UMengRedirectURL = @"http://mobile.umeng.com/social";

2. 在 AppDelegate 中注册

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

MKUMengShareKeyModel *model = [MKUMengShareKeyModel modelWithUMengKey:UMengAppkey wxAppkey:WXAppkey wxAppSecret:WXAppSecret qqAppkey:QQAppkey umengRedirectURL:UMengRedirectURL];
[MKUMengShareManager confitUShareSettings:model];

return YES;
}

3. 设置 OpenURL 回调


//#define __IPHONE_10_0    100000
#if __IPHONE_OS_VERSION_MAX_ALLOWED > 100000
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
{
//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响。
BOOL result = [[UMSocialManager defaultManager]  handleOpenURL:url options:options];
if (!result) {
// 其他如支付等SDK的回调
}
return result;
}

#endif

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation];
if (!result) {
// 其他如支付等SDK的回调
}
return result;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
if (!result) {
// 其他如支付等SDK的回调
}
return result;
}

4. 分享

MKUMengShareModel *model = [MKUMengShareModel modelWithTitle:@"测试一下" content:@"我是打酱油的内容" imageUrl:nil webpageUrl:@"www.baidu.com"];
[MKUMengShareManager showUMShareView:model];

5. 登录

[MKUMengLoginManager getUserInfoForPlatform:UMSocialPlatformType_WechatSession viewController:self success:^(UMSocialUserInfoResponse *result) {

// 获取三方信息后,做自己的登录
[self gotoLogin];

} failure:^(NSError *error) {

}];

就这样,两个步骤就完成了整个分享和登录流程,而且代码也比较简洁。