2012-10-16 116 views
3

我有2個iOS應用程序使用相同的Facebook應用程序ID。initWithAppID不使用本機Facebook登錄與iOS SDK 3.1.1

第一個與新的本地Facebook登錄很好。

在與付費版本集成時,我在跟隨this guide在兩個應用程序之間共享應用程序ID。

問題:由於某些原因,以下代碼未使用原生Facebook登錄,而是打開Safari進行Web登錄。

BOOL result = NO; 

FBSession *session = [[FBSession alloc] initWithAppID:nil 
              permissions:permissions 
             urlSchemeSuffix:@"paid" 
            tokenCacheStrategy:nil]; 

if (allowLoginUI || (session.state == FBSessionStateCreatedTokenLoaded)) { 
    [FBSession setActiveSession:session]; 
    [session openWithCompletionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
     [self sessionStateChanged:session state:state error:error]; 
    }]; 
    result = session.isOpen; 
} 

return result; 

我正在仔細檢查我是否使用我的Facebook帳戶登錄了iPhone的設置窗口。

在Facebook上沒有線索關於此文檔。

他們發佈了一個未完成/ bug的SDK嗎?

回答

1

我認爲你需要使用openWithBehavior:completionHandler:變種打開了會議,並明確指定FBSessionLoginBehaviorUseSystemAccountIfPresent的行爲。