Я пытаюсь интегрировать 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")
}
}
Код не работает для входа в систему с собственным типом в приложении. Когда я нажимаю «Войти», перенаправляю на сафари, затем в магазин приложений (у меня установлено приложение uber) и не перехожу в приложение uber, чтобы разрешить или запретить области, которые мне нужны. У меня был установлен URI перенаправления, идентификатор клиента, отображаемое имя, токен сервера.
Кто-нибудь может мне помочь?
РЕДАКТИРОВАТЬ1: Ошибка журнала:
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% = kEA5 historyTjaXpT7LyQe% = kEA5 historyTjaXpT7IQe% % 20ride_widgets% 20all_trips% 20request% 20request_receipt & sdk = ios & sdk_version = 0.6.0 "- ошибка:" (null) "
EDIT2 - я тестирую сборку в Testflight. Когда я нажимаю кнопку входа, открываю uber, но не отображается, только OAuth открывает сафари с RedirectURI