CatHand Blog

アプリ開発やMac弄り

BitriseでMac Catalystアプリをビルドする

Bitrise で Mac Catalyst アプリをビルドして、AppStore Connect へアップロードします。

証明書のアップロード

www.cathand.app

↑を参考に、3つの証明書を Bitrise へアップロードします。

ビルド

Xcode Archive for Mac ではビルドできなかったので、スクリプトでビルドします。

pkg ファイルを書き出す必要があります。

#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x

ARCHIVE="${BITRISE_DEPLOY_DIR}/${BITRISE_SCHEME}.xcarchive"
OPTIONS="${BITRISE_SOURCE_DIR}/options.plist"
PKG="${BITRISE_DEPLOY_DIR}/${BITRISE_SCHEME}"

# archive
xcodebuild -destination "platform=macOS,variant=Mac Catalyst" "-workspace" "${BITRISE_PROJECT_PATH}" "-scheme" "${BITRISE_SCHEME}" "COMPILER_INDEX_STORE_ENABLE=NO" "clean" "archive" "-archivePath" "${ARCHIVE}" | xcpretty

# options
echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>method</key><string>app-store</string></dict></plist>' > "${OPTIONS}"

# export pkg
xcodebuild "-exportArchive" "-archivePath" "${ARCHIVE}" -exportPath "${PKG}" -exportOptionsPlist "${OPTIONS}"

# output
envman add --key BITRISE_PKG_PATH --value "${PKG}/${BITRISE_SCHEME}.pkg"

xcodebuild で archive するときに -destination "platform=macOS,variant=Mac Catalyst" を指定しています。Mac Catalyst アプリをビルドするにはこれが必要なようです。

その後、.xcarchive を .pkg に書き出します。書き出し時には -exportOptionsPlist に以下の plist ファイルを指定しています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>method</key>
    <string>app-store</string>
  </dict>
</plist>

AppStore Connect へアップロード

Deploy to iTunes Connect - Application Loader で上記で書き出した pkg ファイルを PKG path に指定するとアップロードできます。

Workflow

全体の Workflow は↓のようになります。

f:id:cathandnya:20200520144003p:plain
Workflow