実は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