セットアップ

Mobage Native SDK を用いた開発を始めるには、初めにライブラリやヘッダファイル等の SDK ファイル一式を Xcode にインポートする必要があります。このページでは Xcode での新規プロジェクト作成と Mobage Native SDK ライブラリのインポートの方法について解説します。

Xcode で新規プロジェクトを作成する


 
Xcode を起動すると、上のようなウェルカム画面が表示されます。新しいプロジェクトを作成するために "Create a new Xcode project" を選択します。
次のようなプロジェクトテンプレート選択画面が表示されるので、使用したいテンプレートを選択します。


 
ここでは、"Single View Application" を選択し、右下の "Next" ボタンを押します。

テンプレートを選択すると、次はプロジェクトの名前などを設定する画面に遷移します。
プロジェクトの名前を "Product Name" の右側のテキストボックスに入力し、右下の "Next" ボタンを押します。

すると、次はプロジェクトを保存する場所を選択する画面に移ります。保存したい場所を選んで右下の "Create" ボタンを押します。

統合開発環境が立ち上がり、新規プロジェクト作成完了となります。

左ペインの 
${PJNAME}/${PJNAME}AppDelegate.m
をクリックすると、以下のようにソースコードが表示されます。

新規プロジェクトを作成するためには

Xcode 4.5 より、新規プロジェクトを作成すると、C++ Standard Library に libc++ がデフォルトで選択されるようになりました。そのため、C++ Standard Library に 
libstdc++ を使用している Mobage SDK では libstdc++ のシンボルが見つからずにビルドエラーとなります。これを回避するためには以下の手順を行なってください。

Mobage Native SDK 1.4.6 以降では、C++ Standard Library の変更をする必要はありません。
Mobage Native SDK 1.4.6 以降では、AppDelegate.m を AppDelegate.mm に変更する必要はありません。
  • 新規にプロジェクト作成した場合、 C++ Standard Library を libc++ (LLVM C++ standard library with C++11 support) から libstdc+ (GNU C+ standard library) に変更してください。
  • AppDelegate.m を AppDelegete.mm に変更してください。

    Keychain Groups に com.mobage.shared を追加する

    "TARGETS" -> "Capabilities" -> "Keychain Sharing" の右にあるスイッチを "ON" にして、"Keychain Groups" に com.mobage.shared を追加してください。
    この作業を行わないと、Mobage への接続が行われずにゲームを開始することができません。

Mobage Native SDK のライブラリのインポート

作成した新規プロジェクトに Mobage Native SDK ライブラリをインポートします。iOS 版 MobageSDK フォルダをドラッグ&ドロップして、作成した新規プロジェクトを開いている Xcode のウィンドウにファイルをインポートしてください。


 

F.O.X for Mobage について

Mobage NativeSDK 1.4.7 より、今まで libmobage.a スタティックライブラリ内に組み込まれていた F.O.X for Mobage を取り外したバージョンの SDK ライブラリを同梱しています。
F.O.X for Mobage を利用する場合は、何もせずに上記 [Mobage Native SDK のライブラリのインポート] に記載された手順で問題ありません。
F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X SDK を組み込む場合には、libmobage.a をリンクせず、代わりに SDKWithoutFOX/libmobage-withoutfox.a をリンクしてください。

  1. F.O.X for Mobage を利用しない場合、以下のように lib ごと削除します。
  2. SDKWithoutFOX/libmobage-withoutfox.a を MobageSDK 以下にドラッグ&ドロップしてファイルをインポートしてください。

Architectures の設定 (1.4.7 以降)

Mobage Native SDK 1.4.7 以降の SDK をご利用の場合、"TARGETS" -> "Build Settings" -> "Architectures" と "Valid Architectures" の項目に以下のどちらかを設定する必要があります。

  • 64 bit の場合
    • "Standard Architectures (armv7, armv7s, arm64)" or "armv7, armv7s, arm64"
  • 32 bit の場合
    • $(ARCHS_STANDARD_32_BIT)
       
       
      • Mobage Native SDK 1.4.7 より、libmobage.a スタティックライブラリに 64-bit architecture が含まれるようになりました。その為上記対応が必要となります。
      • 64-bit 対応アプリケーションをビルドする場合、Deployment Target を iOS 5.1.1 以上に設定して頂く必要があります。

Architectures の設定 (1.4.6.7 以下の場合)

 
Mobage Native SDK 1.4.6.7 以前の SDK をご利用の場合、"TARGETS" -> "Build Settings" -> "Architectures" と "Valid Architectures" の項目に以下を設定する必要があります。

  • $(ARCHS_STANDARD_32_BIT)
     


     

    Xcode7 でのビルド(1.4.9 以降の場合)

    Mobage Native SDK 1.4.9 以降を Xcode7 でビルドするためには、こちら に従ってビルドする必要があります。

その他のライブラリのインポート

Mobage Native SDK では libz.dylib と StoreKit.framework, Security.framework, AdSupport.framework, SystemConfiguration.framework(1.4.4 以降), SafariServices.framework(1.4.9 以降) を利用しているため、これらをライブラリパスに追加する必要があります。


 
下記の手順でライブラリを追加してください。
1.プロジェクトアイコンをクリックする
2.Targets の中からビルド対象のターゲットを選択しクリックする
3.“BuildPhases” -> “Link Binary With Libraries” を選択しクリックする
4.ライブラリを選択する

ライブラリ名

補足

libz.dylib

1.4.5以降は不要

StoreKit.framework

 

Security.framework

 

AdSupport.framework

 

SystemConfiguration.framework

1.4.4 以降

SafariServices.framework

1.4.9 以降。SafariViewController によるログインを使用する場合。

5. 追加した AdSupport.framework の Required の箇所を Optional に変更する必要があります。(Mobage Native SDK 1.4.9 未満の場合)
※これは iOS 6 以前の iOS 4, 5 をサポートするためです。
6. 追加した SafariServices.framework の Required の箇所を Optional に変更する必要があります。
※ これは iOS 9 以前の iOS をサポートするためです。

リンカフラグの設定

Mobage Native SDK は static ライブラリ中にカテゴリの実装を含んでいるため、ビルド後のアプリケーションにカテゴリ実装を含めるためにリンカフラグに -ObjC を設定する必要があります。以下の手順を実行してください。

1.Xcode 上でビルド対象のプロジェクトを選択する
2.“Build Settings” を開き、Basic ではなく All を選択する
3.“Linking” -> “Other Linker Flags” を選択し、-ObjC を追加する
 

Xcode 4.5 以降で Mobage SDK をインポートする際の注意点

Xcode 4.5 以降では、プロジェクト新規作成時に Xcode が Default.png, Default@2x.png, Default-568h@2x.png を自動的に作成してターゲットに追加されるようになりました。

そのため、単純にMobageSDKフォルダをまるごとドラッグアンドドロップしてターゲットに追加してしまうと、同名のファイルが2つターゲットに存在してしまい、 "While reading ... Default.png pngcrush caught libpng error:" のようなエラーが発生します。

Xcode が自動的に作成した Default.png, Default@2x.png, Default-568h@2x.png はターゲットから削除するようにお願いします。
 
 

かんたんログイン機能 (SSO ログイン)の実装

info.plist の設定

info.plist に以下の手順でURLSchemeを設定してください。

  1. Xcode 上でビルド対象のプロジェクトを選択する
  2. Info を開き、URL Types を選択する
  3. + ボタンをクリックし、Identifier と Icon を空欄のままにし、Role を Editor のままにし、URL Scheme を入力する。
  4. iOSアプリを起動するためのCustomURLSchemeは以下のネーミングルールに従って設定してください。
    • mobage-jp-[アプリケーションID]
  • Info.plist を Xcode のエディタで参照した時には以下のように見えます。
        ▼URL types  (1 item) 
            ▼Item  0  (1 item) 
                ▼URL Schemes  (1 item) 
                    Item 0  mobage-jp-120XXXXX
    
  • Info.plist をエディタで開いた際の見え方は下記のようになりますので注意してください。


    更新履歴 

  • 2015/11/25
    • SafariViewController でのログインに対応したので追記。
  • 2014/08/20
    • Mobage Native SDK 1.4.7 リリースにより、64bit 対応したため、Architectures の設定方法を追加しました。
    • FOX for Mobage の取り除き方を追加しました。
  • 2014/04/02
    • Architectures の設定を追加
  • 2014/02/18
    • Xcode 5.0 対応が前提となったため、記載内容を変更
  • 2013/11/21
    • URL Schemeの設定について追記
  • 2013/09/05
    • SystemConfiguration.framework の記載追加
  • 2013/04/18
    • iPhone 5 対応と Xcode 4.5 対応が前提となったため、記載内容を変更
  • 2012/11/01
    • Xcode 4.5 以降での新規プロジェクトの作成方法の項目を追記
    • Xcode 4.5 以降に対応した Mobage Native SDK 1.3.1 以降での設定方法を追記
  • 2012/08/08
    • 初版作成

PREVIOUS

ファイル構成

NEXT

Xcode7 でビルドする方法