Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@kuroruri

本格的なiOS開発でよく使うツール

本格的なiOSの開発に必要なツール類

個人開発ならXcode・Carthage・CocoaPodsがインストールされていれば十分だが、会社などチームで開発しようとすると、各種ツールのバージョン管理が必要となり、色々前提ツールが増えてくるのでまとめる
Xcodeは必要なバージョンをインストールしてあること前提

  1. Homebrew
    • macOS用パッケージマネージャー
    • 下記ツールをインストールするための前提
  2. rbenv
    • rubyのバージョン管理ツール
    • Macにデフォルトで入っているRubyだと何かと不都合が多いので、このツールでバージョンを自由に切り替えたり、ディレクトリ毎にバージョンを指定したりできるようにする
    • :warning: よく上手くインストールできなくて引っかかる部分(後述)
  3. bundler
    • gemパッケージの管理ツール
    • CocoaPodsやfastlaneなどをこれでバージョン管理・インストールする
  4. Carthage
    • ライブラリ管理ツール
  5. GitHubに対するssh接続
    • fastlaneでCertificateを管理していたり、SSOを導入しているGitHubのOrganizationで作業をする時に必要
  6. mergepbx (optional)
    • コンフリクトしやすい.xcodeprojをよしなにマージしてくれるツール
    • XcodeGenを使用するなら不要
  7. 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 以外を実行する) で直るはず

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?