2013-11-03 21 views
3

他們,我正在做我的cocos2d應用與Facebook SDK的照片分享。我遇到了一個問題:狀態爲Not Logged In的登錄視圖仍然是after authentication。我附上了圖片: enter image description hereFacebook的代表沒有通過身份驗證:cocos2d

問題:點擊Authentication pageSkipOK按鈕後,狀態必須改變爲Login。但事實並非如此。沒有Facebook代表在Auth之後被調用(當我第一次進入頁面時,loginViewShowingLoggedOutUser代表被調用,auth後沒有任何東西被調用)。

我已經做了:

  • 下載了Facebook SDK,附着於該項目。
  • 添加FacebookAppID,FacebookDisplayNameURL Schemesinfo.plist
  • 嘗試與我的cocos2d應用程序集成。
  • .h中增加了<FBLoginViewDelegate>
  • .m中增加了loginview.delegate = self

我還上傳的截圖是我在我的info.plist所做的: enter image description here

我創建登錄查看:

// Create Login View so that the app will be granted "status_update" permission. 
FBLoginView *loginview = [[FBLoginView alloc] init]; 

loginview.frame = CGRectOffset(loginview.frame, 5, 5); 
#ifdef __IPHONE_7_0 
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED 
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0 
    if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { 
     loginview.frame = CGRectOffset(loginview.frame, 5, 25); 
    } 
#endif 
#endif 
#endif 
loginview.delegate = self; 
[[[CCDirector sharedDirector]view]addSubview:loginview]; 
[loginview sizeToFit]; 

我發現了什麼: appdelegate未被調用:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
    // attempt to extract a token from the url 
    return [FBAppCall handleOpenURL:url 
        sourceApplication:sourceApplication 
        fallbackHandler:^(FBAppCall *call) { 
         NSLog(@"In fallback handler"); 
        }]; 
} 

進一步信息:

  • 的Xcode 5.0.1版本
  • 的iOS 7.0版本
  • Facebook的IOS-SDK-3.9

任何幫助ASAP是明顯的。

謝謝。

+0

所以基本上點擊確定後在Facebook上你的應用程序被回叫? –

+0

單擊「確定」或「跳過」時,它將返回到「登錄頁面」。但沒有代表被調用... – Thampuran

+0

您可以發佈您用於授權的方法(代碼)嗎? –

回答

3

對不起球員的原因...... @elio.d:非常感謝您的寶貴意見。這是我在編碼方面的錯誤。我粘貼了以下方法,只是在@implementation AppController之上。我是多麼白癡。這只是浪費了我整整一天的時間......:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
} 

這只是救了我。希望這可能對像我這樣的其他人有所幫助。 :)

1

你必須在你的應用程序,使Facebook的應用程序/網站登錄或授權link to the documentation後打電話給你的應用程序後面加一個URL方案,這就是爲什麼你的應用程序是不是叫

+0

你的意思是:用稱爲URL Schemes的單個數組子項創建一個名爲URL類型的數組鍵。給你一個單一的項目與你的應用程序ID前綴爲fb,對不對?我已經在提到的info.plist中提到過這個問題。如果這不是你提到的,那麼請請幫助... – Thampuran

+0

哦,對不起,我沒有看到它的問題 –