iOSの開発ではStatic Libraryがサポートされています
Static Libraryとは.xcodeproj形式で提供され、アプリケーションのコンパイル時に組み込まれる形で(静的に)リンクされるライブラリです
複数の端末で同時にアプリを開発をする際などにこのStatic形式が使われます
インストールは、Static Library(lib[libraryName].aファイル)と、そのヘッダファイル群をプロジェクト内に置く操作になります
※ライブラリによってダウンロード・インストール方法は違うのでREADMEなどで確認が必要です
Static Libraryのダウンロード
サイトを訪れブラウザでダウンロードするか、
ローカルのリポジトリにサブモジュールとして加えるか、
$ git submodule add https://github.com/xxx/XXxxx.git
Static Library側のプロジェクトの設定
自分のプロジェクトに追加したいファイルやインストールする場所を
Static Library側で指定したい場合はこの作業をします
Static Libraryの.xcodeprojをXcodeで開きます
プロジェクトエディタを開き、TARGETSのStatic Library(神殿型のアイコン)を選択します
Build Phases >
Compile Sources に必要な実装ファイル(.m)を追加します
Build Phases >
Copy Files で
Destination:Procducts Directory と
Subpath:「include/${PRODUCT_NAME} 」と指定し、必要な宣言ファイル(.h)を追加します
Build Settings > Deployment >
Installation Directory の値を「${BUILT_PRODUCTS_DIR}」に
Build Settings > Packaging >
Public Headers Folder Path の値を「${TARGET_NAME}」に
自分のプロジェクト側のプロジェクトの設定
自分のプロジェクトをXcodeで開きます
Static Libraryの.xcodeprojを自分のプロジェクトに追加します(File > Add Files to ...)
※このときコピーはしないように注意してください
プロジェクトエディタを開き、TARGETSの自分のプロジェクトのターゲットを選択します
Build Phases >
Link Binary With Libraries で「+」、さきほど追加したStatic Libraryを加えます
Build Settings >
Other Linker Flags に「-ObjC」を追加します
※ライブラリのカテゴリが使えなかった場合、あとでここに「-all_load」も追加します
Scheme >
Edit Scheme... > 左側のリストから Build選択 > Static Libraryがあるか確認します
無ければ「+」でStatic Libraryを追加します
ライブラリによっては、
- 手動でプロジェクトに宣言ファイル(.h)を追加する
- Build Phases > Target Dependencies にStatic Libraryを追加する
- Build Settings > Search Paths > Header Search Paths に宣言ファイル(.h)を指定する
などの手順を使う場合があります
ライブラリが必要とするフレームワークを追加する
ライブラリによっては別途フレームワークを必要とするものもあります。Requirementsを確認しましょう
プロジェクトエディタを開き、TARGETSの自分のプロジェクトを選択します
Build Phases >
Link Binary With Libraries で「+」、必要なフレームワークを追加します
インポート
あとは宣言ファイル(.h)を指定してライブラリを利用します
#import "ProductName/HeaderName.h"
必要なら、プロジェクト名-Prefix.pch のインポート部分へ追加します