iOS 9 Facebook SDK Войти / Поделиться

Я столкнулся с проблемой использования последней версии Facebook SDK (4.6) на iOS 9. Для авторизации пользователя я использую FBSDKLoginManager. Я попытался установить это:

loginManager.loginBehavior = FBSDKLoginBehaviorNative;

Но SDK, похоже, всегда использует SFSafariViewController для авторизации Facebook.

Вот проблема, с которой я сталкиваюсь. Если пользователь установил на своем устройстве приложение FB с помощью FacebookAccountA, а затем пытается выполнить проверку подлинности с помощью моего приложения, ему предоставляется этот SFSafariViewController, и он может аутентифицировать приложение с помощью FacebookAccountB (отдельной учетной записи FB).

Затем в приложении я пытаюсь поделиться со следующим:

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:shareString];

FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
dialog.fromViewController = self;
dialog.shareContent = content;
dialog.delegate = self;
[dialog show];

Настройка по умолчанию для диалогового окна общего доступа в конечном итоге становится FBSDKShareDialogModeShareSheet. Лист обмена представлен в приложении правильно, и публикация, кажется, работает, однако ссылка размещена на FacebookAccountA (учетная запись нативного приложения), а НЕ FacebookAccountB (тот, который аутентифицирован в моем приложении).

Таким образом, если пользователь аутентифицирует мое приложение с другой учетной записью Facebook, чем он вошел в свое собственное приложение, он может в конечном итоге опубликовать учетную запись, отличную от той, которую он использовал для аутентификации моего приложения. Есть ли способ предотвратить это?

Заранее спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос