我剛剛將我的Objective-C代碼升級到最新的Facebook SDK 4.0.1,我無法真正瞭解我在登錄序列中缺少的內容。 我完全按照指南和登錄確實爲我工作,但我唯一的問題是,我不知道如何才能對登錄做出反應。Objective-C Facebook登錄SDK 4.0.1
所以我想要做的是,只要Facebook登錄成功,我想獲取他的細節,現在由於某種原因,我無法找到如何去做。
我讀,我應該把下面的代碼在我viewDidLoad中:
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@", result);
}
}];
}
但是當Facebook登錄成功完成永遠不會被執行的代碼。
當我用我所用,以下面的代碼來獲取用戶的詳細信息,FBLoginView工作:
- (void)loginViewFetchedUserInfo:(FBSDKLoginManager *)loginView
user:(FBSDKProfile*)user {
NSLog(@"User Details");}
有沒有我可以使用新的SDK使用任何同等功能?
感謝您的幫助!
編輯:
我rezlied我可以使用的功能:
- (void) loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
error:(NSError *)error{
NSLog(@"LOGGED IN TO FACEBOOK");
}
但我認爲我還應該添加一個委託到我的控制器,我不知道如何..任何幫助這個嗎?我在正確的方向嗎?
再次感謝!
謝謝,這是我已經有的,我的主要問題是函數didCompleteWithResult沒有在用戶登錄成功後被調用。 –
您是否將委派分配給LoginButton,如果是,請嘗試重置模擬器並再次嘗試安裝應用程序。 –
是的,我做過了 - 問題出在Facebook SDK附帶的Bolt框架上,請參閱我的答案。 –