gdata-objectivec-clientを一部手動でstatic library化
gdata-objectivec-clientを使ってGoogleのサービスを使うアプリを作っていたのですが、しばらく、entryからXMLを抜き出しただけで、時折落ちるという原因がまったくわからない現象が発生して、しばらく困っていて、もうどうしようもないと思って、バージョンアップしたら直ってました。。。
ということで、gdata-objectivec-clientを一部手動でstatic library化する方法をまとめておきます。おかしいところがありましたら、教えてください。
- 最新のソースをもらってくる
http://code.google.com/p/gdata-objectivec-client/
- 基本的には、以下のところを参照してコンパイルする
http://code.google.com/p/gdata-objectivec-client/wiki/BuildingTheLibrary
- 展開して、GData.xcodeprojを立ち上げる
- アクティブターゲットをGDataTouchStaticLibにする
- iPhoneOSを3.1.3にして、simulatorでビルド
- iPhoneOSを3.1.3にして、実機でビルド
- アクティブターゲットをGDataTouchStaticLibにする
- コンパイルすると、 libGDataTouchStaticLibができる(Product)に
- 実機、シミュレータの療法で使えるstaticなライブラリを作成する
参考: http://blog.boreal-kiss.com/2009/08/29000009.html
このままだと実機とシミュレータで別々のライブラリが出来上がってしまうので、
簡略化するために、ライブラリをひとつにまとめる。
% cd Source/build % lipo -create Debug-iphoneos/libGDataTouchStaticLib.a Debug-iphonesimulator/libGDataTouchStaticLib.a -output libGDataTouchStaticLib_com.a
- できたlibGDataTouchStaticLib_com.aをプロジェクトのFrameworksのところに突っ込む。
- Source/build/Debug-iphoneos/Headers以下をすべて自分のプロジェクトにコピーする。
- あと、libxml2のリンク準備もしておく必要があります。