При авторизации приложения ничего не происходит
MrWoWander opened this issue · 2 comments
После того, как я ввел логин и пароль от аккаунта, дал своему аккаунту доступ к приложению, в браузере просто белый экран, и больше ничего не происходит. Ожидаю просто автоматическое закрытие браузера и уже выполнения логики, прописанная в vkSdkAccessAuthorizationFinished
.
func vkSdkAccessAuthorizationFinished(with result: VKAuthorizationResult!) {
if result.token != nil {
// дальнейший код
}
}
Сейчас данный метод отрабатывает только при нажатии кнопки Done в браузере, что подразумевает ручное закрытие браузера, НО при этом никакие данные не сохраняются, тем самым result.token == nil
Браузер открыт через present()
внутри приложения (SFSafariViewController
)
Удалось скопировать ссылку (https://oauth.vk.com/auth_redirect?app_id=...
- полную ссылку понятное дело не покажу, но там идет информация о пользователе и токен).
В Info.plist
все прописано:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>vk{ID моего приложения}</string>
</array>
</dict>
</array>
Кто может помочь с решением проблемы?
(постарался посмотреть предыдущие issues - решения не нашел)
Пока решил эту проблему, используя не SFSafariViewController
, а именно WebView
, но если кто то знает, как это сделать через SFSafariViewController
- ответьте пожалуйста
P.S. Чтобы запустить авторизацию в режиме WebView
нужно передайть в authorize()
второй параметр:
VKSdk.authorize(scope, with: VKAuthorizationOptions.init(rawValue: 2))
что бы браузер закрывался автоматически, а не через Done, мне помогло вот это #525 (comment)