2012-11-01 105 views
5

我嘗試使用Facebook的登錄,隨後Facebook的教程https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/來實現,但要求我允許我的應用程序使用您的數據,然後按確定錯誤的iOS 6的Facebook SDK 3.1.1登錄錯誤

警報視圖後操作無法完成。 (com.facebook.sdk錯誤2)

請注意,iam在simulatore和我進入FB我的帳戶裏面的設置,它被記錄正確。

調試的問題,它和錯誤的結果如下:

(NSError *)$ 1 = 0x0ac77290錯誤域= com.facebook.sdk代碼= 2「的操作無法完成(com.facebook.sdk error 2.)「UserInfo = 0xac77450 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:ErrorLoginFailedReason,com.facebook.sdk:ErrorInnerErrorKey = Error Domain = com.apple.accounts Code = 7「Facebook服務器無法滿足此訪問請求:沒有存儲remote_app_id for app」UserInfo = 0xaa91d40 {NSLocalizedDescription = Facebook服務器無法完成此訪問請求:沒有存儲remote_app_id for app}}

回答

2

它爲我登出從設備設置的Facebook之後。

+2

這是更多的解決方法!如果您從設置中註銷您的FB,則它會遵循不同的流程(打開瀏覽器)。當用戶使用該應用程序時,他不會退出其設置以使其適用於您的應用程序。 – Dev

0

在使用fb sdk的ios 6中3.1.1。請在「[FBSessio openActiveSessionWithReadPermissions ...」方法中將權限參數傳遞爲「無或電子郵件」。在這裏,我的代碼很棒。

#define IOS_NEWER_OR_EQUAL_TO_6 ([ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >= 6.0) 

-(void)showFBLogin 
{ 
    [FBSession.activeSession closeAndClearTokenInformation]; 

    NSArray *permissions = [NSArray arrayWithObjects:@"email, publish_actions, publish_stream", nil]; 

#ifdef IOS_NEWER_OR_EQUAL_TO_6 
    permissions = nil; or NSArray *permissions = [NSArray arrayWithObjects:@"email",nil]; 
#endif 

    NSLog(@"\npermissions = %@", permissions); 
    [FBSession openActiveSessionWithReadPermissions:permissions 
             allowLoginUI:YES 
            completionHandler: 
    ^(FBSession *session, 
     FBSessionState state, NSError *error) { 
     NSLog(@"\nfb sdk error = %@", error); 
     switch (state) { 
      case FBSessionStateOpen: 
       [[FBRequest requestForMe] startWithCompletionHandler: 
        ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
         if (!error) { 
          //success 
         } 
        }]; 
       break; 
      case FBSessionStateClosed: 
       //need to handle 
       break; 
      case FBSessionStateClosedLoginFailed: 
       //need to handle 
       break; 
      default: 
       break; 
     } 
    }]; 
} 
0

這工作對我來說:

轉到您的iPhone的設置應用程序。 打開你的Facebook設置 向下滾動到你的應用程序,並確保你的應用程序允許Facebook的交互。