2014-10-09 77 views
1

我正在嘗試使用FBFriendPickerViewController來獲取發送應用邀請的Facebook好友列表。每當我測試代碼時,朋友列表都是空的。請參閱下面的代碼:FBFriendPickerViewController好友列表爲空

@implementation FacebookInviteViewController 

- (void)showFriendPicker 
{ 

    FBFriendPickerViewController *friendPicker = [[FBFriendPickerViewController alloc] init]; 
    friendPicker.title = @"Invite Friends"; 
    friendPicker.delegate = self;  

    [friendPicker loadData]; 

    AppController *appController = (AppController *)[[UIApplication sharedApplication] delegate]; 
    [appController.navController presentViewController:friendPicker animated:YES completion:nil]; 

} 

-(void)inviteFromFacebookSelected 
{ 
    if (!FBSession.activeSession.isOpen) { 
     [FBSession openActiveSessionWithReadPermissions:nil 
             allowLoginUI:YES 
            completionHandler:^(FBSession *session, 
                 FBSessionState state, 
                 NSError *error) { 
             if (error) { 
              UIAlertView *alertView = 
              [[UIAlertView alloc] initWithTitle:@"Error" 
                    message:error.localizedDescription 
                    delegate:nil 
                  cancelButtonTitle:@"OK" 
                  otherButtonTitles:nil]; 
              [alertView show]; 
             } else if (session.isOpen) { 
              [self showFriendPicker]; 
             } 
            }]; 

    } else { 
     [self showFriendPicker]; 
    } 
} 

在設置類(從CCLayer子類)我叫下面的方法時,Facebook的按鈕被按下

-(void)showFbConnect { 
facebookInviteViewController = [[FacebookInviteViewController alloc] init]; 
[facebookInviteViewController inviteFromFacebookSelected]; 
} 

我怎樣才能解決這個問題呢?

回答

4

圖API 2.0及以上版本只會返回使用好友的應用。這意味着您只會獲得已授權您的應用的朋友列表。因此,如果您在Facebook上創建了新應用,並且您的朋友列表中沒有任何朋友已授權您的應用,則FBFriendPickerViewController將爲空。

檢查更改日誌在官方facebook docs

應用程序朋友們:/我的/朋友端點不再包括一個人的好友名單 。相反,它現在返回那個也在使用你的應用的朋友的名單。

如果你想測試你可以從你的一個朋友授權您的應用帳戶,比朋友會在FBFriendPickerViewController

+0

無論如何,我可以發送Facebook請求給所有我的朋友(誰不玩我的應用程序)玩嗎? – errorallergic 2014-10-10 18:32:09

+0

我知道我遲到了,但你可能想看看這個https://developers.facebook.com/docs/games/invitable-friends/v2.2 – 2014-11-10 07:31:43

2

小除了@ Bhumit的回答顯示。您可以在Facebook上轉到您的應用程序頁面,並在角色部分添加測試用戶。 Facebook只需點擊一下按鈕即可爲您創建測試用戶。然後,您可以管理這些用戶及其朋友。 這應該有助於測試。