酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Jenkinsを使ってToday Extension(Widget)を含むiOSアプリをビルドする

過去にxcodebuildを使ってビルドを自動化する方法を紹介しました。

本記事ではToday Extension(Widget)を含むiOSアプリをJenkinsでビルドする方法を紹介します。アプリ側とToday Extension側とで使用するプロビジョニングプロファイルが異なります。

ビルド時に適切なプロビジョニングプロファイルのIDを指定する必要があります。.xcodeprojファイルを編集して、コマンドラインからプロビジョニングプロファイルのIDを指定できるようにしましょう。

アプリ側に$(APP_PROFILE)を指定します。

App Extension側には$(EXTENSION_PROFILE)を指定します。

あとはJenkinsで下記のように設定します。

xcodebuild -sdk iphoneos \
  -workspace ${XCWORKSPACE_NAME} -scheme "${SCHEME_NAME}" \
  -configuration Release build \
 CODE_SIGN_IDENTITY=${CODE_SIGN_ID} \
 APP_PROFILE=${PROVISIONING_ID} \
 EXTENSION_PROFILE=${EXTENSION_PROVISIONING_ID}

xcrun -sdk iphoneos PackageApplication \
 "${SOURCE_PATH}" -o ${APP_PATH} \
  --embed ~/Library/MobileDevice/Provisioning\ Profiles/${PROVISIONING_FILENAME}

関連記事