今天没事弄了个登陆功能,都是按照开发文档的步骤弄的.吐槽下,登陆功能是在社会化分享里面的,找了好久.
第一步:1.首先注册ShareSDK账号,登陆成功后点击自己头像选进入后台,然后选社会化分享模块,让你注册个应用.
当你再次进入时会显示应用的APP KEY和 App Secret(这两个需要一会加进自己的项目的)
2.然后下载SDK,注意是社会化分享模块的
3.将下载好的SDK拖进自己的工程里
-
第二步:之后添加的依赖库如下(Xcode 7 下 *.dylib库后缀名更改为*.tbd):
- libicucore.dylib
- libz.dylib
- libstdc++.dylib
- JavaScriptCore.framework
- ImageIO.framework
- AdSupport.framework
- libsqlite3.dylib
- libsqlite3.dylib
- libsqlite3.dylib
- MessageUI.framework
- CoreMotion.framework
- CoreLocation.framework
- MediaPlayer.framework
- AssetsLibrary.framework
- AddressBook.framework
第三步:设置ShareSDK的Appkey并初始化对应的第三方社交平台 打开*AppDelegate.m(*代表你的工程名字)导入头文件//新浪微博SDK需要在项目Build Settings中的Other Linker Flags添加"-ObjC"********特别注意********
在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台
第四步:添加实现代码 打开需要集成登录功能的视图源码,把如下代码复制并粘贴到你要登录的位置,例如到响应登录按钮的方法中。并且修改相应的参数即可。
这里以QQ登陆为例:(其他的平台也一样的处理,修改下初始化以及登陆方法里的平台类型参数就行,
新浪微博登录的平台类型为:SSDKPlatformTypeSinaWeibo,微信登录的平台类型为:SSDKPlatformTypeWechat),主要区别为url schemes的配置问题,见文章底部图片有各个主流平台url schemes 的配置示例。
也可以调用这个方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[
SSEThirdPartyLoginHelper
loginByPlatform
:SSDKPlatformTypeQQ
onUserSync
:
^
(
SSDKUser
*user
,
SSEUserAssociateHandler
associateHandler
)
{
//在此回调中可以将社交平台用户信息与自身用户系统进行绑定,最后使用一个唯一用户标识来关联此用户信息。
//在此示例中没有跟用户系统关联,则使用一个社交用户对应一个系统用户的方式。将社交用户的uid作为关联ID传入associateHandler。
associateHandler
(
user
.
uid
,
user
,
user
)
;
NSLog
(
@"dd%@"
,
user
.
rawData
)
;
NSLog
(
@"dd%@"
,
user
.
credential
)
;
}
onLoginResult
:
^
(
SSDKResponseState
state
,
SSEBaseUser
*user
,
NSError
*error
)
{
if
(
state
==
SSDKResponseStateSuccess
)
{
}
}
]
;
|