1

アプリケーションで解析フレームワークを使用してFacebookの統合を行ったので、ログアウトボタンを追加するにはどうすればよいですか?また、以下の画像はアプリケーション画面です-短いですが、コードでOKボタンが押されたイベントを取得するにはどうすればよいですか?

これはログイン後の私のアプリケーションのメイン画面です

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アプリに接続されます。下部にある2つの方法は、アプリが画面を起動して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 に答える