API Uber все еще стабилен? Я не могу получить базовую аутентификацию, работающую на IOS 13 swift 5.0 - PullRequest
1 голос
/ 17 октября 2019

Пытался выполнить базовую интеграцию Uber IOS Ride Request SDK, я следовал приведенным здесь инструкциям https://developer.uber.com/docs/riders/ride-requests/tutorials/api/ios

При попытке аутентификации пользователя он открывает приложение Uber, а затем немедленно возвращается в мое приложение. На консоли выводится «code = 25» Пользователь отменил процесс входа в систему. «Я использую реальное устройство с IOS 13 и Swift 5.0. Похоже, что социальные сети Uber Developers не обновлялись с 2017 года и не очень активны.

Info.plist

<key>UberClientID</key>
    <string>907YWpr4cTwH9-TWVP0Fq8DX-_HuCxN3</string>
    <key>UberDisplayName</key>
    <string>Wandr</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>uber</string>
        <string>uberauth</string>
    </array>
    <key>UberCallbackURIs</key>
    <array>
        <dict>
            <key>UberCallbackURIType</key>
            <string>General</string>
            <key>URIString</key>
            <string>com.wandrinc.Wandr://oauth/consumer</string>
        </dict>
    </array>

функция входа в систему

func loginToUber() {
        let loginManager = LoginManager()
        loginManager.login(requestedScopes:[.request], presentingViewController: UIApplication.shared.keyWindow?.rootViewController!, completion: { accessToken, error in
            if let error = error {
                print(error)
                return
            }
            self.requestRide()
        })
    }

Делегат приложения

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
        let handledUberURL = UberAppDelegate.shared.application(app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] as Any)

        return handledUberURL
    }

    func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
        let handledUberURL = UberAppDelegate.shared.application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)

        return handledUberURL
    }

Вывод

Error Domain=com.uber.rides-ios-sdk.ridesAuthenticationError Code=25 "User cancelled the login process." UserInfo={NSLocalizedDescription=User cancelled the login process.}
...