-1

Parse を使用して PFLogInViewController を作成する単一ビュー アプリケーションがあります。BeaconViewController にアクセスする前に、ユーザーは Facebook で認証する必要があります。これは正常に機能しています。私の問題はログアウト部分にあります。ユーザーのセッションが破棄された後、再度表示する必要がありPFLogInViewControllerます。にポップすることでこれを達成しようとしましたRootViewControllerが、これは問題を解決していません。

このスレッドとこのスレッドを参照しましたが、やはりうまくいきませんでした。

ここBeaconViewController.mに認証とログアウトのロジックがあります

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    FBRequest *request = [FBRequest requestForMe];
    [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        if (!error) {
            [self dismissViewControllerAnimated:YES completion:nil];
            [self pictureRequest];
        }
        else if (error) {
            NSLog(@"facebook session was invalid");
            [self logoutButtonAction:nil];
            PFLogInViewController *login = [[PFLogInViewController alloc] init];
            login.fields = PFLogInFieldsFacebook;
            login.delegate = self;
            NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];
            login.facebookPermissions = permissionsArray;
            [self presentViewController:login animated:YES completion:nil];
        }
        else {
            NSLog(@"Some other error: %@", error);
        }
    }];
}


- (IBAction)logoutButtonAction:(id)sender {
    [PFUser logOut];
    [self.navigationController popToRootViewControllerAnimated:YES];
}

ここに画像の説明を入力

4

3 に答える 3

0

セグエのタイプをプッシュに変更します。このコード行を IBAction アクション メソッドに追加します。

- (IBAction)logoutButtonAction:(id)sender
{
   [self.navigationController popViewControllerAnimated:YES];
}
于 2014-11-04T22:37:34.273 に答える