2015-02-09 66 views
1
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    m_allFriends = [[NSMutableArray alloc] init]; 


    if ([[FBSession activeSession] isOpen]) 
    { 
     if ([[[FBSession activeSession] permissions]indexOfObject:@"user_friends"] == NSNotFound) 
     { 

      [[FBSession activeSession] requestNewPublishPermissions:[NSArray arrayWithObject:@"user_friends"] defaultAudience:FBSessionDefaultAudienceFriends 
                completionHandler:^(FBSession *session,NSError *error){ 
                 [self getFBFriendListFunc]; 
                 NSLog(@"1"); 
                }]; 

     } 
     else 
     { 
      [self getFBFriendListFunc]; 
      NSLog(@"2"); 
     } 
    } 
    else 
    { 

     [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"user_friends"] 
              defaultAudience:FBSessionDefaultAudienceOnlyMe 
               allowLoginUI:YES 
             completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
              if (!error && status == FBSessionStateOpen) { 
               [self getFBFriendListFunc]; 
               NSLog(@"3"); 
              }else{ 
               NSLog(@"error"); 
              } 
             }]; 
    } 

} 


-(void)getFBFriendListFunc 
{ 
    [FBRequestConnection startWithGraphPath:@"me/friends" 
           parameters:nil 
           HTTPMethod:@"GET" 
          completionHandler:^(
               FBRequestConnection *connection, 
               id result, 
               NSError *error 
              ) { 
           NSLog(@"me/friends result=%@",result); 

           NSLog(@"me/friends error = %@", error.description); 

           NSArray *friendList = [result objectForKey:@"data"]; 

           [m_allFriends addObjectsFromArray: friendList]; 
          }]; 

} 

我嘗試連接Facebook與他們的API,實際上這個代碼連接Facebook,Facebook問我這個應用程序想要使用您的信息比我確認。最後一步,Facebook再次返回我的應用程序,應該運行這個getFBFriendListFunc,但if/else不能運行。沒有顯示...iOS Facebook獲得朋友列表

我在Facebook的開發者那裏得到這段代碼哪部分代碼錯了? 有什麼想法? 謝謝...

回答

0

我在AppDelegate.m添加此功能,如果這個功能不退出登錄會話永遠是工作,我希望這個代碼幫助任何一個:)

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
    BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication]; 
    return wasHandled; 

} 
1

邀請的用戶可以使用以下代碼添加facebook-sdk後

[FBWebDialogs 
    presentRequestsDialogModallyWithSession:sharedFacebookHelper.session 
    message:@"Your invite message" 
    title:nil 
    parameters:nil 
    handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
              if (error) { 
               // An error occurred, we need to handle the error 
               // See: https://developers.facebook.com/docs/ios/errors 
               NSLog(@"Error publishing story: %@", error.description); 
              } else { 
               if (result == FBWebDialogResultDialogNotCompleted) { 
                // User canceled. 
                NSLog(@"User cancelled."); 
               } else { 
                // Handle the publish feed callback 




                } 

             } 


}];