2012-09-05 16 views
7

我遇到問題,試圖將我的Facebook SDK升級到最新的產品版本(FacebookSDK-3.0.8.pkg - 適用於iOS的Facebook SDK 3.0(更新1)[2012年8月21日]) 。Facebook SDK FBRequest requestForMe不兼容的指針類型

我正在關注this page的教程。

我遇到了幾個試圖讓代碼工作的問題,但並不像宣稱的那樣簡單。我可以打開會話,但無法獲得工作請求。

- (IBAction)facebookTapped:(id)sender { 
[FBSession openActiveSessionWithPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
    if(error) { 
     NSLog(@"Error opening session: %@", error); 
     return; 
    } 

    if(session.isOpen) { 
     NSLog(@"session is open"); 

     FBRequest *me = [FBRequest requestForGraphPath:@"me"]; 
     [me startWithCompletionHandler:^(FBRequestConnection *connection, 
             NSDictionary<FBGraphUser> *my, 
             NSError *error) { 
      NSLog(@"My name: %@", my.first_name); 
     }]; 
    } 

    }]; 
    } 

如果我刪除了對FBRequest requestforGraphpath的調用,我的控制檯顯示會話已打開。如果我留在,我收到初始化錯誤「不兼容的塊指針類型‘無效(^)(結構FBRequestConection ,結構的NSDictionary,結構NSError *)’,預期‘FBRequestHandler’

現在什麼我難倒是這是本教學中確切的代碼,excpet,我改變了[FBRequest requestForMe]嘗試不同的方法。沒有工作。

任何人都可以提供一些線索這對我來說?

謝謝。

+0

由於48小時的時限已經過去,你可以張貼編輯作爲一個答案呢? –

回答

7

我能夠通過changi解決這個問題納克其原始塊中的教程:

if (session.isOpen) { 
FBRequest *me = [FBRequest requestForMe]; 
[me startWithCompletionHandler: ^(FBRequestConnection *connection, 
            NSDictionary<FBGraphUser> *my, 
            NSError *error) { 
    self.label.text = my.first_name; 
}]; 
} 

if(session.isOpen) { 
     FBRequest *me = [FBRequest requestForMe]; 
     [me startWithCompletionHandler:^(FBRequestConnection *connection, 
             id result, 
             NSError *error) { 
      NSDictionary<FBGraphUser> *my = (NSDictionary<FBGraphUser> *) result; 
      NSLog(@"My dictionary: %@", my.first_name); 
     }]; 
    }