/ xcode

XcodeのRunScriptで便利なスクリプトメモ

TODOFIXME#warningで表示

スクリプトの実行タイミングはいつでもいい

# TODOやFIXMEをワーニング出力
# http://stackoverflow.com/questions/24183812/swift-warning-equivalent
TAGS="TODO:|FIXME:"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | \
	xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | \
    perl -p -e "s/($TAGS)/ warning: \$1/"

参考

Fabricのスクリプト実行

実機向けReleaseビルドしたときだけスクリプトを走らせる
最後に実行すれば問題無い

# Releaseビルドの実機ターゲットでのみfabricコマンド実行
if [ "${CONFIGURATION}" = "Release" ]; then
    if [ "${PLATFORM_NAME}" = "iphoneos" ]; then
        echo "run fabric script"
        ./Fabric.framework/run 381cf982f670521eefb0eba229ef546959c01f07 68d93c5fd1a5e24c60c12b242fd7628ef2c45087229d51ad96199fdc33d4e171
    fi
fi

参考

ビルド番号をビルド日時に変更する

Ad−Hocビルドする場合に設定しておくとFabricのようなクラッシュレポートサービスではいつのビルドのクラッシュなのか判定できて便利。
スクリプトを書き換えてgitのコミットハッシュとかにもできるけど個人的には日時で十分。

  • Build SettingsPreprocess Info.plist FileYESにする必要あり
  • ビルドの前に実行する
# ビルド番号を日時に書き換えてアプリをビルドする
NOW=`date "+%Y%m%d%H%M"`

PLIST_BUDDY="/usr/libexec/PlistBuddy"
PLIST_FILE="${TEMP_DIR}/Preprocessed-Info.plist"
echo "plist: ${PLIST_FILE}"

APP_VERSION=$(${PLIST_BUDDY} -c "Print CFBundleShortVersionString" ${PLIST_FILE})
BUILD_VERSION="${APP_VERSION}.${NOW}"
echo "BUILD_VERSION: ${BUILD_VERSION}"
${PLIST_BUDDY} -c "Set :CFBundleVersion ${BUILD_VERSION}" "${PLIST_FILE}"

参考1
参考2