我正在使用Facebook-iOS-SDK(4.0.1)用自定義按鈕登錄。我執行下面的代碼使用Facebook-iOS-SDK(4.0.1)在使用瀏覽器時設置result.isCancelled
- (IBAction)fbButtonClicked:(UIButton *)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result2, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@", result2);
}
}];
}
}
}
}];
}
如果我有一個設備上安裝Facebook應用程序,然後代碼工作正常。當我沒有安裝Facebook應用程序時,則在瀏覽器中打開Facebook。在這裏,'result.isCancelled'被設置爲'YES',我沒有得到所需的結果。
我可以證實這是解決方案。在解決這個問題之前,我遇到了很多問題。希望Facebook也能處理錯誤。 –
仍然我得到相同的結果 –
@PatelJigar你解決了你的問題? – Alok