寫在前面
基本上每個(gè)項(xiàng)目都會(huì)集成第三方登錄和分享士聪,因?yàn)楣P者基本上都用的友盟,所以花了一點(diǎn)把登錄和分享總結(jié)了2個(gè)類出來(lái)猛蔽,方便以后快速集成剥悟,也為初次集成登錄和分享的朋友提供個(gè)參考,使用這兩個(gè)類曼库,你只需要簡(jiǎn)單幾步配置就可以完成登錄和分享区岗,非常簡(jiǎn)單。github地址:MKUMengShare毁枯,簡(jiǎn)書地址:兩個(gè)工具類慈缔,幫你快速集成友盟分享和登錄
集成與配置
使用前請(qǐng)先自行申請(qǐng)好各種KEY(友盟、微信种玛、qq)
將MKUMengShare庫(kù)使用cocoapods導(dǎo)入到項(xiàng)目中
pod 'MKUMengShare'
- 配置URL Schemes
配置URL Schemes.png
4.配置SSO白名單
配置SSO白名單.png
到此藐鹤,恭喜你,你已經(jīng)完成了項(xiàng)目的基本配置了赂韵。
注意:iOS9引入了新特性App Transport Security (ATS)娱节。
新特性要求App內(nèi)訪問(wèn)的網(wǎng)絡(luò)必須使用HTTPS協(xié)議。如果項(xiàng)目使用的是HTTP協(xié)議祭示,請(qǐng)按如下配置
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中注冊(cè)
- (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.設(shè)置OpenURL回調(diào)
//#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調(diào)用肄满,是為了兼容國(guó)外平臺(tái)(例如:新版facebookSDK,VK等)的調(diào)用[如果用6.2的api調(diào)用會(huì)沒(méi)有回調(diào)],對(duì)國(guó)內(nèi)平臺(tái)沒(méi)有影響。
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url options:options];
if (!result) {
// 其他如支付等SDK的回調(diào)
}
return result;
}
#endif
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
//6.3的新的API調(diào)用绍移,是為了兼容國(guó)外平臺(tái)(例如:新版facebookSDK,VK等)的調(diào)用[如果用6.2的api調(diào)用會(huì)沒(méi)有回調(diào)],對(duì)國(guó)內(nèi)平臺(tái)沒(méi)有影響
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation];
if (!result) {
// 其他如支付等SDK的回調(diào)
}
return result;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
if (!result) {
// 其他如支付等SDK的回調(diào)
}
return result;
}
4.分享
MKUMengShareModel *model = [MKUMengShareModel modelWithTitle:@"測(cè)試一下" content:@"我是打醬油的內(nèi)容" imageUrl:nil webpageUrl:@"www.baidu.com"];
[MKUMengShareManager showUMShareView:model];
5.登錄
[MKUMengLoginManager getUserInfoForPlatform:UMSocialPlatformType_WechatSession viewController:self success:^(UMSocialUserInfoResponse *result) {
// 獲取三方信息后悄窃,做自己的登錄
[self gotoLogin];
} failure:^(NSError *error) {
}];
就這樣兩個(gè)步驟,就完成了整個(gè)分享和登錄的流程蹂窖,而且代碼也比較簡(jiǎn)潔轧抗。