swift利用友盟实现新浪微博SSO授权登录
swift利用友盟实现新浪微博SSO授权登录1. 获取友盟Appkey
2. 下载并安装SDK2.1 下载SDK最新版SDK下载地址:http://dev.umeng.com/social/ios/sdk-download 2.2 加入SDK 将 2.3 创建桥接具体如何桥接这里就不说明了,我们需要在桥接文件中包含以下两个头文件 #import "UMSocial.h"
"UMSocialSinaSSOHandler.h"
2.4 设置AppKey在AppDelegate内设置友盟AppKey func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// 设置Appkey
UMSocialData.setAppKey("5608de9de0f55afaae0018e6")
return true
}
2.5 添加实现代码在新浪微博登录按钮中实现下面的方法 let snsPlatform: UMSocialSnsPlatform = UMSocialSnsPlatformManager.getSocialPlatformWithName(UMShareToSina)
snsPlatform.loginClickHandler(self,UMSocialControllerService.defaultControllerService(),true,{response in
if response.responseCode == UMSResponseCodeSuccess {
let snsAccount:UMSocialAccountEntity = UMSocialAccountManager.socialAccountDictionary()[UMShareToSina] as! UMSocialAccountEntity
print("username is (snsAccount.userName),uid is (snsAccount.usid),token is (snsAccount.accessToken) url is (snsAccount.iconURL)")
}
})
在授权完成后调用获取用户信息的方法 //获取accestoken以及新浪用户信息,得到的数据在回调Block对象形参respone的data属性
UMSocialDataService.defaultDataService().requestSnsInformation(UMShareToSina) { (response) -> Void in
print(response.data)
}
3. SSO配置使用SSO授权方式,在用户安装了微博客户端并登录时,可以在分享过程中不需要输入账号密码,直接通过微博客户端授权,随后进行网页分享,免去了用户输入密码的过程。 在用户未安装客户端时,则自动跳转到网页授权方式,微博SSO授权友盟提供了微博原生SDK与非原生SDK两种方式,本文介绍的是微博原生SDK。 3.1 添加相关系统库文件 在Xcode中打开工程配置文件,选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下列库文件: 3.2 添加URL schemes在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,格式为“wb”+新浪appkey,例如“wb126663232” 3.3 在AppDelegate文件集成相应的开关方法:Bool {
//打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。若在新浪后台设置我们的回调地址,“http://sns.whalecloud.com/sina2/callback”,这里可以传nil
UMSocialSinaSSOHandler.openNewSinaSSOWithAppKey("2923156246",redirectURL: "http://sns.whalecloud.com/sina2/callback")
return true
}
3.4 在AppDelegate文件里面实现下面的系统回调方法Bool {
return UMSocialSnsService.handleOpenURL(url)
}
UMSocialSnsService.handleOpenURL(url)
}}
4. 适配iOS9系统
提示,如果程序报以下错误: ld: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib**SDK.a(**ForSDK.o)’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE),obtain an updated library from the vendor,or disable bitcode for this target. for architecture arm64
可以在Build Settings中将Enable Bitcode设置为No 最后附上示例Demo的github地址:https://github.com/laichunhui/UMSocialLogin_Sina (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |