Xcode project に SDK を組み込む

本チュートリアルで作成するサンプルコードは Native Tutorial Sample Download からダウンロードできます。

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

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


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


 
ここでは、"Single View Application" を選択し、右下の "Next" ボタンを押します。
テンプレートを選択すると、次はプロジェクトの名前などを設定する画面に遷移します。
 

 
本チュートリアルでは下記のように設定を行いました。

項目

設定内容

Product Name

MobageExample

Organization Name

DeNA

Company Identifier

test(※別の章にて変更を行います)

Class Prefix

 

Devices

iPhone

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

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


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


 
以上で新規プロジェクトの作成が完了しました。

 

Mobage Native SDK の導入

Mobage Native SDK をプロジェクトに導入します。
 

Mobage Native SDK をプロジェクトに追加する

左ペインのプロジェクトを右クリックし "Add Files to "MobageExample"..." をクリックします。
 

 
追加するファイルを選択する画面に遷移しますので Mobage Native SDK の "ios/MobageSDK" を選択して右下の "Add" を押します。
 

 
これで Mobage Native SDK の機能を使用する事が出来るようになりました。

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 以下にドラッグ&ドロップしてファイルをインポートします。

プロジェクトの設定を開く

ここからプロジェクトの設定を編集するので左ペインの "MobageExample" をクリックしてプロジェクトの設定を開いてください。
 

ライブラリのインポート

Mobage Native SDK を使用する為に必要なライブラリのインポートを行います。
"TARGETS" -> "General" -> "Linked Frameworks and Libraries" に下記ライブラリを追加してください。

  • StoreKit.framework
  • Security.framework
  • AdSupport.framework
  • SystemConfiguration.framework
  • SafariServices.framework


 
ライブラリを追加したら "AdSupport.framework" と "SafariServices.framework" のみ "Required" から "Optional" に変更してください。

"Optional" に変更しない場合 iOS 6.0 未満の端末ではアプリケーションが動作しなくなるのでご注意ください
Mobage Native SDK 1.4.9 以降を Xcode7 でビルドするためには、こちら に従ってビルドする必要があります。

 

 
 

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

Mobage Native SDK では Keychain を使用している為、keychain Groups に "com.mobage.shared" を設定する必要があります。以下の手順で設定してください。

  1. "TARGETS" -> "Capabilities" -> "Keychain Sharing" の右にあるスイッチを "ON" にする
  2. "Keychain Groups" に "com.mobage.shared" を追加

この作業を行わないと、アプリケーション起動時に下記のような画面アラートが表示されゲームを開始することができません。

URLScheme を設定する

ブラウザや母艦アプリを使用したログインを行う為に URL Scheme の設定を行います。
"TARGETS" -> "Info" -> "URL Types" を選択し "URL Schemes" の項目を下記のように設定してください。

項目

設定内容

URL Schemes

mobage-jp-${MOBAGE_APPLICATION_ID}

本チュートリアルの場合 ${MOBAGE_APPLICATION_ID} は "12015893" となりますので設定内容は "mobage-jp-12015893" となります。

この作業を行わないと、アプリケーション起動時に下記のような画面アラートが表示されゲームを開始することができません。

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)


Linker Flags の設定

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

  1. "TARGETS" -> "Build Settings" を選択
  2. "Other Linker Flags" で検索
  3. "Linking" -> "Other Linker Flags" を選択し、-ObjC を追加する

 
以上で Mobage Native SDK の導入が完了しました。

更新履歴

  • 2015/11/25
    • SafariServices.framework の追記
    • Xcode7 でのビルド方法の追記
  • 2014/08/27
    • Mobage Native SDK 1.4.7 リリースにより、64bit 対応したため、Architectures の設定方法を追加しました。
  • 2014/04/02
    • Architectures の設定を追加
  • 2013/12/24
    • Native SDK 1.4.6 以降不要になったため、AppDelegate.mm への変更と C++ Standard Library の変更の項目を削除しました。
  • 2013/12/04
    • 初版作成

PREVIOUS

SDK を導入する (iOS)

NEXT

Mobage Platform にログインする