我正在尝试将优步整合到我的应用中
使用此代码添加超级登录按钮:
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打开野生动物园
答案 0 :(得分:0)
根据该错误,您似乎没有为您的info.plist
应用程序查询方案添加必要的网址方案。确保info.plist
中包含以下内容:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>uber</string>
<string>uberauth</string>
</array>
您可以阅读tutorial for configuring the SDK了解更多信息