2010年6月21日月曜日

GData API Object-C 組み込み手順

gdata-objectivec-client-1 1.9 から 1.10 への移行に際して、これまで何となくやっていた手順を記録しておきます。
また、iPhone用のスタティックライブラリにして最適化するようにしました。

ソースコードの入手と配置
  • Google Codeサイトから gdata-objectivec-client-1 をダウンロードする
  • 解凍したフォルダを丸ごと開発中のアプリソースがある場所へコピーまたは移動する
  • data-objectivec-client-1/Source/GData.xcodeproj があることを確認する

XCodeへの組み込み
  • 開発アプリのXCodeを開いて「グループとファイル」にあるプロジェクト名の下に先ほど確認した、GData.xcodeproj をドラッグ&ドロップする(GData.xcodeproj を展開すると含まれるファイルは全て赤色すなわち存在しないでOK)
  • この中にある libGDataTouchStaticLib.a を下部の「ターゲット>プロジェクト名>バイナリをライブラリにリンク」の中へドラッグ&ドロップする(libGDataTouchStaticLib.a が目的とするスタティックライブラリだがまだ存在しない)
  • ドラッグ&ドロップ時に「・・・項目をコピーする(必要な場合)」のチェックを外してコピーせずに参照させること(以下の操作でも同様)
スタティックライブラリ(libGDataTouchStaticLib.a)の作成準備
  • 「グループとファイル」にドロップしたGData.xcodeprojをダブルクリックして、新しいXcodeプロジェクト(GData)を開ける
  • メニュー>プロジェクト>プロジェクト設定を編集>一般>プロジェクトフォーマット>Xcode3.2-互換 にしておく(既定 2.4 ではビルド時に警告が出る)
  • メニュー>プロジェクト>アクティブターゲットを設定>GDataTouchStaticLib を選択
  • メニュー>プロジェクト>アクティブSDKを設定>iPhoneデバイス3.0 を選択
  • メニュー>プロジェクト>アクティブターゲット"GDataTouchStaticLib"を編集
  • ビルド>構成:Debug>その他のCフラグ> (既定どおり)
  • ビルド>構成:Release>その他のCフラグ> _nameServiceHere_ を必要機能名に変えて追加する。例えば、ドキュメントでスプレッドシートを利用する場合
    -DGDATA_INCLUDE_DOCS_SERVICE=1
    -DGDATA_INCLUDE_SPREADSHEET_SERVICE=1
    を追加する。

スタティックライブラリを作成する
  • 構成をDebugにしてビルドする
  • 構成をReleaseにしてビルドする
  • 問題なく終了すれば、このプロジェクト(GData)を閉じて開発プロジェクトに戻る
  • すると、先ほどまで赤色であった libGDataTouchStaticLib.a が黒色になっているハズ
  • 黒色になれば存在している(作成できた)と言うこと
  • ドラッグ&ドロップ時に「・・・項目をコピーする(必要な場合)」のチェックを外してコピーせずに参照させること

開発プロジェクトをビルドする前の作業
  • GDataのDebugビルドの出力フォルダ
    gdata-objectivec-client-1/Source/build/Debug-iphoneos の中にある Headers フォルダを「グループとファイル」GData.xcodeprojの下辺りへドラッグ&ドロップする
  • #import "GData/GData*****.h" から GData/ を取り除いて "GData*****.h" に修正する
    (GData/ は Framework を参照指定するものでありスタティックライブラリには不要)

開発プロジェクトをビルドする

以上


    0 件のコメント:

    コメントを投稿