DaisukeのITメモ

一人前になる為に。

iOSアプリの開発環境について

目次

概要

iOSアプリの開発環境ツールについて、様々なサイトを見ても結局よく分からない下記観点を簡単に纏めてみた。 - 使用するツールと、使用する理由。 - 環境整備の手順。

必要ツール

  • Mac
    • iOSアプリの開発に必須なXcodeは、Mac上でしか動作しない。
  • Apple ID(いらないかも)
    • 後述のXcodeをAppStoreからインストールするなら必要。
    • Xcodeをxipファイルなどを使用してインストールするなら不要。
  • Xcode
  • Homebrew
    • MacOS上の開発に必要なパッケージ管理ツール。パッケージマネージャー。
    • パッケージのインストール,アンインストールをコマンドラインで実行でき、パッケージ間の依存関係を自動で解決してくれる。
      • もし、パッケージマネージャーを使用しない場合、下記の様な手順を踏む必要が有る。
        1. インストールしたいパッケージのサイトをブラウザで見つける。
        2. パッケージのサイトでインストールの方法を確認する。
        3. バッケージのインストーラーをダウンロードする。
        4. 依存関係が有れば、そのパッケージを先にインストールする。
        5. パッケージをインストールする。
    • パッケージとは、実行ファイル,設定ファイル,ライブラリなどを1つに纏めたモノ。
    • Mac用のパッケージ管理システムでMacPortsというモノも有るが、ローカルに既存のパッケージを考慮せずインストールを行ってしまう。一方で、Hombrewはローカル既存のモノを極力使おうとしてくれる。
  • CocoaPods
    • アプリ開発用のパッケージ管理ツール。
      • Homebrewと同じく、パッケージのインストール,アンインストール,依存関係などを一元管理してくれる。
    • Homebrewはどちらかと言うと汎用的パッケージ向け、CocoaPodsアプリ開発用パッケージ向け、らしい。
  • Swift Package Manager(いらないかも)
    • CocoaPodsと同じく、アプリ開発用のパッケージ管理ツール。
    • CocoaPodsの代わりに使用できるらしい(詳細はよく分からない)。
  • Git

環境整備手順

  1. Xcodeをインストール。
  2. XcodeのCommand Line Toolsをインストール。
    • Command Line Toolsとは:
    • Homebrewのインストール手順に記載の通り、XcodeのCommand Line Toolsが無いとHomebrewをインストールする事ができない。
    • Command Line Toolsのインストール方法は下記の2つ。
      • CUIxcode-select --install
      • GUIXcodeのインストール後、初めて立ち上げた際に下記のようなダイアログが出て来るので、Installを押下。
        XcodeのCommand Line Toolsのインストール
    • Command Line Toolsのver確認方法。
      • Xcode > Preferences > LocationsCommand Line Toolsを参照。
    • 注意点:XcodeGUICUIのバージョンについて:
      • 上記で設定するCommand Line Tools(CUI)のバージョンと、アプリとして開くXcodeGUI)のバージョンに差異が生じているとエラーが吐かれるなどの不具合が生じるので、注意。
  3. Homebrewをインストール。
    1. 上記オフィシャルサイトの手順に沿ってインストール。
    2. brew updateで、インストールしたHomebrewを最新化する。
      • 定期的に実行して、Homebrewを最新状態に保つのが良いらしい。
  4. Gitをインストール。
    • brew install gitを実行。
    • GUIからインストールもできるようだが、せっかくなら、Homebrewでインストールして管理したい。
  5. CocoaPodsをインストール。
    • brew install cocoapodsを実行。
    • 他にもいくつかインストール方法が存在するが、せっかくなら、Homebrewでインストールして管理したい。
  6. Homebrewでインストールしたツールを最新化。
    • brew upgradeを実行。
      • インストールした全てのformulaeのバージョンを一斉に更新。

【補足】.gitignoreに記載すべきファイル(2022.12.4追記)

XcodeプロジェクトをGitで管理していると、自動生成される不要ファイルもGit管理対象に含まれてしまう。
管理対象から除外すべきファイルを以下に纏める。

  • .DS_Store
  • UserInterfaceState.xcuserstate
    • Xcoceにより自動作成される不要ファイル。

所感(2021.4.29追記)

  • Macにデフォルトで搭載されているRubyの正体がいまいち掴めない。それに付随するGemについても要勉強。
    • → Rubyとは、オブジェクト指向スクリプト言語の事。
    • → Gemには、以下の2つの意味が有る。
      • Rubyのパッケージ(ライブラリ)。例えば、ユーザー登録機能や認証機能といった複雑な機能も、gemを使えば簡単に実装可能できる。
      • gem(パッケージ)の管理システム。正式名称はRubyGems。gemパッケージのインストールやアンインストールなどの操作に使う。
  • CocoaPodsはインストール方法が複数存在するが、最適方法の選定するにはまだ知識が足りない。
    • → CocoaPodsのインストール方法として上記ではHomebrewを紹介しているが、CocoaPodsはRubyで開発されているためGemでもインストール可能。かつ、CocoaPodsとしてはGemでのインストールを推奨しているらしい。インストール方法毎のメリデメは以下。
      • Homebrew:
        • メリット:インストール,アップデート,アンインストールなどの管理が容易。
        • デメリット:インストール場所の自由度が低いらしい。
      • Gem:
        • メリット:Homebrewやrbenvなどの外部ツールが不要。
        • デメリット:古いバージョンのアンインストールが面倒。インストールの際に競合してしまう場合が有るらしい。
  • HomebrewCocoapodsの使い分けがいまいち掴めない。
  • Homebrewcaskの立ち位置がよく分からない。
    • → ChromeFirefoxなどのGUIツールをインストールする際に使用する。
  • Command Line Toolsの立ち位置がよく分からない。
    • → 招待は未だによく分からないが、Homebrewをインストールするには必須。
/* -----codeの行番号----- */