Uber SSO登录错误Swift 2.3

时间:2016-12-27 15:06:20

标签: swift uber-api

我正在尝试将优步整合到我的应用中

使用此代码添加超级登录按钮:

    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然后应用程序商店(我安装了超级应用程序)而不是去超级应用程序允许或拒绝我需要的范围。我设置了重定向URI,客户端ID,显示名称,服务器令牌。

有人可以帮助我吗?

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 =默认&安培;范围=历史%20profile%20history_lite%20places%20ride_widgets%20all_trips%20request%20request_receipt&安培; SDK = IOS&安培; sdk_version = 0.6.0"    - 错误:“(null)”

EDIT2 - 我在Testflight上测试一个版本。当我点击登录按钮打开优步但不显示OAuth只用RedirectURI打开野生动物园

1 个答案:

答案 0 :(得分:0)

根据该错误,您似乎没有为您的info.plist应用程序查询方案添加必要的网址方案。确保info.plist中包含以下内容:

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

您可以阅读tutorial for configuring the SDK了解更多信息