Kinvey Swift SDK
The Kinvey Swift SDK is a package that can be used to develop iOS applications on the Kinvey platform. Refer to the Kinvey DevCenter for documentation on using Kinvey.
In the version 3 of the library, all new code is written in Swift and any application using v3 must also use Swift to access the API.
While we transition from Objective C to the latest Swift versions, we will use the following branching scheme. Please, pick the right version of our library depending of which langugage / version you are using:
Language / Version | Kinvey SDK Version | Development Branch |
---|---|---|
Swift 3 and Swift 4 | 3.3.0 and above | master |
Swift 2.3 | 3.2.x | 3.2 |
Objective-C | 1.x | 1.x |
Note:
- The
master
branch represents the latest release of the SDK. See the CONTRIBUTING guidelines for details on submitting code. - On version 1.x, use the
KinveyKit
workspace. On all other versions, use theKinvey
workspace.
Building
You will need Carthage, Jazzy and Xcode command line tools
installed to be able to build the SDK.
make
: runs build, archive, pack and docs commands one after another which will build and pack the project and also generate the documentation files usingJazzy
Check the Makefile for all available commands
Testing
Use Xcode
to run the unit tests.
- Open the file
Kinvey.xcworkspace
in Xcode - Select the
Kinvey
scheme - Select the menu item
Product
->Test
or pressCommand+U
Or run the command line:
make test
Important Note: adding the environment variables KINVEY_APP_KEY, KINVEY_APP_SECRET and KINVEY_MIC_APP_KEY will allow you to run the tests against a real Kinvey environment.
Releasing
We use GitFlow workflow for better management.
The workflow for releasing a new version of the SDK is as follows:
- Merge all waiting pull requests / feature branches on the develop branch.
- Bump the version running
make set-version
on the develop branch. - Checkout the master branch and merge the develop branch.
- Tag the version with git.
- Push all changes.
- Upload the zip file containing all the binary files for Amazon AWS.
- Run
make deploy-cocoapods
in order to publish the new release for CocoaPods - Publish
release notes
,API Reference Docs
, and theDownload
section in the DevCenter repo. - Push all changes to deploy.
- Send the email with the release notes for the
Customer Service
andDevelopment
team
Version Management
Updating the sdk version should follow Semantic Version 2.0.0:
- Major (x.0.0): when making an incompatible API changes.
- Minor (3.x.0): when adding functionality in a backwards-compatible manner.
- Patch (3.0.x): when making backwards-compatible bug fixes or enhancements.
License
See LICENSE for details.
Contributing
See CONTRIBUTING.md for details on reporting bugs and making contributions.