• このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

いつもGrowth Pushをご利用いただきありがとうございます。

今回は、SwiftプロジェクトにiOS GrowthPush.frameworkを導入する方法をご紹介します。

まずは、プロジェクトにGrowthPush.frameworkを追加してください。
Xcode Project -> app target -> Bulid Phases -> Link Binary With Librariesに、Growth Pushが追加されていることを確認します。
スクリーンショット 2015-01-20 1.21.31

次に、Objective-Cのソースを、Swiftで使用するためのヘッダーを作成します。
${Project_name}-Bridging-Header.hというファイルを作成します。
File -> New -> File -> Headerを選択して、上記ファイル名で作成します。

このファイルにGrowth Pushのインポート文を追記します。
スクリーンショット 2015-01-19 21.49.37

次に、作成したBridging-HeaderをSwiftのコンパイル時に、読み込まれるように設定します。
Xcode Project ->app target -> Build Phases -> Swift Compiler – Code Generation Objective-C Bridging Header
ここに作成した、${Project_name}-Bridging-Header.hを追記します。
スクリーンショット 2015-01-19 21.49.11

Growth PushクラスをAppDelegate.swiftに実装します。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    EasyGrowthPush.setApplicationId(YOUR_APPLICATIONID, secret:"YOUR_SECRET", environment:kGPEnvironment, debug:true, option:EGPOption.All)
    return true
}

上記のように実装すると、定数kGPEnvrionmentがエラーとなります。
GrowthPush.h上の定数がSwiftプロジェクト上ですと参照されませんので、追加で実装していただきます。

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    var window: UIWindow?
 
    #if DEBUG
    let kGPEnvironment:GPEnvironment = GPEnvironment.Development
    #else
    let kGPEnvironment:GPEnvironment = GPEnvironment.Production
    #endif
----- 略 ------

ビルドごとに定数を変更していますが、こちらもSwiftプロジェクトですと表示で分岐されないため設定します。
Xcode Project ->app target -> Build Phases -> Swift Compiler – Custom Flag Other Swift Flags
ここのDebugというキーの値に

-D DEBUG

と追記します。
スクリーンショット 2015-01-19 21.45.51

これで、debug, releaseビルド時に定数が分岐されます。

これで設定は完了です。
アプリをビルドし、起動することで、デバイストークンの取得、Growth Pushへの登録ができたことを確認します。

以上で、SwiftプロジェクトへのGrowthPush.framework導入方法のご説明を終わります。