1

我使用解析框架与我的应用程序完成了 Facebook 集成,所以我如何添加注销按钮以及对用户的权限下面提到的图像是我的应用程序屏幕短以及如何在我的代码中获得好的按钮按下事件..?

这是我登录后的应用程序主屏幕

4

1 回答 1

7

登录
在您的应用程序委托中,应该存在以下几行:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Parse setApplicationId:@"YOUR_APPLICATION_ID"
              clientKey:@"YOUR_CLIENT_KEY"];
[PFFacebookUtils initializeWithApplicationId:@"YOUR_FB_APP_ID"];

// Override point for customization after application launch.
return YES;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [PFFacebookUtils handleOpenURL:url];
}

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

这将确保解析在启动时被初始化并与您的 facebook 应用程序连接。底部的两种方法使您的应用能够启动屏幕以登录 facebook 并请求权限。为了向用户实际展示该屏幕,只需要一个按钮,该按钮调用与此类似的方法:

-(IBAction)facebookLoginButtonPressed:(id)sender {
    [self loginWithFacebook];
}

-(void)loginWithFacebook {
    NSArray *permissionsArray = @[@"publish_actions", @"email", @"user_location"];

    // Login PFUser using Facebook
    [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {

        if (!user) {
            if (!error) {
                NSLog(@"Uh oh. The user cancelled the Facebook login.");
            } else {
                NSLog(@"Uh oh. An error occurred: %@", error);
            }
        } else {
            [self performSegueWithIdentifier:@"loginToFeed" sender:self];
        }
    }];
}

ok 不需要事件回调,当[PFFacebookUtils logInWithPermissions:block:]返回时,它将执行您提供的块,使您能够继续使用不同ViewControllers的功能或显示不同的功能。

注销
将按钮添加到您想要控制注销的任何视图。然后IBAction为该按钮添加一个方法:

-(IBAction)logOutButtonPressed:(id)sender {
    [PFUser logOut];
    NSLog(@"User logged out!");
    [self dismissViewControllerAnimated:YES completion:^{}];
}
于 2013-01-04T05:49:05.663 回答