2013-05-08 20 views
0

即時通訊設法使用Facebook的SDK爲我的IOS 5應用程序,我有iOS 6與UIActivityViewController工作。使用此代碼顯示登錄按鈕在簡單的IOS應用程序上使用Facebook SDK的問題

  loginview = [[FBLoginView alloc] init]; 

     loginview.frame = CGRectOffset(loginview.frame, 65, 50); 
     [loginview setDelegate:self]; 
     loginview.publishPermissions = @[@"publish_actions"]; 
     loginview.defaultAudience = FBSessionDefaultAudienceFriends; 

     [self.view addSubview:loginview]; 

它顯示按鈕正常,當我點擊它打開Safari瀏覽器,並要求我給權限我的應用程序,我點擊是,則回到我的應用程序,但按鈕保持登錄文本,而不是登出文本和任何委託方法(loginViewFetchedUserInfo,loginViewShowingLoggedInUser,...)被調用。

我的代碼幾乎是從HelloFacebookSample項目中複製的。

我有我的plist文件中的facebook應用程序ID和所有的東西。

我真的停留在這我不能找到一個解決方案谷歌,所以我來到這裏問作爲我最後的希望。

對不起,我的英語不好,謝謝你的幫助。

+0

你可以檢查這個http://stackoverflow.com/questions/15467558/integrating-facebook-sdk-for-older-versions-of-xcode-to-support-both-ios-5-and-i/15471713 #15471713 希望它可以幫助你。 – 2013-05-08 12:47:37

回答

0

變化在

- (void)fbDidLogin 

委託方法您的按鈕標題

+0

我沒有任何fbDidLogin方法,它不是來自fbloginview,它來自fbsession,但我不知道是否需要使用該類,示例項目沒有使用它... – Nanoc 2013-05-08 12:04:23

+0

您正在使用Facebook Graph API嗎? – Ushan87 2013-05-08 12:04:59

+0

即時通訊使用Facebook SDK我跟着這個https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/ – Nanoc 2013-05-08 12:06:37

0

請確保您的應用程序代理,你有這樣的事情(假設你有3.5 SDK)

- (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]; 
} 

您需要進行設置,以便在顯示Safari後,您的應用處理返回的URL並將其傳遞到SDK以更新會話信息,並依次更新登錄按鈕狀態。

相關問題