2014-09-19 99 views
1

我需要將我的應用安裝在展臺上的圖騰上。應用程序流程是:iOS Facebook SDK共享照片並從Facebook應用登出後

1)用戶拍攝照片上的FBLoginView打開Facebook的應用程序

2)用戶抽頭。用戶使登錄和Facebook應用程序自動返回到我的應用程序。在UIButton

FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions: 
          @[@"public_profile", @"email", @"user_friends"]]; 

// Align the button in the center horizontally 
loginView.delegate = self; 

loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width/2)), 5); 
[self.view addSubview:loginView]; 

3)用戶抽頭後的照片和Facebook的應用程序被再次打開。共享的代碼如下

NSArray* images = @[ 
        @{@"url": [UIImage imageNamed:@"zoom_out_(25x25)"], @"user_generated" : @"true" } 
        ]; 

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject]; 
[action setObject:@"https://example.com/cooking-app/meal/Lamb-Vindaloo.html" forKey:@"meal"]; 
[action setObject:images forKey:@"image"]; 

[FBDialogs presentShareDialogWithOpenGraphAction:action 
             actionType:@"fbsdktoolkit:cook" 
          previewPropertyName:@"meal" 
             handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
              if(error) { 
               [[FBSession activeSession] closeAndClearTokenInformation]; 
              } else { 
               [[FBSession activeSession] closeAndClearTokenInformation]; 
              } 
             }]; 

4)用戶消失和另一個用戶(與另一個Facebook的個人主頁)重新從點流1.

的問題是,當共享動作完成我用[[FBSession activeSession] closeAndClearTokenInformation];刪除當前會話。 FBLoginVIew將其文本更改爲「使用Facebook登錄」,但如果再次點擊FBLoginVIew,Facebook應用程序已經記錄,我無法使用其他配置文件登錄。

我需要知道是否有方法以編程方式註銷Facebook應用程序。

非常感謝!

+0

讓用戶使用一臺設備,並不斷與他們的帳戶密碼,將最有可能成爲一個問題。如果許多用戶在很短的時間內在一臺設備上登錄,Facebook會檢測到它。最好讓用戶使用他們自己的設備(例如使用qr標籤)。 – luschn 2014-09-19 10:26:24

+0

[facebook-ios-sdk註銷問題]的可能重複(http://stackoverflow.com/questions/6226950/facebook-ios-sdk-logout-question) – 2014-09-22 14:10:16

回答

0

如果您正在構建自助服務終端應用,則應該將FBLoginView中的loginBehavior設置爲FBSessionLoginBehaviorForcingWebView。這將使用應用內web視圖進行登錄,而不是通過快速應用切換到FB應用。通常,這是一種較差的用戶體驗,但對於像您這樣的應用,您需要繞過SSO,因爲您無法強制用戶退出Facebook應用。

https://developers.facebook.com/docs/reference/ios/current/class/FBLoginView#loginBehavior