簡體   English   中英

解析iOS SDK:如何持久登錄?

[英]Parse iOS SDK: How to persist login?

Senario =我有一個帶有根視圖控制器的應用程序,如果[PFUser currentUser]為false(使用PFLoginViewController-以編程方式顯示),則該應用程序會立即顯示登錄屏幕。 如果存在currentUser,則該應用程序將對應用程序的“主頁”頁面執行搜索。 如果用戶成功登錄,“主頁”頁面將顯示來自Facebook或Twitter的用戶信息(取決於登錄選項)。兩種登錄類型分別為Facebook和Twitter。

if (![PFUser currentUser]) {
    // Create the log in view controller
    PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init];
    [logInViewController setDelegate:self];
    [logInViewController setFields:PFLogInFieldsFacebook | PFLogInFieldsTwitter];

    logInViewController.facebookPermissions = @[@"public_profile, user_friends, email, publish_stream"];
    logInViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"light"]];

    [logInViewController.logInView setLogo:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo_iphone.png"]]];
    [logInViewController.logInView.logo setAutoresizingMask:UIViewAutoresizingNone];

    // Present the log in view controller
    [self presentViewController:logInViewController animated:YES completion:NULL];

}

else {

    [self performSegueWithIdentifier:@"main" sender:self];
}

問題=當我構建並運行我的應用程序或退出該應用程序並重新打開它時,它所做的第一件事就是搜索“主”頁面(這意味着它檢測到currentUser)。 但是用戶信息未顯示在“主頁”頁面中(它不會持久保存來自Facebook的登錄-我認為是Facebook訪問令牌)。

問題=如何保留來自Parse AND Facebook或Twitter的登錄用戶?

多謝你們!

我之前遇到過類似的問題,在登錄Facebook並獲取有效的PFUser之后,退出並重新打開該應用程序將導致PFUser失去其大部分屬性。

原因是因為添加這些屬性后,我在PFUser上使用了saveEventually。 不幸的是,saveEventually不會像您期望的那樣在本地保留數據。 我不確定這是錯誤還是功能,但是您可以使用任何其他保存方法,例如saveInBackground,並且所有PFUser屬性最終都應保留到下一次啟動應用程序時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM