To provide an excellent developer experience around our Rides SDK, we've identified the following areas to fix, so we can cut a 0.7 release.
[x] Migrate the Rides SDK to idiomatic Swift APIs #150
[x] Migrate the Rides SDK to Swift 4
[x] Check for correct API usage: the Rides API has new parameters we can use, and V1.2 endpoints that support flat fares
[x] Remove China support
This migration is a huge change, so I've split the changes into six PRs. The PRs set the base branch to the previous PR's branch, so that you can see the incremental changes. However, the goal is to merge everything into the develop branch, and use that to cut a 0.7 release of the SDK. Once the SDK is released, we'll move those commits to master.
Each PR has its own notes that describe the specific changes implemented, but here's high level information to keep in mind for how the PRs interact with each other. See the full diff.
1. #175: Remove China from SDK
This is a simple change -- this removes China and China-related tests from the SDK. However, I didn't remove the concept of the Region when I made these changes, as it would have affected some extra APIs. The Region is removed in the next PR
2. #176: Swifty APIs
See PR notes
3. #177: Swifty APIs (Part 2)
See PR notes
4. #178: Migrate to Swift 4
See PR notes
5. #179: Remove ObjectMapper dependency
Many of the models are actually changed in the next PR as I updated the mock JSON and code to hit V1.2 endpoints, so if there's a model-specific concern, check the next PR to make sure that it actually hasn't been addressed.
6. #180: Migrate Endpoints to Swift V1.2
See above.
In conjunction with this work, I am starting work on:
[x] Update sample projects for Swift and Objective-C
[x] Update README, CHANGELOG and other documentation. Prepare release notes.
To provide an excellent developer experience around our Rides SDK, we've identified the following areas to fix, so we can cut a 0.7 release.
This migration is a huge change, so I've split the changes into six PRs. The PRs set the base branch to the previous PR's branch, so that you can see the incremental changes. However, the goal is to merge everything into the
develop
branch, and use that to cut a 0.7 release of the SDK. Once the SDK is released, we'll move those commits to master.Each PR has its own notes that describe the specific changes implemented, but here's high level information to keep in mind for how the PRs interact with each other. See the full diff.
1. #175: Remove China from SDK
This is a simple change -- this removes China and China-related tests from the SDK. However, I didn't remove the concept of the
Region
when I made these changes, as it would have affected some extra APIs. TheRegion
is removed in the next PR2. #176: Swifty APIs
See PR notes
3. #177: Swifty APIs (Part 2)
See PR notes
4. #178: Migrate to Swift 4
See PR notes
5. #179: Remove ObjectMapper dependency
Many of the models are actually changed in the next PR as I updated the mock JSON and code to hit V1.2 endpoints, so if there's a model-specific concern, check the next PR to make sure that it actually hasn't been addressed.
6. #180: Migrate Endpoints to Swift V1.2
See above.
In conjunction with this work, I am starting work on:
Things to address based on PR feedback: