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