This SDK implements CareKit's Remote Synchronization API and must be coupled with the backend SDK IBM-HyperProtectMBaaS on the server side.
Note, this is a pre-1.0 release and is still in beta
- Logging with OSLog
- OAuth2 support with JWT
- Bi-directional Synchronization of other high level entities (Contact, CarePlan, Patient)
- Comprehensive integration tests
- Comprehensive system tests
- OpenAPI Specification template
- IBM Cloud Starter Kit support
- Travis Build Support
- Large object support ( > 16 MB)
This package can be imported into XCode using Swift Package Manager:
Now import the package with
import IBMHyperProtectSDK
and pass it in to your OCKStore:
let remote = IBMMongoRemote(/* credentials and connection information */)
let store = OCKStore(name: "SampleAppStore", type:
inMemory, remote: remote)
By default if no backend API information is passed in, it will default to https://localhost:3000
. Pass in the apiLocation
parameter to point to your IBM Hyper Protect MBaaS deployed locally for development or in IBM Cloud. If the MBaaS is deployed to the IBM Cloud, a certificate may be needed to go through the authentication challenge. This certificate may be added to your project folder. If no value is passed into certificate
, it will default to carekit-root
.
We're always looking for contributors to help improve the CareKit and IBM Hyper Protect community. Please follow the guide
- When using the IBM Hyper Protect SDK, you must also include CareKit in your app via SPM. Including CareKit using the traditional sub-project approach can cause runtime errors in the CoreData stack.
- As XCode and iOS prevent insecure connections by default, you must use SSL/TLS (https) for your connections. There are work-arounds but given that security is a core tennant of this SDK, we do not recommend skipping SSL/TLS, even in developement/testing.
- The backend of this SDK uses MongoDB which has a limit of 16 MB. An external object store must be used for objects larger than 16 MB (or segmented to fit the 16 MB limit). We are investigating GridFS support for larger objects.
Detailed end-to-end instructions for deploying the IBM-HyperProtectMBaaS and the iOS SDK (this project) with a CareKit sample app are provided here.