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 6e47399444fc9dae2bc2182e966157a7b0fb8b3d
parent 86b25df8a6d800c1abd2df80b268759739a38215
Author: Jean Schurger <jean@schurger.org>
Date:   Sat, 17 Oct 2026 14:03:17 -0400

iOS: move to Jean's personal developer account (team CM5RQKJH56, org.schurger.sonodrill)

Fastlane reads the PERSO_ASC_* API key and creates the team's distribution
certificate when missing.

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

Diffstat:
McomposeApp/src/iosMain/kotlin/ubi2/sonodrill/main_ios.kt | 2+-
MiosApp/Configuration/Config.xcconfig | 2+-
MiosApp/ExportOptions.plist | 2+-
MiosApp/fastlane/Appfile | 6+++---
MiosApp/fastlane/Fastfile | 27+++++++++++++++------------
MiosApp/iosApp.xcodeproj/project.pbxproj | 10+++++-----
MiosApp/project.yml | 8++++----
7 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/composeApp/src/iosMain/kotlin/ubi2/sonodrill/main_ios.kt b/composeApp/src/iosMain/kotlin/ubi2/sonodrill/main_ios.kt @@ -32,7 +32,7 @@ private var app_repo: AudioRepository? = null // Opened before the app was ready private val pending_urls = mutableListOf<NSURL>() -private const val MARKS_TYPE = "ubi2.sonodrill.marks" +private const val MARKS_TYPE = "org.schurger.sonodrill.marks" fun register_waveform_provider(provider: WaveformProvider) { waveform_provider = provider diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig @@ -1,3 +1,3 @@ TEAM_ID = -BUNDLE_ID = ubi2.sonodrill +BUNDLE_ID = org.schurger.sonodrill APP_NAME = Sonodrill diff --git a/iosApp/ExportOptions.plist b/iosApp/ExportOptions.plist @@ -7,7 +7,7 @@ <key>signingStyle</key> <string>automatic</string> <key>teamID</key> - <string>8CH9CCT4MH</string> + <string>CM5RQKJH56</string> <key>uploadSymbols</key> <true/> </dict> diff --git a/iosApp/fastlane/Appfile b/iosApp/fastlane/Appfile @@ -1,3 +1,3 @@ -app_identifier("ubi2.sonodrill") -apple_id(ENV["UBI2_APPLE_ID"]) -team_id("8CH9CCT4MH") +app_identifier("org.schurger.sonodrill") +apple_id(ENV["PERSO_APPLE_ID"]) +team_id("CM5RQKJH56") diff --git a/iosApp/fastlane/Fastfile b/iosApp/fastlane/Fastfile @@ -8,14 +8,17 @@ platform :ios 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"], + key_id: ENV["PERSO_ASC_KEY_ID"], + issuer_id: ENV["PERSO_ASC_ISSUER_ID"], + key_filepath: ENV["PERSO_ASC_KEY_PATH"], ) + # Distribution certificate of the team, created and installed in the keychain if missing + get_certificates(api_key: api_key, output_path: Dir.tmpdir) + # App Store profile (downloaded or created): the export signs manually with it. # SIGH_FORCE=1 makes a new one, after a capability changed on the App ID. - sigh(app_identifier: "ubi2.sonodrill", api_key: api_key, output_path: Dir.tmpdir, force: ENV["SIGH_FORCE"] == "1") + sigh(app_identifier: "org.schurger.sonodrill", api_key: api_key, output_path: Dir.tmpdir, force: ENV["SIGH_FORCE"] == "1") profile_name = lane_context[SharedValues::SIGH_NAME] build_number = Time.now.strftime("%Y%m%d%H%M") @@ -42,11 +45,11 @@ platform :ios do <string>Apple Distribution</string> <key>provisioningProfiles</key> <dict> - <key>ubi2.sonodrill</key> + <key>org.schurger.sonodrill</key> <string>#{profile_name}</string> </dict> <key>teamID</key> - <string>8CH9CCT4MH</string> + <string>CM5RQKJH56</string> <key>uploadSymbols</key> <true/> </dict> @@ -61,9 +64,9 @@ platform :ios do "-destination", "generic/platform=iOS", "-archivePath", archive_path, "-allowProvisioningUpdates", - "-authenticationKeyPath", ENV["UBI2_ASC_KEY_PATH"], - "-authenticationKeyID", ENV["UBI2_ASC_KEY_ID"], - "-authenticationKeyIssuerID", ENV["UBI2_ASC_ISSUER_ID"], + "-authenticationKeyPath", ENV["PERSO_ASC_KEY_PATH"], + "-authenticationKeyID", ENV["PERSO_ASC_KEY_ID"], + "-authenticationKeyIssuerID", ENV["PERSO_ASC_ISSUER_ID"], "archive", ) @@ -74,9 +77,9 @@ platform :ios do "-exportOptionsPlist", export_plist, "-exportPath", output_dir, "-allowProvisioningUpdates", - "-authenticationKeyPath", ENV["UBI2_ASC_KEY_PATH"], - "-authenticationKeyID", ENV["UBI2_ASC_KEY_ID"], - "-authenticationKeyIssuerID", ENV["UBI2_ASC_ISSUER_ID"], + "-authenticationKeyPath", ENV["PERSO_ASC_KEY_PATH"], + "-authenticationKeyID", ENV["PERSO_ASC_KEY_ID"], + "-authenticationKeyIssuerID", ENV["PERSO_ASC_ISSUER_ID"], ) upload_to_testflight( diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -105,7 +105,7 @@ LastUpgradeCheck = 1430; TargetAttributes = { 78B53CC79860CBFC2F5543C6 = { - DevelopmentTeam = 8CH9CCT4MH; + DevelopmentTeam = CM5RQKJH56; }; }; }; @@ -210,7 +210,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 8CH9CCT4MH; + DEVELOPMENT_TEAM = CM5RQKJH56; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -267,7 +267,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 8CH9CCT4MH; + DEVELOPMENT_TEAM = CM5RQKJH56; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -317,7 +317,7 @@ "-framework", MediaPlayer, ); - PRODUCT_BUNDLE_IDENTIFIER = ubi2.sonodrill; + PRODUCT_BUNDLE_IDENTIFIER = org.schurger.sonodrill; PRODUCT_NAME = Sonodrill; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -345,7 +345,7 @@ "-framework", MediaPlayer, ); - PRODUCT_BUNDLE_IDENTIFIER = ubi2.sonodrill; + PRODUCT_BUNDLE_IDENTIFIER = org.schurger.sonodrill; PRODUCT_NAME = Sonodrill; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/iosApp/project.yml b/iosApp/project.yml @@ -5,7 +5,7 @@ options: iOS: "16.0" settings: base: - DEVELOPMENT_TEAM: "8CH9CCT4MH" + DEVELOPMENT_TEAM: "CM5RQKJH56" targets: iosApp: type: application @@ -42,9 +42,9 @@ targets: CFBundleTypeRole: Editor LSHandlerRank: Owner LSItemContentTypes: - - ubi2.sonodrill.marks + - org.schurger.sonodrill.marks UTExportedTypeDeclarations: - - UTTypeIdentifier: ubi2.sonodrill.marks + - UTTypeIdentifier: org.schurger.sonodrill.marks UTTypeDescription: Sonodrill marks UTTypeConformsTo: - public.json @@ -74,7 +74,7 @@ targets: com.apple.developer.ubiquity-kvstore-identifier: "$(TeamIdentifierPrefix)$(CFBundleIdentifier)" settings: base: - PRODUCT_BUNDLE_IDENTIFIER: ubi2.sonodrill + PRODUCT_BUNDLE_IDENTIFIER: org.schurger.sonodrill PRODUCT_NAME: Sonodrill ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon INFOPLIST_FILE: Info.plist