Objective-C のサンプルを GitHub にアップしてみる

SPECIAL

GitHub に Xcode で作成したサンプルプロジェクトをアップロードしてみました。

その方法を簡単に整理してみます。


GitHub にアップロードするための Xcode プロジェクトを用意してみる

GitHub という、ソースコードをみんなで共有できるインターネットのサービスがあります。

これを使ってサンプルコードを公開するということが、技術者の間でポピュラーになっていると知り、自分も Objective-C のプロジェクトを GitHub で公開したくなってきました。

 

そこで、自分なりに試しにそれをやってみたので、その方法を記してみたいと思います。

もっと良い方法があったら教えてください。

1.Xcode でプロジェクトを作成する

まず、Xcode で、サンプルとして公開するためのプロジェクトを作成します。

プロジェクトは普段と変わらない方法で、作成したい種類のプロジェクトを作成して行きます。

プロジェクトは特になんでも良いですが、"EzSample_iOS_HandlingTouchEventOnUILabel" みたいな、サンプルと判るような名前が良いかもしれません。また、後でこれと同じ名前を GitHub のリポジトリにも付けようと思います。

注意点としては、プロジェクト作成時にローカル Git リポジトリを作成するところでしょうか。

プロジェクトファイルの保存場所の指定のときに、併せて "Create local git repository for this project" にチェックを入れて、このプロジェクト用のローカル Git リポジトリを作成してもらいます。

このようにして、ローカル Git リポジトリを最初に自動で作ってもらうのが断然楽です。

2.GitHub にリポジトリを作成する

続いて、GitHub にログインして、リポジトリを作成します。

リポジトリ名(Repository name)には作成するサンプルコードを保存するリポジトリ名を入力します。

今回は "EzSample_iOS_HandlingTouchEventOnUILabel" というように、見てサンプルだと判るような名前にしてみることにしました。また、今回は Xcode で作成したプロジェクトと同じ名前でもあります。

 

説明文(Description)にはそのサンプルコードの説明を記します。

また、今回は一般へ向けたサンプルコードなので、公開属性は "Public" にします。

そして、今回は Objective-C プロジェクトを公開するので、不必要なファイルを除外してくれる ".gitignore" ファイルも Objective-C 用のものを指定します。

 

このように指定していって、最後に【Create repository】ボタンをクリックして、これで GitHub に公開用のリポジトリを作成できました。

3.Xcode のプロジェクトと GitHub のリポジトリとを関連付ける

Xcode のプロジェクトと GitHub のリポジトリとが用意できたら、GitHub のリポジトリを Xcode プロジェクトのローカル Git リポジトリに登録します。

 

そのために、まずは GitHub のリポジトリ URL を確認します。

GitHub の、先ほど作成したリポジトリのページへ行くと、"Code" タブのページの中に、このリポジトリへの URL が表示されている箇所があります。

URL の種類としては "HTTP", "SSH", "Git Read-Only" といくつかありますが、Xcode 4.4.1 の場合はとりあえず "HTTP" で大丈夫そうです。

 

この URL をコピーしたら、Xcode の Organizer を開いて、"Repositories" タブを選択します。

すると、先ほど Xcode で作成したローカル Git リポジトリがリストにあるので、その中の "Remotes" をクリックします。

 

そして "Add Remote" ボタンをクリックして、"Location" のところに先ほど確認した GitHub リポジトリの URL をコピーします。

また、"Remote Name" は、ここでは "github" にしておきます。

これで [Create] ボタンを押すと、ローカル Git リポジトリと GitHub のリポジトリとが関連付けられました。

 

ちなみに、この関連付けをコマンドラインから行いたい場合は、プロジェクトのディレクトリに入って、たとえば次のようにします。

git remote add github https://github.com/EZ-NET/EzSample_iOS_HandlingTouchEventOnUILabel.git

3.Xcode のプロジェクトに GitHub の初期ファイルを取り込む

今回は GitHub で Objective-C 用の .gitignore ファイルを用意してもらったので、まずはそれを取り込んでおくことにします。

取り込みは、コマンドラインから行う様子です。

プロジェクトのディレクトリに入って、次のようにすることで、GitHub リポジトリの内容をローカルリポジトリに反映できます。

git pull github master

この操作は Xcode でもできそうなものですけど、Xcode の "File" メニューから "Source Controll" → "Pull" としても、エラーになってしまう様子です。

いったんコマンドラインを使って Pull しておけば、次からは Xcode のメニューからでも Pull することができるようですけれど。

 

編集した Xcode プロジェクトを GitHub にアップロードする

上記のようにして GitHub に関連付けた Xcode プロジェクトが用意できたら、後はこれに変更を加えて行きます。

そして、編集が終わって公開できる段階になったら、次のようにしてそれを GitHub にアップロードして行きます。

 

そのためにまず、完成したプロジェクトを、ローカル Git リポジトリにコミットします。

Xcode の "File" メニューから "Source Control" → "Commit" として、編集したファイルをコミットします。

 

プロジェクトをコミットしたら、同じく "File" メニューの "Source Control" から、今度は "Push" を選択します。

すると、関連付けておいた GitHub を選択できるようになっているので、ここで "github/master" を選択して【Push】をクリックします。

 

ここで "Xcode can't verify the identity of the server github.com" と言われた場合は、【Continue】ボタンを押せば大丈夫です。

毎回尋ねられるのが面倒であれば、ここで【Show Certificate】を選択して、出てきた "Always trust github.com when connecting to github.com" にチェックを入れておくと良いと思います。

そして、GitHub のアカウント名とパスワードを聞かれたら、それらを入力して【OK】を押します。

 

これで、後はほんの少し待てば、GitHub へのプロジェクトがアップロードされました。

GitHub へアップロードされたプロジェクトは、今回のように公開リポジトリへのアップであれば、https://github.com/EZ-NET/EzSample_iOS_HandlingTouchEventOnUILabel のように、誰でも簡単にその内容を見ることができるようになります。