Changelog History
Page 2
-
v0.5.3 Changes
November 18, 2016๐ This will be the final release using Swift 2.2
๐ Fixed
- Issue #51 Added Information about Server Token in README
- โก๏ธ Issue #58 Updated README examples to correctly use pickup & dropoff
- โก๏ธ Issue #76 Update Ride Request Button Delegate to always fire. The RideRequestButtonDelegate will now always fire
didLoadRideInformation
once information has been loaded. Including if it encounters an error. Any errors that are encountered will still firedidReceiveError
.didReceiveError
will always be called beforedidLoadRideInformation
- Issue #86 via Pull #114 Fix RideScope not mapping for all cases
- Issue #94 Make ride status available in Objective-C
Issue #127 Shared Credentials across iOS app and extension
โ๏ธ Pull #105 Fixing typos
โก๏ธ Pull #72 Updates to make README more clear
โก๏ธ Pull #73 Updates to README about info.plist
Pull #65 Example of how to run samples without Carthage
-
v0.5.2 Changes
โ Added
The Ride Request Widget now attempts to refresh expired access tokens automatically. If you are using the RideRequestViewController, the SDK will attempt to hit the Refresh endpoint with your current Access Token's Refresh Token. If that fails, the user will be redirected to the appropriate login
๐ Fixed
-
v0.5.1 Changes
June 14, 2016๐ Fixed
- ๐ง Issue #47 SSO fails for correctly configured China apps. SDK now sends the correct Region string for SSO
-
v0.5.0 Changes
โ Added
SSO (Native login with Uber)
Introducing SSO. Allows a user to sign in & authorize your application via the native Uber app. Users no longer have to remember their username & password as long as they are signed into the Uber app.
- โ Added
LoginType.Native
- โ Added
NativeLoginAuthenticator
- โ Added
LoginButton
LoginButton
โ Added a built in button to make login easier. Uses a
LoginManager
to initiate the login process when the user taps the button. Reflects the logged in / logged out state of the user๐ Support all REST API Endpoints
โก๏ธ Updated
RidesClient
to support all of the REST API endpoints. See https://developer.uber.com/docs/api-overview for a complete overview of the endpointsUberAuthenticating Classes
โ Added Authenticating classes to handle the possible login types
- ImplicitGrantAuthenticator
- AuthorizationCodeGrantAuthenticator
- NativeAuthenticator
โก๏ธ These classes should be created with your requested scopes (and potentially other information) and will handle making the correct login call for you. LoginView and LoginManager have been updated to use these new classes
Deeplinks
All deeplink objects now subclass the
BaseDeeplink
which encapsulates shared logic for executing a deeplink.โ Added new
Deeplinking
objects,AuthenticationDeeplink
which is used for SSO, andAppStoreDeeplink
which is used to fallback to the Uber App on the App Store๐ Changed
Swift 2.2
โก๏ธ Updated to using Swift 2.2. XCode 7.3+ is now required
Info.plist
โก๏ธ There has been an update in how you define your callback URIs in your Info.plist. We now support callbackURIs for different login types. Anything that is not defined will use the
General
type (if you still use the oldUberCallbackURI
key, that will be treated asGeneral
)๐ We have also added
UberDisplayName
. This should contain the name of your application. See an example of the new format below<key>UberClientID</key> <string>YOUR_CLIENT_ID</string> <key>UberDisplayName</key> <string>YOUR_APP_NAME</string> <key>UberCallbackURIs</key> <array> <dict> <key>UberCallbackURIType</key> <string>General</string> <key>URIString</key> <string>callback://your_callback_uri</string> </dict> <dict> <key>UberCallbackURIType</key> <string>AuthorizationCode</string> <key>URIString</key> <string>callback://optional_authorization_code_uri</string> </dict> </array>
You also need to add a new Application Query Scheme on iOS 9+ in order to use SSO
<key>LSApplicationQueriesSchemes</key> <array> <string>uberauth</string> <string>uber</string> </array>
RideRequestButton
โก๏ธ The RideRequestButton has been updated to show information about your Uber ride. Requires setting a product ID in your RideParameters and optionally a dropoff address.
- โก๏ธ If only a productID is set, the button will update with a time estimate of how far away a car is
- If dropoff address & productID are set, the button will show a time estimate and a price estimate of the trip
Ride Request Widget Button
0๏ธโฃ The Ride Request Widget Button now defaults to using the
.Native
LoginType instead of the previous.Implicit
. If Native login is unavailable, it will automatically fallback to Implicit๐ฅ Breaking
LoginBehavior -> LoginType
๐
LoginBehavior
has been removed, replaced byLoginType
. Available login types:- .Implicit
- .AuthorizationCode
- .Native
LoginManager
LoginManager
now takes aLoginType
instead of aLoginBehavior
LoginView
LoginView
is now initialized using the new UberAuthenticating classes rather than an array ofRidesScope
RidesClient
๐ Renamed
getAccessToken()
tofetchAccessToken()
๐ Fixed
- โก๏ธ Issue #29 Carthage Compatible. Updated the SDK to work with Carthage
- Issue #25 AllTrips scope missing. With the addition of Authorization Code Grant & Native it is now possible to request privileged scopes
- โก๏ธ Issue #17 Warnings with Xcode 7.3. Selector syntax has been updated for Swift 2.2
- ๐ Issue #1 Unclear documentation. Updated README to be more clear
- โ Added
-
v0.4.2 Changes
April 19, 2016๐ Changed
โก๏ธ Correctly updated Change Log
-
v0.4.1 Changes
April 19, 2016โ Added
๐
NotSupported
RideRequestViewErrorType, which occurs when an operation is not supported by the current device (currently fired if you attempt to open ansms
ortel
link on the simulator๐ Fixed
- Issue #22 Attempting to Call / Text driver resulted in Ride Request Widget Closing
-
v0.4.0 Changes
April 11, 2016โ Added
๐ง Configuration
๐ง Handles SDK Configuration, including
ClientID
andRedirectURI
. Values are pulled from your app'sInfo.plist
LoginManager / Implicit Grant flow
โ Added implicit grant (i.e. token) login authorization flow for non-privileged scopes (profile, history, places, ride_widgets)
- โ Added
OAuthViewController
&LoginView
- โ Added
LoginManager
to handle login flow - โ Added
TokenManager
to handle access token management
Ride Request Widget
Introducing the Ride Request Widget. Allows for an end to end Uber experience without leaving your application.
- Requires the
ride_widgets
scope - Base view is
RideRequestView
RideRequestViewController
&ModalRideRequestViewController
for easy implementation that handles presenting login to the user
RideParameters
All ride requests are now specified by a
RideParameters
object. It allows you to set pickup/dropoff location, nickname, formatted address & product ID. Use theRideParametersBuilder
to easily createRideParameters
objectsโก๏ธ RideRequestButton Updates
RequestButton
has been renamed toRideRequestButton
RideRequestButton
now works by using aRideParameters
and aRequestingBehavior
. TheRideParameters
defines the parameters for the ride and therequestingBehavior
defines how to execute it. Currently availablerequestingBehaviors
are:DeeplinkRequestingBehavior
- Deeplinks into the Uber app to request a ride
RideRequestViewRequestingBehavior
- Presents the Ride Request Widget modally in your app to provide and end to end Uber experience
๐ Fixed
๐ฅ Breaking
ClientID
must now be set in your app'sInfo.plist
under theUberClientID
keyRequestButton
-->RideRequestButton
- Removed
init(colorStyle: RequestButtonColorStyle)
useinit(rideParameters: RideParameters, requestingBehavior: RideRequesting)
- Removed all setting parameter methods (
setPickupLocation()
,setDropoffLocation()
, ect) use aRideParameters
object instead - Removed
RequestButtonError
, only used to indicate noClientID
which is now handled byConfiguration
uberButtonTapped()
no longer public
- Removed
RequestDeeplink
- Removed
init(withClientID: String, fromSource: SourceParameter)
useinit(rideParameters: RideParameters)
instead - Removed all setting parameter methods (
setPickupLocation()
,setDropoffLocation
, ect) use aRideParameters
object instead SourceParameter
removed
- Removed
- โ Removed Carthage support
- โ Added
-
v0.3.1 Changes
February 11, 2016๐ Fixed
- Issue #12 where there's a "&" missing in the user-agent query item.
-
v0.3.0 Changes
February 01, 2016๐ฅ Breaking
- ๐ Change function signature of
setPickupLocationWithLatitude:longitude:nickname:address:
andsetDropoffLocationWithLatitude:longitude:nickname:address:
inRequestButton
andRequestDeeplink
to acceptDouble
for latitude and longitude parameters instead ofString
.
- ๐ Change function signature of
-
v0.2.1 Changes
January 26, 2016๐ Fixed
- Issue #8 where manual integration of SDK didn't allow use of resources.