Kinvey iOS SDK
The Kinvey iOS 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 |
masterbranch represents the latest release of the SDK. See the CONTRIBUTING guidelines for details on submitting code.
- On version 1.x, use the
KinveyKitworkspace. On all other versions, use the
carthage build: build the dependencies frameworks using
make: runs a script that compile and generate the documentation files using
Xcode to run the unit tests.
- Open the file
- Select the
- Select the menu item
Or run the command line:
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.
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-versionon 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.
make deploy-cocoapodsin order to publish the new release for CocoaPods
API Reference Docs, and the
Downloadsection in the DevCenter repo.
- Push all changes to deploy.
- Send the email with the release notes for the
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.
See LICENSE for details.
See CONTRIBUTING.md for details on reporting bugs and making contributions.
Help us keep the lights on
3.12.0 - Jan 12, 2018
3.11.0 - Nov 21, 2017
- Upgrade dependencies to
User.socialIdentitywas not being persisted. (#255)
3.10.1 - Nov 8, 2017
- Binary compatibility for Xcode 9.1 / Swift 4.0.2
3.10.0 - Oct 25, 2017
- New enum
ValidationStrategyadded, which allow users to define a strategy to validate results upfront. There's 3 options available:
.custom(validationBlock: (Array<Dictionary<String, Any>>) -> Swift.Error?). Please see Reference Docs for more details. (#248)
let dataStore = DataStore<Person>.collection(.network, validationStrategy: .all)
3.9.1 - Oct 25, 2017
- Transforms were being ignored when saving objects that requires transformations, such as
Dateobjects for example (#250)