LoginSignup
2
1

More than 5 years have passed since last update.

はじめてのSwiftアプリ制作3: CocoaPods と SwiftLint

Last updated at Posted at 2017-06-30

今回は、アプリを開発する前に導入しておくとよいツールを紹介いたします。

前回
はじめてのSwiftアプリ制作2: Xcodeの機能

環境

Xcode 8.3
Swift 3.0

CocoaPods

CocoaPodsは、Xcodeに備えられているapple純正のフレームワーク(UIKitなど)以外のライブラリを用いる際に必要となるライブラリ管理ツールです。

アプリ開発ではいつかは外部ライブラリを使用する機会は訪れる可能性が高く、
始めからプロジェクトにPodsを入れておいた方が無難でしょう。

また、Carthageという同じようなライブラリ管理ツールはありますが、今回はPodsを利用いたします。

  • CocoaPodsをMacにインストールする

CocoaPodsはターミナルのコマンドを使ってインストールすることができます。

$ sudo gem install cocoapods
$ pod setup

上記の手順でMacにCocoaPodsが導入されました。

  • プロジェクトにPodfileを作成する 次に、作成したプロジェクトにPodを入れたいと思います。 ターミナル上で、Xcodeプロジェクトファイルがあるフォルダに移動します。
$ cd (プロジェクトのあるフォルダのパス)

移動したら、podを使用する準備をします。

$ pod init

これでフォルダにPodfileというCocoaPodsを使用する際に入れるライブラリ名を書くファイルが作成されました。

  • プロジェクトにPodを追加する

まだ何のライブラリもいれませんが、プロジェクトにPodsを追加しておきましょう。

$ pod install

これによってPodが導入されたXcodeワークスペースがフォルダ内に作成されました。
今後は、ワークスペースを開いて作業していきます。

SwiftLint

SwiftLintはJavaScriptでのEslintと同様、コードの書き方に規則を設定して書き方を無視した場合に警告やエラーを表示する静的コード解析ツールです。
アプリの品質を担保するために導入しておくのが良いかと思います。

  • SwiftLintをMacにインストールする MacにHomeBrewをインストールしてください。

その後、

brew install swiftlint

これでMacにSwiftLintがインストールされました。

  • .swiftlint.ymlファイルを作成する
    .swiftlint.ymlファイルはSwiftLintの規約の設定を書くファイルです。
    このような感じで規定されてます。

  • SwiftLintをプロジェクトをビルドした際に動かすようにする
    実際に、プロジェクトにSwiftLintを反映します。

Xcode上でプロジェクトを選び、[Targets] -> [Build Phases] を選択し、+ボタンから「New Run Script Phase」を選択。
追加されたRun Scriptに以下のシェルスクリプトを書きます。

if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

1.png

これでプロジェクトをビルドすると、Warningが何個か出るかと思います。
(2行以上の空行がある・コードの一番最後の閉じかっこ以降に空行がある等)
今後、コードを書いていく上でこういった警告やエラーが出るたび修正することで、品質が保証されるコードを書く事ができます。

まとめ

  • 外部フレームワークを利用するためにプロジェクトにCocoaPodsCarthageといったライブラリ管理ツールを導入しよう
  • コードの品質を保つために静的コード解析ツール「SwiftLint」を導入しよう

次回はStoryBoardを触っていきたいと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1