xcode4.2+iPhone iOS5でGoogleCalendarのデータを読み込む【準備編】
iPhoneからGoogleCalendarのデータを読み込む手順はこんな感じ
- Googleから「gdata-objectivec-client」のファイルを取得
- プロジェクトを作成し、「gdata-objectivec-client」のファイルを加え、ビルドできる様にする
- GoogleCalendarにアクセスするコードを書く
1.gdata-objectivec-clientのファイルを取得
まずは以下のページでGoogleが公開している、objective-c用のファイルを取得する。
gdata-objectivec-client - Google Data APIs Objective-C Client Library - Google Project Hosting
英語で書かれているが、要はGoogleが提供するobjective-cでのGoogleCalendarへのアクセス用ソースコードを公開している。
このページにあるSubversionコマンドを実行すると、ファイルを取得できる。
svn checkout http://gdata-objectivec-client.googlecode.com/svn/trunk/ gdata-objectivec-client-read-only
※ディレクトリ名の「gdata-objectivec-client-read-only」は任意
ファイルが取得できたら成功。
2.プロジェクトを作成し、gdata-objectivec-clientを加え、ビルドできる様にする
まずはxcodeで新規作成を行い、「Master-Detail Application」を選択する。
プロジェクト名を「GoogleCalendarAccessTest」とし、このプロジェクトでgdata-objectivec-clientをビルドできる様にする。
以下のページの説明が画像付きでとてもわかりやすいが、英語なので簡単に解説を書いておく。
GData Objective-C Client Setup in XCode 4 | Kelvin's Blog
●Download the GData sources and drag the GData.xcodeproj from Finder into your project source tree.
まず先ほど取得したディレクトリをFinderで開き、「gdata-objectivec-client-read-only/Source/GData.xcodeproj」を作成したプロジェクトにドラッグ&ドロップする。
※参考ページの1枚目の画像を参照のこと
●Add a new target dependency: Click your target -> Build Phases -> Target Dependencies -> the + button…など
xcodeで、先ほど作成したプロジェクト(ここでは「GoogleCalendarAccessTest」)を選択し、画像を参考に、プロジェクト設定の画面を開く。
注意点として、ここでは「GoogleCalendarAccessTest」のプロジェクト設定を選択すること。
先ほど追加した「GData.xcodeproj」のプロジェクト設定ではない。
(ここで間違えて、ビルドできなくてはまった)
- 「Target Dependencies 」に「GDataTouchStaticLib」を追加、
- 「Link Binary With Libraries」に「libGDataTouchStaticLib.a」「Security.framework」「SystemConfiguration.framework」を追加
- 「Other Linker Flags」に「-ObjC」「-lxml2」「-all_load」を設定
- 「Header Search Paths」に「/usr/include/libxml2」を設定
ここまで画面の通りに作業しておく。
●Remove unnecessary APIs:
以下の2つの設定だけあればいいので、不要な定義を削除しろと行っている。
「-DGDATA_REQUIRE_SERVICE_INCLUDES=1」
「-DGDATA_INCLUDE_CALENDAR_SERVICE=1」
※ちなみに、別に消さなくてもビルドできる
この項目の作業をするときは、「GData.xcodeproj」のプロジェクトを選択し、「GDataTouchStaticLib」を選択してから行う。
●いよいよビルド
ここまでできたらビルドを実行する。
ここでビルドに失敗したら、これまでの作業で間違えている可能性大なので、エラーメッセージをよく読み設定を再度確認。
ビルドに成功したら一安心。山場は超えた。
オーガナイザを開き、画面中央の上のアイコン「Projects」をクリックし、左側に表示されたプロジェクトからGoogleCalendarAccessTestのプロジェクトを選択。
画像ファイルのように、「Deriverd Data」の右端の矢印をクリックし、Finderを表示する。
以下のようなディレクトリを開いていくと、「Headers」ディレクトリがあるので、xcodeにドラッグ&ドロップする。
「GDataAccessTest-frhfqwxbfvkbcydratnnaerjjqiz/Build/Products/Debug-iphonesimulator」
これで、GoogleCalendarにアクセスするコードを書くための準備は終了。
「MasterViewController.h」に「#import "GData.h"」を追加してビルドしてみて成功すれば問題なし。