iOS开发日记4-第三方登录(ShareSDK)
今天博主有一個第三方登錄的需求,遇到了一些困難點,在此和大家分享,希望能夠共同進步.
?第三方登錄的方法很多,最直接的方法就是去各大開發者平臺申請id之后看官方文檔直接集成,當然也有偷懶的方法.類似博主,使用的是ShareSDK進行第三方登錄,當然也可以使用友盟進行第三方登錄.第三方登錄主要是通過拉取第三方的授權,獲得第三方平臺的用戶ID,作為參數上傳到自己的服務器中,換取令牌,達到登錄的目的.
1.申請appKey ,去要集成的各大開發者平臺申請
2.導入ShareSDK
3.配置URL?Schemes
在這里配置URL?Schemes,identifier隨便填,能區別其他應用即可,URL?Schemes按開發者平臺要求填,通常是簡稱+appKey
4.添加依賴庫
必須添加的依賴庫如下:
libicucore.dylib
libz.dylib
libstdc++.dylib
JavaScriptCore.framework
以下依賴庫根據社交平臺添加
新浪微博SDK依賴庫?
ImageIO.framework
QQ好友和QQ空間SDK依賴庫(新注冊騰訊開放平臺帳號只支持SSO授權,只是老開發者才可以使用網頁授權)
libstdc++.dylib
libsqlite3.dylib
5.在didFinishLaunch中注冊appKey,初始化
? ??/**ShareSDK 集成*/
? ? [ShareSDK registerApp:@"appKey"];
#pragma mark-------
? ? [ShareSDK connectSinaWeiboWithAppKey:@"appKey"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? appSecret:@"APPSecret"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? redirectUri:@"http://www.baidu.com"];
?? ?
? ? [ShareSDK connectQZoneWithAppKey:@"appKey"
?? ? ? ? ? ? ? ? ? ? ? ? ? appSecret:@"APPSecret"
?? ? ? ? ? ? ? ? ? qqApiInterfaceCls:[QQApiInterface class]
?? ? ? ? ? ? ? ? ? ? tencentOAuthCls:[TencentOAuth class]];
?? ?
? ? [WXApi registerApp:APP_ID];
? ? [ShareSDK connectWeChatWithAppId:APP_ID ? //微信APPID
?? ? ? ? ? ? ? ? ? ? ? ? ? appSecret:APP_SECRET? //微信APPSecret
?? ? ? ? ? ? ? ? ? ? ? ? ? wechatCls:[WXApi class]];
?6.在openURL中回調
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{? ??
? ? ? ? return [ShareSDK handleOpenURL:url
?? ? ? ? ? ? ? ? ? ? sourceApplication:sourceApplication
? ? ? ? ? ? ? ? ? ? ? ? ? ? annotation:annotation
? ? ? ? ? ? ? ? ? ? ? ? ? ? wxDelegate:self];
?? ?
}
7. 在登錄界面進行登錄
#pragma mark -Weixin 登錄
- (void)loginWeixinBtnClicked {
? ? [ShareSDK getUserInfoWithType:ShareTypeWeixiTimeline
? ? ? ? ? ? ? ? ? ? ? authOptions:_authOptions
?? ? ? ? ? ? ? ? ? ? ? ? ? result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (result)
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//將從第三方平臺獲取的參數上傳服務器
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NSDictionary *dict = @{@"udid" : [userInfo uid],
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @"client" : YORequest_Client
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? };
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [self startTestLoginWithDictionary:dict withIsFrom:YES];
}
完成
PS:適配iOS9.0
http://wiki.mob.com/ios9-對sharesdk的影響(適配ios-9必讀)/
在提交審核的時候如果沒有安裝qq微信,提示未安裝qq微信會被拒絕,使用如下方法即可
轉載于:https://www.cnblogs.com/Twisted-Fate/p/4737011.html
總結
以上是生活随笔為你收集整理的iOS开发日记4-第三方登录(ShareSDK)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode】191. Numbe
- 下一篇: UIActionSheet