Create an enterprise-ready iOS application with a secure backend for push notifications, cryptography, and authentication
In this code pattern, you will create an enterprise-ready mobile backend as a service (MBaaS) using Swift and Hyper Protect Services. Hyper Protect Services bring continuous security to IBM Cloud, so all data is encrypted in flight, at rest, and in use. You'll essentially have an empty project with more data security than your typical MBaaS, including highly secure push notifications, cryptography, and authentication.
When you have completed this code pattern, you will understand how to:
- Build an iOS application
- Provision and integrate with Push Notifications and Hyper Protect Crypto Services
- Connect to additional IBM Cloud services
As an alternative to the steps below, you can create this project as a starter kit on IBM Cloud, which automatically provisions required services, and injects service credentials into a custom fork of this pattern. Then, you can skip directly to step 3 below.
Ensure you have the required developer tools installed from Apple:
- iOS 10.0+
- Xcode 11.0+
- Swift 5.0
The IBM Cloud Mobile services SDK uses CocoaPods to manage and configure dependencies.
You can install CocoaPods using the following command:
$ sudo gem install cocoapods
If the CocoaPods repository is not configured, run the following command:
$ pod setup
A pre-configured Podfile
is included in this repository. To download and install the required dependencies, run the following command in your project directory:
$ pod install
Open the Xcode workspace, {APP_Name}.xcworkspace
. Continue to open the .xcworkspace
file as it contains all the dependencies and configurations.
If you run into any issues during the pod install, it is recommended to run a pod update by using the following commands:
$ pod update
$ pod install
Click Product > Run to start the app in Xcode. You will see a screen like this:
The application has built in integration points for the Push Notifications, Hyper Protect Crypto, and App ID services.
This code pattern is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.