2011-09-01 26 views
2

我正在嘗試將facebook集成添加到使用Cocos2D構建的我的ios遊戲中。我最初只是將CCLayer對象(NSObject的子類)作爲FBRequestDelegate,FBDialogDelegate和FBSessionDelegate。然後,我創建了一個Facebook的對象與我應該在我的Cocos2d應用程序中實現我的Facebook ios sdk代碼?

fb_permissions = [[NSArray arrayWithObjects: 
         @"read_stream", @"publish_stream", @"offline_access",nil] retain]; 

facebook = [[Facebook alloc] initWithAppId:kAppId 
            andDelegate:self]; 

下一個我稱之爲

[facebook authorize:fb_permissions]; 

當用戶按下按鈕。這一切工作正常,進入到Facebook的登錄頁面,正確授權我的應用程序等等。一旦返回執行我的比賽,我希望被稱爲

- (void)fbDidLogin 

方法,但它似乎並不如此。我有點困惑,只是想知道我是否已經解決了這個問題?我應該在我的根視圖控制器中實現我的Facebook SDK的東西嗎?即。讓我的viewcontroller成爲FB代表?

難道我錯過了一次調用handleOpenURL嗎?這似乎是depraated?我無法在這個特定問題上找到像樣的文檔...

謝謝!!

+0

看起來像我需要在我的應用程序委託handleOpenURL電話。我把所有的FB東西都移到了我的viewcontroller中,並且把handleOpenURL調用添加到了我的委託中,並且所有東西似乎都在工作:) – wallacer

回答

2

我認爲你需要在應用程序委託實現handleOpenURL:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 

    return [facebook handleOpenURL:url]; 
} 

編輯:我看到,執行返回到你的遊戲,所以你可能已經完成以下任務:

你會還需要編輯您的.plist文件以處理授權頁面的返回。您將在第6步這裏的末尾添加到MyApp-info.plist的條目下

Information Property List->URL Types->Item 0->URL Schemes->Item 0 = "fbYOUR_APP_ID" 

按照說明:http://developers.facebook.com/docs/guides/mobile/#ios

相關問題