使Button touchUpInside FBLoginView

时间:2015-07-21 01:36:55

标签: ios objective-c uibutton uigesturerecognizer facebook-login

我有一个带有属性loginButton的FBLoginView,我想让一个不在同一个视图中的按钮激活这个内置按钮功能的FBLoginView。有没有人有什么建议?感谢

1 个答案:

答案 0 :(得分:1)

下载最新的facebook SDK安装并导入coreKit&目标中的LoginKit框架。

创建一个示例按钮并给予操作。

例如:
[fbLogin addTarget:self action:@selector(facebookLogin :) forControlEvents:UIControlEventTouchUpInside];

#import<FBSDKCoreKit/FBSDKCoreKit.h>
#import<FBSDKLoginKit/FBSDKLoginKit.h>


-(void)facebookLogin:(id)sender
{
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error
            NSLog(@"error %@",error);
        } else if (result.isCancelled) {
            // Handle cancellations
            NSLog(@"Cancelled");
        } else {
            if ([result.grantedPermissions containsObject:@"email"]) {
                // Do work
                [self fetchUserInfo];
            }
        }
    }];

}
-(void)fetchUserInfo
{
    if ([FBSDKAccessToken currentAccessToken]) {

        NSLog(@"Token is available");

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
                 NSLog(@"Fetched User Information:%@", result);
             }
             else
             {
                 NSLog(@"Error %@",error);
             }
         }];

    } else {

        NSLog(@"User is not Logged in");
    }
}