XcodeでGitのリモートリポジトリでソース管理する(Carthage対応)
はじめに
OSSライブラリを利用するのにCarthageを使ったXcodeのプロジェクトを作成した場合にCarthageのライブラリ設定をまるごとリモートリポジトリで管理して 他のメンバーもGit cloneしたら利用できるようしたい。
ゴール
先日作ったiOSのシングルページアプリケーションのXcodeプロジェクトを使って以下ことをする
- Bitbucketを使ってXcodeのプロジェクトをリモートリポジトリで管理する
- リモートリポジトリからcloneして、シミュレータで起動を確認する
- Carthageを利用したライブラリがチーム開発できるようにうまく利用できていること
動作環境
Bitbacketにプライベートリポジトリを作る
この辺は簡易に書いていくと
- Bitbacketのサイト(https://bitbucket.org/)に行きアカウントを新規作成する
- リポジトリのメニューからGitで新規リポジトリを作成する
- 作ったリポジトリのページに行きクローンのメニューを選択すると、https://account_name@bitbucket.org/xxxx/xxxxx.git とgit用のアドレスを取得できるのでメモしておく
※ git:// のプロトコルだとBitbacketにsshのパブリックキーを登録しておく必要があるっぽい
既存のXcodeにリモートリポジトリを紐づける
Xcodeを起動し、先日作ったプロジェクトを選択する。 メニューバーSource Controlを選択、「プロジェクト名 master」を選択、そして「Configure プロジェクト名」を選択するとダイアログが表示される
「Remotes」のタブを選択し、プラスボタンを押すとメニューが出るので、「Add Remote」を選択する
Name:Origin(デフォルトのまま) Adress: https://account_name@bitbucket.org/xxxx/xxxxx.git(メモしておいたBitbacketのgitのアドレス)
「Add Remote」ボタンを押して、「Done」ボタンを押して設定完了
メニューバーSource Controlを選択肢、Pushを選択、 Push先をoriginにするとBitbacketのパスワードが求められるので入力するとBitbacketにPushされる(アカウント名は非活性で固定されている)
Bitbacketの対象のリポジトリのページへ、ソースのメニューを開き、ソースコードが追加されているのを確認する
リモートリポジトリからクローンする
コンソールから適当なディレクトリに移動し、リモートリポジトリをクローンする
git clone https://account_name@bitbucket.org/xxxx/xxxxx.git Password for 'https://account_name@bitbucket.org': Bitbacketパスワードを入力する
Xcodeプロジェクトを開いて確認する
クローンしたディレクトリをFinderで開いて、xcodeのプロジェクトファイルを開いてみる コンパイルするとCarthageで指定したライブラリファイルが無いとエラーが出るのがわかる。
Carthageのライブラリを取得する
> carthage bootstrap --platform iOS
carthage update だと最新版のライブラリのバージョンを取得しCarthage.resolvedを参照しない ライブラリを追加しない時はcarthage bootstrap を実行するべきだ
Carthageディレクトリが作成され、ライブラリが作成されたことを確認できる