Я пытаюсь интегрировать Uber в мое приложение
Используйте этот код, чтобы добавить кнопку входа uber:
uberScopes = [.History, .Profile, .HistoryLite, .Places, .RideWidgets, .AllTrips, .Request, .RequestReceipt]
uberLoginManager = LoginManager(loginType: .Native)
let loginButton = LoginButton(frame: CGRectZero, scopes: uberScopes!, loginManager: uberLoginManager)
loginButton.presentingViewController = self
loginButton.delegate = self
loginButton.frame = logoutBgView.bounds
loginButton.autoresizingMask =
[.FlexibleWidth, .FlexibleHeight]
logoutBgView.addSubview(loginButton)
и делегировать
func loginButton(button: LoginButton, didLogoutWithSuccess success: Bool) {
if success {
showMessage("Logout")
}
}
func loginButton(button: LoginButton, didCompleteLoginWithToken accessToken: AccessToken?, error: NSError?) {
if let _ = accessToken {
showMessage("Saved access token!")
} else if let error = error {
showMessage(error.localizedDescription)
} else {
showMessage("Error")
}
}
Код не работает для собственного типа входа в приложение. Когда я нажимаю на» войти » перенаправление в safari, то app store (у меня установлено приложение uber), а не перейти к приложению uber, чтобы разрешить или запретить области, которые мне нужны. I was set redirect URI, client ID, display name, server token.
Кто-нибудь может мне помочь?
EDIT1: ошибка журнала:
2016-12-28 17:47:40.383 RexpenseSandbox[40681: 530203] — canOpenURL:
ошибка для URL: «uberauth: / / connect?third_party_app_name=xxxxxxxxxx
&callback_uri_string=xxxxxxxxxxxxxxx&client_id=kEA5TjaXpT7QeicsvWLIYS-L3eWBpVZq&login_type=default&scope=history%20profile%20history_lite%20places%20ride_widgets%20all_trips%20request%20request_receipt&sdk=ios&sdk_version=0.6.0»
— ошибка: «(null)»
EDIT2-я тестирую сборку на Testflight. Когда я нажимаю на кнопку входа открыть uber, но не появляется OAuth только открыть safari с RedirectURI
Основываясь на этой ошибке, похоже, что вы не добавили необходимые схемы url
info.plist
-адресов в схемы запросов приложений. Убедитесь, что в вашемinfo.plist
:Дополнительные сведения см. В руководстве по настройке SDK