Storyboard/XibのAutoLayoutのレビューを自動化する

  • 49
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

現在、家族アルバム みてねというアプリのAutoLayout対応を進めていて、弊チームでは以下の3つのルールを対応必須とすることにしてみました。

  1. 全てのStoryboard/Xibでuse AutoLayoutのチェックを有効にする
  2. 全てのStoryboard/Xibでuse SizeClassesのチェックを有効にする
  3. AutoLayoutのmisplacedは必ず解消した状態でコミットする

AutoLayoutはとにかく仕様が複雑で開発するのが大変なので、少しでも楽にしていくために最低限機械的にチェックできるところを自動化しました。

circle/review_view_files.sh
#!/bin/bash

! find . -name '*.xib' -o -name '*.storyboard' | xargs grep misplaced 2>&1 > /dev/null && \
  ! find . -name '*.xib' -o -name '*.storyboard' | xargs grep -L 'useAutolayout="YES"' 2>&1 > /dev/null && \
  ! find . -name '*.xib' -o -name '*.storyboard' | xargs grep -L 'useTraitCollections="YES"' 2>&1 > /dev/null

これをCircleCIなどCI上で実行するようにすると、1,2,3の条件をすべてパスしなかった時にfailするようになります。
以下設定例です。

circle.yml
machine:
  xcode:
    version: "7.0"
test:
  pre:
    - circle/review_view_files.sh