はまた
let pickupLocation = userLocation
let dropOffLocation = toLocation
let params = RideParametersBuilder().setPickupLocation(pickupLocation).setDropoffLocation(dropOffLocation).build()
let loginManager = LoginManager()
if TokenManager.fetchToken() != nil {
self.rideRequestViewController = RideRequestViewController(rideParameters: params, loginManager: loginManager)
self.rideRequestViewController.delegate = self
self.rideRequestViewController.view.frame = CGRectMake(0, 50, self.view.frame.size.width, self.view.frame.size.height - 50)
self.view.addSubview(self.rideRequestViewController.view)
self.addChildViewController(self.rideRequestViewController)
self.rideRequestViewController.didMoveToParentViewController(self)
}
else {
loginManager.login(requestedScopes: [.RideWidgets], presentingViewController: self) { (accessToken, error) in
if error == nil {
print(accessToken)
dispatch_async(dispatch_get_main_queue(), {
TokenManager.saveToken(accessToken!)
self.rideRequestViewController = RideRequestViewController(rideParameters: params, loginManager:loginManager)
self.rideRequestViewController.delegate = self
self.rideRequestViewController.view.frame = CGRectMake(0, 50, self.view.frame.size.width, self.view.frame.size.height - 50)
self.view.addSubview(self.rideRequestViewController.view)
self.addChildViewController(self.rideRequestViewController)
self.rideRequestViewController.didMoveToParentViewController(self)
})
}
else {
dispatch_async(dispatch_get_main_queue(), {
let alert = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle:.Alert)
let action = UIAlertAction(title: "ok", style: .Cancel, handler: nil)
alert.addAction(action)
self.presentViewController(alert, animated: true, completion: nil)
})
}
}
}
セットRideRequestViewController委任のparams開始と終了位置を設定しユーバーのデベロッパーダッシュボード
にコールバックURIを設定し、アクセストークンがでコールバックURIをチェックし、その後行方不明かどうかを確認Uber DeshBoard
extension UberRideViewController : RideRequestViewControllerDelegate {
func rideRequestViewController(rideRequestViewController: RideRequestViewController, didReceiveError error: NSError) {
let errorType = RideRequestViewErrorType(rawValue: error.code) ?? .Unknown
switch errorType {
case .AccessTokenMissing:
print("access missing")
// No AccessToken saved
case .AccessTokenExpired:
print("expired")
// AccessToken expired/invalid
case .NetworkError:
print("network Error")
// A network connectivity error
case .Unknown:
print("Error")
default:
print("default")
}
}
}
あなたの接続とは関係ありません。それは認証エラーです:** ridesAuthenticationError **。正しい詳細を送信してもよろしいですか? – Eeshwar
はい、Uberさんが提示した 'LoginManagerViewController'の正しい情報を渡しています –
ログインページがまったく表示されていませんか、そのエラーで直ちに失敗しますか?また、どのバージョンのSDKを使用していますか? –