過去に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}