You can add MobileFirst functionality
to your existing MobileFirst Xcode
project with CocoaPods.
About this task
The
IBM
MobileFirst Platform Foundation
iOS SDK consists of a collection of pods, available through CocoaPods,
that you can add to your project. The pods correspond to core and
other functions that are exposed by
IBM MobileFirst Platform Foundation.
The SDK contains the following optional pods for
MobileFirst development:
Table 1. Pods
for installing optional frameworksPod |
Feature |
IBMMobileFirstPlatformFoundationPush |
Adds the IBMMobileFirstPlatformFoundationPush framework
for enabling Push. For more information, see Push notification. |
IBMMobileFirstPlatformFoundationJSONStore |
Implements the JSONStore feature. Include this pod in your
Podfile if you intend to use the JSONStore feature in your app. See JSONStore. |
IBMMobileFirstPlatformFoundationOpenSSLUtils |
Contains the MobileFirst embedded
OpenSSL feature and loads automatically the openssl framework.
Include this pod in your Podfile if you intend to use the OpenSSL
provided by MobileFirst. For more information on OpenSSL options,
see Enabling OpenSSL for iOS. |
Procedure
- Open a command line terminal at the location of your Xcode
project.
- Run the pod init command to create a Podfile file.
- Open the new Podfile file also at
the Xcode project root.
- Comment out or remove the entire existing content.
- Add the following lines including the iOS version and save
the changes:
use_frameworks!
platform :ios, [version]
pod '[pod_name]'
For example for the OpenSSL
pod using Xcode 9 the file would look like this:use_frameworks!
platform :ios, 9.0
pod 'IBMMobileFirstPlatformFoundationOpenSSLUtils'
Note: The
previous syntax imports the latest version of the
IBMMobileFirstPlatformFoundationOpenSSLUtils pod.
If you are are not using the latest version of
MobileFirst,
you need to indicate the version. For example, for importing the specific
patch version
8.0.2016021411
for
IBMMobileFirstPlatformFoundationOpenSSLUtils the
line would look like this:
pod 'IBMMobileFirstPlatformFoundationOpenSSLUtils', '8.0.2016021411'
- Optional: If you are
developing for watchOS your Podfile must contain
sections corresponding to the main app and the watchOS extension:
#use the name of the app
xcodeproj 'MyWatchApp'
use_frameworks!
#use the name of the iOS target
target :MyWatchApp do
platform :ios, 9.0
pod 'IBMMobileFirstPlatformFoundation'
end
#use the name of the watch extension target
target :MyWatchApp WatchKit Extension' do
platform :watchos, 2.0
pod 'IBMMobileFirstPlatformFoundation'
end
Note: See the previous note about pod versions.
The
targets must match your main iOS app and watchOS extension:
The main app section can contain any
of the frameworks documented here. However, only the IBMMobileFirstPlatformFoundation pod
is supported for the watchOS extension. For more information on watchOS,
see Developing for watchOS 2.
- Verify that the Xcode project is closed.
- Run the pod install command. This command
installs the IBMMobileFirstPlatformFoundation pod
and any other pods that are specified in the Podfile and
their dependencies. It then generates the pods project, and integrates
the client project with the MobileFirst SDK.
It also adds the required non-MobileFirst dependencies.
- Open your [ProjectName].xcworkspace file
in Xcode by typing open [ProjectName].xcworkspace from
a command line. This file is in the same directory as
the [ProjectName].xcodeproj file.
- You will need to import the headers for some of the frameworks.
The main framework is imported like this: If you are using
Push or JSONStore you need to include an independent import:
Push
For
Objective C:#import
<IBMMobileFirstPlatformFoundationPush/IBMMobileFirstPlatformFoundationPush.h>
For
Swift:import IBMMobileFirstPlatformFoundationPush
JSONStore
For
Objective C:
#import <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationJSONStore.h>
For
Swift:
import IBMMobileFirstPlatformFoundationJSONStore
watchOS
For
Objective C:
#import <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationWatchOS.h>
For
Swift:
import IBMMobileFirstPlatformFoundationWatchOS
Results
Your Xcode project can now include optional
IBM
MobileFirst Platform Foundation
features.
What to do next
Before you can accesss server resources, you must register
your app. See
Registering iOS applications to MobileFirst Server