2011-06-03 48 views
0

這一切都讓我發瘋。 我只是在我的iPhone應用程序中集成了Facebook。 在登錄對話框中輸入我的用戶名和密碼後,調用此方法。臉書連接不起作用

- (void)request:(FBRequest*)request didLoad:(id)result { 
    if ([request.method isEqualToString:@"facebook.fql.query"]) { 
     NSLog(@"result %@",result); 

      NSArray* users = result; 
      NSLog(@"users %@",users); 
      NSDictionary* user = [users objectAtIndex:0]; 
      NSString* name = [user objectForKey:@"name"]; 
      self.facebookName = name;  

      if (_posting) { 
       [self postToWall]; 
       _posting = NO; 
      } 


    } 
} 

但經過這個應用程序崩潰,大多數時候,當我試圖登錄了「result」陣列它看起來是空的。爲什麼這樣?

我該怎麼辦?請建議。

回答

0

我這樣做的原因。

這是由於會話經常在兩者之間迷路。 因此,我必須在facebook登錄操作事件 中調用[會話恢復],並以這種方式,如果在任何一次會話都失去了任何機會,那麼上一次會話恢復並且「result」看起來不是(void)request:(FBRequest*)request didLoad:(id)result方法。

希望這可以幫助那些陷入同樣問題的人。

2

使用此代碼


NSArray *users=[[NSArray alloc]initWithObjects:result, nil]; 
     NSLog(@"users %@",users); 
     NSDictionary* user = [[NSDictionary alloc]initWithObjectsAndKeys:users,@"users", nil]; 
     NSLog(@"%@",user);
+0

「結果」似乎爲零。 – Aisha 2011-06-03 07:40:57