Ошибка входа в систему единого входа Uber Swift 2.3

Я пытаюсь интегрировать 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


person Community    schedule 27.12.2016    source источник
comment
Не могли бы вы поделиться своими логами?   -  person Alexander Graebe    schedule 28.12.2016
comment
@agraebe Редактировать сообщение с ошибкой журнала только переопределить имя приложения и перенаправить uri   -  person    schedule 28.12.2016
comment
Вы следовали инструкциям по настройке единого входа с помощью uber: developer.uber.com/docs/riders/ride-requests/tutorials/api/   -  person Dustin Whittle    schedule 03.01.2017


Ответы (1)


Исходя из этой ошибки, похоже, что вы не добавили необходимые схемы URL-адресов в свои info.plist схемы запросов приложений. Убедитесь, что в вашем info.plist есть следующее:

<key>LSApplicationQueriesSchemes</key>
<array>                                           
<string>uber</string>
<string>uberauth</string>
</array>

Вы можете прочитать руководство по настройке SDK для получения дополнительной информации.

person John Brophy    schedule 05.01.2017
comment
У меня работает, спасибо! - person ; 10.01.2017