fix(ci): use Release + archive/export for Firebase OTA distribution

- Switch from Debug build to Release archive with xcodebuild archive
- Use xcodebuild -exportArchive with ad-hoc exportOptions.plist for
  proper Ad Hoc distribution signing (required for Firebase OTA installs)
- Fix CFBundleVersion mismatch in Info.plist (1 → 2) to match project.yml
- Create Config/exportOptions.plist with method=ad-hoc and team 2MJF39L8VY

Previously Debug builds produced a Development provisioning profile that
doesn't include the tester's iPhone UDID, causing 'cannot be installed'.
This commit is contained in:
2026-06-27 22:11:35 +00:00
parent a382ad62dc
commit 44790bb659
3 changed files with 26 additions and 10 deletions

View File

@@ -84,14 +84,15 @@ jobs:
-project TabataGo.xcodeproj \
-scmProvider system
- name: Build app
- name: Archive app
run: |
cd tabatago-swift
xcodebuild -list
xcodebuild build \
xcodebuild archive \
-project TabataGo.xcodeproj \
-scheme TabataGo \
-configuration Debug \
-configuration Release \
-archivePath ../build/TabataGo.xcarchive \
-allowProvisioningUpdates \
-skipPackagePluginValidation \
-derivedDataPath ../build/derived \
@@ -101,14 +102,15 @@ jobs:
CODE_SIGN_STYLE=Automatic \
DEVELOPMENT_TEAM=2MJF39L8VY
- name: Package IPA
- name: Export IPA (Ad Hoc)
run: |
cd tabatago-swift
mkdir -p Payload build
APP=$(find ../build/derived -name 'TabataGo.app' -type d | head -1)
cp -R "$APP" Payload/
zip -r build/TabataGo.ipa Payload/
rm -rf Payload
mkdir -p build
xcodebuild -exportArchive \
-archivePath ../build/TabataGo.xcarchive \
-exportPath build \
-exportOptionsPlist Config/exportOptions.plist \
-allowProvisioningUpdates
- name: Deploy to Firebase
env:

View File

@@ -0,0 +1,14 @@
<?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>ad-hoc</string>
<key>teamID</key>
<string>2MJF39L8VY</string>
<key>compileBitcode</key>
<false/>
<key>signingStyle</key>
<string>automatic</string>
</dict>
</plist>

View File

@@ -28,7 +28,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<string>2</string>
<key>NSHealthShareUsageDescription</key>
<string>TabataGo reads your health data to show fitness stats and personalize your workouts.</string>
<key>NSHealthUpdateUsageDescription</key>