このプロジェクトは、ABEMA の iOS アプリ開発で用いられている開発環境やライブラリ、開発フローに慣れるためのサンプルプロジェクトです。
ツールやライブラリの導入は 開発をはじめる を参考にしてください。
チュートリアルの進め方 を参考に開発環境を整え、下記のタスクに取り組んでください。
master ブランチの実装には不具合があり、一部動作しない機能があります。
⌘+Uでテストを実行すると、失敗している箇所があるはずです。
テストが通るように実装を修正してください。
APIClient
は、時々エラーを返します。
以下のコマンドで、本リポジトリを Clone できます。
$ git clone https://github.com/abema/abema-ios-tutorial-public.git
brew.sh に記載の手順に従って Homebrew をインストールしてください。
また、以下のコマンドで各種ツールをインストールしてください。
$ make brew-install
$ rbenv init # 表示される内容に従う
$ rbenv install
make brew-install
によって実行されるコマンドの中身は、Makefile
に書かれています。
以下のコマンドで、ビルドに必要なライブラリを取得できます。
$ make bootstrap
取得が終わったら、AbemaTutorial.xcworkspace
を開いてプロジェクトを実行できるはずです。
チュートリアルに取り組む際は、自分用の master ブランチを作成してください。
例:
$ git checkout -b akkyie-master master # <自分の名前>-master で作成してください
$ git push
Issues から、自分が取り組むタスクについての Issue(チケット)を作成してください。 Issue には、以下の項目を記入・設定してください。
1
3
5
の中から適切なストーリーポイントを設定してください(おおよそ 1 ポイント= 1 営業日以内に完了するタスクです)。実装は、自分用の master ブランチから切ったブランチ(Feature ブランチ)で行います。
Feature ブランチの名前は、 IOS-<Issueの番号>
または IOS-<Issueの番号>-<わかりやすい名前>
としてください。
例:
$ git checkout -b IOS-123-fix-layout akkyie-master
$ git push
いくつかコミットを行ったら、作業中でも Pull Request を作成しましょう。
この時、base ブランチが自分用の master ブランチになっていることを確認してください。
Issue と同様に、Pull Request にも Assignees・Labels・Milestone を設定しましょう。また、作業中の Pull Request には必ず WIP (Work in progress) ラベルを付けましょう。
タイトルに [WIP]
と入れたり、Draft Pull Requestにしたりするとより分かりやすいですが、これらは任意です。
Pull Request を作成すると、自動的にそのブランチが Bitrise.io 上でビルド・テストされます。 もしビルドかテストのどちらかが失敗している場合、"Details" リンクから詳細を確認することができます。
追加でコミットをプッシュすると自動的に再ビルドされますが、手動で再実行したい場合は右上の "Rebuild" ボタンから行うことができます。
実装が完了し、Bitrise 上でテストも通っていることが確認できたら、 WIP ラベルを外して Reviewers に自分のトレーナー(もしくはトレーナーが指定した誰か)を指定しましょう。 レビューを受けて修正する必要がある場合、もし修正に時間がかかりそうであれば、修正を行う旨をコメントして再度 WIP ラベルを付けた上で作業を行いましょう。
コードに修正を加える際は、なるべく force push を避けましょう。これは再度レビューしてもらうときに差分を分かりやすくするためです。 ただし、実装方法をまるっきり変える場合など、コミットを追加することでむしろ差分が見づらくなる場合は、force push して履歴を見やすくしてもよいです。
レビュー対応が終わって Approve されたら、自分でその PR をマージします。 PR をマージしたら、対応する Issue も合わせてクローズしましょう。