sonodrill

Sonodrill, app iOS/Android d’entraînement musical (repères, boucles, vitesse), Kotlin Multiplatform + Compose
git clone https://git.schurger.org/sonodrill.git
Log | Files | Refs

commit adf102655176e1484c1f36bdada5522c41a8da62
parent 7861fcb3b0c26bb05b074591069bf1cbce45d93c
Author: Jean Schurger <jean@schurger.org>
Date:   Fri, 16 Oct 2026 14:42:31 -0400

TestFlight: App Store profile via sigh, manual export signing, upload; opaque icon

- The release lane gets (or creates) the App Store profile with the ASC API
  key and exports with manual signing: the key can't use cloud signing
- It now uploads the IPA to TestFlight (it only exported it before)
- App Store Connect rejects an app icon with an alpha channel: the 1024
  icon is flattened, its semi-transparent shapes composited over the gradient

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0141Zm4UQq8PATQAG98MdNCc

Diffstat:
MiosApp/Assets.xcassets/AppIcon.appiconset/icon_1024.png | 0
MiosApp/fastlane/Fastfile | 25++++++++++++++++++++++++-
2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/iosApp/Assets.xcassets/AppIcon.appiconset/icon_1024.png b/iosApp/Assets.xcassets/AppIcon.appiconset/icon_1024.png Binary files differ. diff --git a/iosApp/fastlane/Fastfile b/iosApp/fastlane/Fastfile @@ -5,6 +5,16 @@ platform :ios do lane :release do sh("cd .. && xcodegen generate") + api_key = app_store_connect_api_key( + key_id: ENV["UBI2_ASC_KEY_ID"], + issuer_id: ENV["UBI2_ASC_ISSUER_ID"], + key_filepath: ENV["UBI2_ASC_KEY_PATH"], + ) + + # App Store profile (downloaded or created): the export signs manually with it + sigh(app_identifier: "ubi2.sonodrill", api_key: api_key) + profile_name = lane_context[SharedValues::SIGH_NAME] + build_number = Time.now.strftime("%Y%m%d%H%M") increment_build_number( xcodeproj: "iosApp.xcodeproj", @@ -24,7 +34,14 @@ platform :ios do <key>method</key> <string>app-store-connect</string> <key>signingStyle</key> - <string>automatic</string> + <string>manual</string> + <key>signingCertificate</key> + <string>Apple Distribution</string> + <key>provisioningProfiles</key> + <dict> + <key>ubi2.sonodrill</key> + <string>#{profile_name}</string> + </dict> <key>teamID</key> <string>8CH9CCT4MH</string> <key>uploadSymbols</key> @@ -59,6 +76,12 @@ platform :ios do "-authenticationKeyIssuerID", ENV["UBI2_ASC_ISSUER_ID"], ) + upload_to_testflight( + api_key: api_key, + ipa: File.join(output_dir, "Sonodrill.ipa"), + skip_waiting_for_build_processing: true, + ) + UI.success("Upload complete! Check TestFlight for build #{build_number}") end end