CocoaPods でのオプション・フレームワークの追加

CocoaPods で、MobileFirst 機能を既存の MobileFirst Xcode プロジェクトに追加することができます。

始める前に

ご使用の開発環境に CocoaPods がインストールされている必要があります。 さらに、コア MobileFirst フレームワークとライブラリーを含むフル機能の MobileFirst Xcode プロジェクトが必要です。 詳しくは、iOS 向けの Xcode プロジェクトの手動セットアップまたはCocoaPods を使用した iOS Xcode プロジェクトへの MobileFirst SDK の追加を参照してください。

このタスクについて

IBM MobileFirst Platform Foundation iOS SDK には CocoaPods を介して使用可能ないくつかのポッドが含まれていて、それらをプロジェクトに追加することができます。それらのポッドは、 IBM MobileFirst Platform Foundation によって公開されるコア機能およびその他の機能に対応しています。 SDK には、MobileFirst 開発のための以下のオプション・ポッドが含まれています。
表 1. オプション・フレームワークをインストールするためのポッド
ポッド 機能
IBMMobileFirstPlatformFoundationPush プッシュを有効にするために IBMMobileFirstPlatformFoundationPush フレームワークを追加します。 詳しくは、 プッシュ通知を参照してください。
IBMMobileFirstPlatformFoundationJSONStore JSONStore フィーチャーを実装します。 アプリケーションで JSONStore フィーチャーを使用する予定である場合は、Podfile 内にこのポッドを含めてください。JSONStoreを参照してください。
IBMMobileFirstPlatformFoundationOpenSSLUtils MobileFirst 組み込み OpenSSL フィーチャーを含み、openssl フレームワークを自動的にロードします。 MobileFirst で提供される OpenSSL を使用する予定である場合は、Podfile 内にこのポッドを含めてください。 OpenSSL オプションについて詳しくは、iOS での OpenSSL の有効化を参照してください。

手順

  1. Xcode プロジェクトのロケーションでコマンド・ライン端末を開きます。
  2. pod init コマンドを実行して Podfile ファイルを作成します。
  3. 同じく Xcode プロジェクトのルートで、新規 Podfile ファイルを開きます。
  4. 既存の内容をすべてコメント化するか削除します。
  5. iOS バージョンを含む以下の行を追加し、変更を保存します。
    use_frameworks!
    platform :ios, [version]
    pod '[pod_name]'
    例えば、Xcode 9 を使用した OpenSSL ポッドの場合、以下のようなファイルになります。
    use_frameworks!
    platform :ios, 9.0
    pod 'IBMMobileFirstPlatformFoundationOpenSSLUtils'
    注: 前の構文では、最新バージョンの IBMMobileFirstPlatformFoundationOpenSSLUtils ポッドをインポートします。 最新バージョンの MobileFirst を使用しない場合、 バージョンを指示する必要があります。 例えば、IBMMobileFirstPlatformFoundationOpenSSLUtils の特定のパッチ・バージョン 8.0.2016021411 をインポートする場合、以下のような行になります。
    pod 'IBMMobileFirstPlatformFoundationOpenSSLUtils', '8.0.2016021411'
  6. オプション: watchOS の開発をしている場合、Podfile には、メイン・アプリケーションと watchOS 拡張のそれぞれに対応するセクションが含まれていなければなりません。

#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
注: ポッドのバージョンに関する上記の注を参照してください。

target は、以下のメイン iOS アプリケーションと watchOS 拡張に一致する必要があります。

これは、MyWatchApp プロジェクトのナビゲーションの画面キャプチャーで、
MyWatchApp フォルダーと MyWatchApp WatchKit Extension フォルダーが強調表示されています。

メイン・アプリケーション・セクションには、ここに記載された任意のフレームワークを含めることができます。 ただし、watchOS 拡張でサポートされるのは、IBMMobileFirstPlatformFoundation ポッドのみです。 watchOS について詳しくは、watchOS 2 用の開発を参照してください。

  1. Xcode プロジェクトが閉じていることを確認します。
  2. pod install コマンドを実行します。このコマンドは、 IBMMobileFirstPlatformFoundation ポッドと Podfile に指定されている他のすべてのポッド、およびそれらの依存関係をインストールします。 次に、このコマンドは、ポッド・プロジェクトを生成し、クライアント・プロジェクトを MobileFirst SDK と統合します。 また、MobileFirst 以外の必要な依存関係も追加します。
  3. コマンド・ラインから open [ProjectName].xcworkspace と入力して、 Xcode で [ProjectName].xcworkspace ファイルを開きます。 このファイルは、[ProjectName].xcodeproj ファイルと同じディレクトリーにあります。
  4. いくつかのフレームワークのヘッダーをインポートする必要があります。 メイン・フレームワークは、以下のようにインポートされます。 Push または JSONStore を使用している場合は、独立したインポートを組み込む必要があります。

    プッシュ

    Objective C の場合:
    #import
    <IBMMobileFirstPlatformFoundationPush/IBMMobileFirstPlatformFoundationPush.h>
    Swift の場合:
    import IBMMobileFirstPlatformFoundationPush

    JSONStore

    Objective C の場合:

    #import <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationJSONStore.h>

    Swift の場合:

    import IBMMobileFirstPlatformFoundationJSONStore

    watchOS

    Objective C の場合:

    #import <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationWatchOS.h>

    Swift の場合:

    import IBMMobileFirstPlatformFoundationWatchOS

タスクの結果

これで、Xcode プロジェクトにオプションの IBM MobileFirst Platform Foundation の機能を組み込むことができるようになりました。

次のタスク

サーバー・リソースにアクセスするには、アプリケーションを登録しておく必要があります。MobileFirst Server への iOS アプリケーションの登録を参照してください。