Files
voice-cat/clients/apple/VoiceCat.iOS/build-broadcast-extension.sh
T

50 lines
1.8 KiB
Bash
Raw Normal View History

2026-09-19 15:43:37 +02:00
#!/bin/zsh
set -euo pipefail
configuration="${1:?configuration is required}"
sdk="${2:?sdk is required}"
architecture="${3:?architecture is required}"
output="${4:?output directory is required}"
script_dir="${0:A:h}"
project="$script_dir/../../../native/apple/broadcast/VoiceCatBroadcast.xcodeproj"
2026-09-19 15:43:37 +02:00
mkdir -p "$output"
2026-09-19 19:33:10 +02:00
signing=()
2026-09-21 04:05:40 +02:00
versioning=(MARKETING_VERSION="${VOICECAT_DISPLAY_VERSION:-0.0.1}")
if [[ -n "${VOICECAT_BUILD_NUMBER:-}" ]]; then
versioning+=(CURRENT_PROJECT_VERSION="$VOICECAT_BUILD_NUMBER")
fi
2026-09-19 19:33:10 +02:00
if [[ "$sdk" == "iphonesimulator" ]]; then
signing+=(CODE_SIGNING_ALLOWED=NO)
2026-09-21 04:05:40 +02:00
elif [[ -n "${VOICECAT_BROADCAST_CODESIGN_KEY:-}" && -n "${VOICECAT_BROADCAST_CODESIGN_PROVISION:-}" ]]; then
signing+=(
DEVELOPMENT_TEAM="${VOICECAT_DEVELOPMENT_TEAM:?VOICECAT_DEVELOPMENT_TEAM is required for distribution signing}"
CODE_SIGN_STYLE=Manual
CODE_SIGN_IDENTITY="$VOICECAT_BROADCAST_CODESIGN_KEY"
PROVISIONING_PROFILE_SPECIFIER="$VOICECAT_BROADCAST_CODESIGN_PROVISION"
)
elif [[ -n "${VOICECAT_DEVELOPMENT_TEAM:-}" ]]; then
signing+=(DEVELOPMENT_TEAM="$VOICECAT_DEVELOPMENT_TEAM" CODE_SIGN_STYLE=Automatic)
if [[ "${VOICECAT_ALLOW_PROVISIONING_UPDATES:-}" == "1" ]]; then
signing=(-allowProvisioningUpdates "${signing[@]}")
fi
2026-09-19 19:33:10 +02:00
fi
2026-09-19 15:43:37 +02:00
xcodebuild \
-project "$project" \
-scheme VoiceCatBroadcast \
2026-09-19 15:43:37 +02:00
-configuration "$configuration" \
-sdk "$sdk" \
-arch "$architecture" \
-derivedDataPath "$output/derived" \
2026-09-19 15:43:37 +02:00
CONFIGURATION_BUILD_DIR="$output" \
2026-09-21 04:05:40 +02:00
"${versioning[@]}" \
2026-09-19 19:33:10 +02:00
"${signing[@]}" \
2026-09-19 15:43:37 +02:00
build
2026-09-19 19:33:10 +02:00
xcent=$(find "$output/derived" -name 'VoiceCatBroadcast.appex.xcent' -print -quit)
2026-09-19 19:33:10 +02:00
if [[ -f "$xcent" ]]; then
cp "$xcent" "$output/VoiceCatBroadcast.xcent"
else
cp "$script_dir/../../../native/apple/broadcast/VoiceCatBroadcast.entitlements" "$output/VoiceCatBroadcast.xcent"
2026-09-19 19:33:10 +02:00
fi