测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2017年4月 |
由 ‘mark’ 维护。
依赖 | |
UMengUShare/UI | >= 0 |
UMengUShare/Social/WeChat | >= 0 |
UMengUShare/Social/QQ | >= 0 |
SDWebImage | ~> 3.8 |
使用友盟实现第三方登录和分享
基本上每个项目都会集成第三方登录和分享,因为笔者基本上都使用友盟,所以花费了点时间总结了两个类,方便快速集成,也为初次集成登录和分享的朋友提供参考。使用这两个类,您只需简单几步配置就可以完成登录和分享,非常简单。github地址:MKUMengShare,简书地址:两个工具类,帮你快速集成友盟分享和登录
在使用前,请先自行申请各种 KEY(友盟、微信、qq)
将 MKUMengShare 库使用 CocoaPods 导入到项目中
pod 'MKUMengShare'
4. 配置 SSO 白名单
到此,恭喜您,您已经完成了项目的基本配置。注意:iOS9 引入了新特性 App Transport Security (ATS)。该特性要求 App 内访问的网络必须使用 HTTPS 协议。如果项目使用的是 HTTP 协议,请按如下配置
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) {
}];
就这样,两个步骤就完成了整个分享和登录流程,而且代码也比较简洁。