本格的なiOSの開発に必要なツール類
個人開発ならXcode・Carthage・CocoaPodsがインストールされていれば十分だが、会社などチームで開発しようとすると、各種ツールのバージョン管理が必要となり、色々前提ツールが増えてくるのでまとめる
Xcodeは必要なバージョンをインストールしてあること前提
-
Homebrew
- macOS用パッケージマネージャー
- 下記ツールをインストールするための前提
-
rbenv
- rubyのバージョン管理ツール
- Macにデフォルトで入っているRubyだと何かと不都合が多いので、このツールでバージョンを自由に切り替えたり、ディレクトリ毎にバージョンを指定したりできるようにする
- よく上手くインストールできなくて引っかかる部分(後述)
-
bundler
- gemパッケージの管理ツール
- CocoaPodsやfastlaneなどをこれでバージョン管理・インストールする
-
Carthage
- ライブラリ管理ツール
-
GitHubに対するssh接続
- fastlaneでCertificateを管理していたり、SSOを導入しているGitHubのOrganizationで作業をする時に必要
-
mergepbx (optional)
- コンフリクトしやすい.xcodeprojをよしなにマージしてくれるツール
- XcodeGenを使用するなら不要
- SlackとかGitHubのアイコンを自分の推しに変える(最重要)
- アニメでもアイドルでも何でもいいので自分の推しに変える
- デフォルトアイコンだと誰だか見分けが付かない
個別のインストール方法はrbenv以外公式ページ通りやれば詰まるところはないはずなので割愛
構築時によく引っかかる所
rbenv をインストールしたはずなのに ruby -v が期待したバージョンになってない
ターミナルで which ruby
を叩いても /Users/YOUR_USER/.rbenv/shims/ruby
など、rbenv配下のrubyを見ずに、Macにデフォルトでインストールされているrubyを見ているパターン
下記のようにインストールすれば解決可能
brew install rbenv
echo 'export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl) --with-readline-dir=$(brew --prefix readline) $RUBY_CONFIGURE_OPTS"' >> ~/.bash_profile
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
なおmacOS Catalinaからはターミナルがbashではなくzshになったので、macが最初からCatalinaだった場合は .bash_profile
ではなく .zshrc
になる点に注意
rbenv で必要なrubyバージョンをインストールしてるのに、bundlerの実行時にバージョンが違うと言われる
パスがrbenvでインストールしたrubyでなく、システムのrubyを見るようになってると思われる
(bundler自体もrbenvのほうではなくシステムのrubyにインストールされてしまっている)
上述の用にrbenvをインストールする ( or インストール済みの場合は brew install rbenv
以外を実行する) で直るはず