簡體   English   中英

iOS Facebook SDK分享照片並從Facebook應用注銷后

[英]iOS Facebook SDK share photo and after logout from Facebook app

我需要將我的應用安裝在展位的圖騰上。 申請流程為:

1)用戶拍照

2)用戶點擊打開Facebook應用程序的FBLoginView 用戶進行登錄,Facebook應用程序自動返回我的應用程序。

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)用戶點擊UIButton發布照片,然后再次打開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];刪除當前會話[[FBSession activeSession] closeAndClearTokenInformation]; FBLoginVIew將其文本更改為“使用Facebook登錄”,但是如果再次點擊FBLoginVIew ,則Facebook應用已被登錄,並且我無法使用其他配置文件進行登錄。

我需要知道是否可以通過編程方式注銷Facebook應用程序。

非常感謝你!

如果您要構建信息亭應用,則應在FBLoginView中將loginBehavior設置為FBSessionLoginBehaviorForcingWebView。 這將使用應用程序內Web視圖進行登錄,而不是快速將應用程序切換到FB應用程序。 通常,這是次等的用戶體驗,但是對於像您這樣的應用程序,您需要繞過SSO,因為您不能強制用戶退出Facebook應用程序。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM