日々精進

新しく学んだことを書き留めていきます

archiveビルドした時にできる.xcarchive等のパスを知る方法

実はarchiveビルドのpost-actionで以下の環境変数が使える。

ARCHIVE_PATH
ARCHIVE_PRODUCTS_PATH
ARCHIVE_DSYMS_PATH

ビルド後に実行するシェルスクリプトでこれらのパスを使えるようにするため、
archiveビルドのpost-actionで以下のスクリプトを実行する。

BUILD_DIR=$PROJECT_DIR/build
mkdir -p $BUILD_DIR
echo "ARCHIVE_PATH=\"$ARCHIVE_PATH\"" > $BUILD_DIR/archive_paths.sh
echo "ARCHIVE_PRODUCTS_PATH=\"$ARCHIVE_PRODUCTS_PATH\"" >> $BUILD_DIR/archive_paths.sh
echo "ARCHIVE_DSYMS_PATH=\"$ARCHIVE_DSYMS_PATH\"" >> $BUILD_DIR/archive_paths.sh
echo "INFOPLIST_PATH=\"$INFOPLIST_PATH\"" >> $BUILD_DIR/archive_paths.sh

ビルド後に実行するシェルスクリプトで以下を実行すると$ARCHIVE_PATHなどが使えるようになる。

source build/archive_paths.sh

これ見つけた人ほんとすごいな。
お陰でビルド→HockeyAppにアップロードまでがワンアクションで実行出来そう。
参考:xcode4 - Generate xcarchive into a specific folder from the command line - Stack Overflow