iOS-facebook授权登录

以前那个facebook登录要整好多个 FBRequestDelegate Methods ,还包括 session 的一些处理,麻烦很多,前几天下载了新的SDK用了一下 果然比以前好用很多。

官网下载好SDK之后,解压就能看见里面包含好多功能,,我们只取自己用的就OK。


把这两个Framework拖进程序, facebook登录的button触发方法如下:


好了,现在我们来看返回的这个 userInfo 字典里面都有什么东西;其实这个 userInfo只返回了2个东西,我们需要用到的id 和 登录后用于显示的 昵称 ;

但是这里一触发事件 ,程序就会崩溃 ,为什么呢 ,那是因为 facebook第三方登录需要的id号 我们没有加入进去。



再运行,会发现每次都走的是canceled ,result不会走进 Logged in

if (error) {
            NSLog(@"Process error");
        } else if (result.isCancelled) {
            NSLog(@"Cancelled");
        } else {
            NSLog(@"Logged in");
<span >	</span>}
}



appdelegate.m 中 加入

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{<pre name="code" >     return [[FBSDKApplicationDelegate sharedInstance] application:application
                                    didFinishLaunchingWithOptions:launchOptions];
    //return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                          openURL:url
                                                sourceApplication:sourceApplication
                                                       annotation:annotation
            ];
}

 再去运行 ,ok了 

今天又发现一个问题,那就是FBSDKCoreKit.framework 太大了。



一个framework 12.4M, 有点不能接受吧。就算打包压缩也有 4.5M ,虽说界面优化了,但是内存消耗也不小,看我们自己如何取舍了。