From b67843e00ffa66f0b90708b156e77513244ea681 Mon Sep 17 00:00:00 2001 From: metatroncubeswdev Date: Sat, 31 Oct 2026 12:34:24 -0400 Subject: [PATCH] Codemagic: automatic iOS signing via the App Store Connect API; App Store listing text Co-Authored-By: Claude Opus 5.5 --- codemagic.yaml | 17 ++++++++++---- docs/app-store-release.md | 9 +++++--- docs/store/appstore-description.txt | 36 +++++++++++++++++++++++++++++ docs/store/appstore-metadata.txt | 9 ++++++++ 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 docs/store/appstore-description.txt create mode 100644 docs/store/appstore-metadata.txt diff --git a/codemagic.yaml b/codemagic.yaml index 68e8c05..6a4e711 100644 --- a/codemagic.yaml +++ b/codemagic.yaml @@ -3,6 +3,7 @@ # Needed in Codemagic (Team settings / app settings): # - Environment variable group "nk_app": SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, MEDIA_BASE_URL # - App Store Connect API key integration named "NK App Store Connect" (iOS) +# - Variable CERTIFICATE_PRIVATE_KEY (secure) in group "nk_ios_signing" (iOS signing) # - Android keystore uploaded with reference name "nk_upload_keystore" (Android) # - Variable GCLOUD_SERVICE_ACCOUNT_CREDENTIALS in group "nk_google_play" (Android publishing) @@ -41,12 +42,12 @@ workflows: environment: groups: - nk_app + - nk_ios_signing # CERTIFICATE_PRIVATE_KEY (secure) + vars: + BUNDLE_ID: com.metatroncubesolutions.nangaKathai flutter: stable xcode: latest cocoapods: default - ios_signing: - distribution_type: app_store - bundle_identifier: com.metatroncubesolutions.nangaKathai triggering: events: - tag @@ -55,8 +56,14 @@ workflows: scripts: - *write_env - *checks - - name: Use the App Store signing profiles - script: xcode-project use-profiles + # Fetches the Apple Distribution certificate and App Store profile through the API key, + # creating them on the first run. CERTIFICATE_PRIVATE_KEY is the certificate's key. + - name: Set up App Store code signing + script: | + keychain initialize + app-store-connect fetch-signing-files "$BUNDLE_ID" --type IOS_APP_STORE --create + keychain add-certificates + xcode-project use-profiles - name: Build the iOS app script: | flutter build ipa --release \ diff --git a/docs/app-store-release.md b/docs/app-store-release.md index acdb10f..17bd9b6 100644 --- a/docs/app-store-release.md +++ b/docs/app-store-release.md @@ -26,9 +26,12 @@ each store release. Build numbers are set automatically by Codemagic. 2. **App Store Connect API key.** - In App Store Connect, open Users and Access > Integrations > App Store Connect API and generate a key with the **App Manager** role. - In Codemagic, open Team settings > Team integrations > Developer Portal and add the key with the name **`NK App Store Connect`**. -3. **iOS signing.** Open Team settings > codemagic.yaml settings > Code signing identities. - - Under iOS certificates, generate an **Apple Distribution** certificate. - - Under iOS provisioning profiles, fetch the **App Store** profile for `com.metatroncubesolutions.nangaKathai`. Create that profile on developer.apple.com first if it doesn't exist (see step 3.1). +3. **iOS signing (automatic).** The build creates the Apple Distribution certificate and the App + Store profile itself through the API key, so no profiles are made by hand. + - Create a variable group **`nk_ios_signing`** with `CERTIFICATE_PRIVATE_KEY` (secure). + - Its value is the full contents of `C:\Users\manes\nk-keys\ios_distribution_private_key`, including the BEGIN and END lines. + - The API key needs the **Admin** role, or App Manager with access to Certificates, Identifiers & Profiles. + - Apple allows only a few distribution certificates per team. If the limit is reached, revoke an unused one on developer.apple.com. 4. **Android signing.** On the same page, under Android keystores, upload `C:\Users\manes\nk-keys\nk-upload.jks` with the reference name **`nk_upload_keystore`**, alias `upload`. The password is in `C:\Users\manes\nk-keys\key.properties.backup`. diff --git a/docs/store/appstore-description.txt b/docs/store/appstore-description.txt new file mode 100644 index 0000000..c02b68e --- /dev/null +++ b/docs/store/appstore-description.txt @@ -0,0 +1,36 @@ +Nanga Kathai means "our song". It is a home for Badaga music: the songs of the Badaga people of the Nilgiris, from Ooty, Kotagiri, Coonoor and the villages (hattis) in between. + +For generations our songs lived on cassettes, CDs and in the memories of our elders. Nanga Kathai brings them together in one free app, so that Badagas everywhere, in the Nilgiris, across India, in the Gulf, Canada, the US and beyond, can hear the music of home. + +LISTEN FREE, WITH NO ADS +• Stream Badaga songs free with a free account. No ads, ever. +• Old favourites and new songs, folk songs, wedding songs and devotional songs. +• Browse by album, by singer or by occasion. +• Search by song title, singer or album. + +DOWNLOAD AND LISTEN OFFLINE +• Save songs and whole albums to your phone. +• Play them anywhere, even without signal: on the bus up the ghat roads, in the tea estate or on a flight. +• Downloads are encrypted and play only inside Nanga Kathai, which protects the singers whose work we share. +• Download on Wi-Fi only, so you never use your mobile data by surprise. + +A PLAYER MADE FOR OUR MUSIC +• Play through Bluetooth speakers, headphones, AirPlay and your car. +• Background playback, lock-screen controls, shuffle, repeat, a queue and a sleep timer. +• Liked songs and recently played, always one tap away. + +FOR SINGERS AND FAMILIES +Many of our older recordings come from a family collection gathered over many years, and not every artist has been identified yet. If a song is yours or your family's, tap "Is this your song?" on any song. You can ask us to credit you, correct the details or remove the song. We review every request. + +Singers, lyricists and music directors: verified creator accounts are coming soon, so you can share your new songs with the Badaga community around the world. + +WHY WE BUILT IT +Nanga Kathai is made by Metatroncube Software Solutions, whose founder is Badaga. Badaga singers once earned from cassettes and CDs. Today most rely on YouTube and a few sponsors. We want to give our artists a proper home, and in future, a fair way to earn from their creations, so that a new generation is inspired to keep our music alive. + +SUPPORT US +Nanga Kathai is free. If it brings you joy, you can make an optional one-time gift in the app to help us keep it running and bring more artists on board. Every song stays free for everyone. + +Questions, song requests or feedback? Write to support@nkbmusic.com +Website: https://nkbmusic.com + +Nanga Kathai: our songs, our stories, our legacy. diff --git a/docs/store/appstore-metadata.txt b/docs/store/appstore-metadata.txt new file mode 100644 index 0000000..8754f40 --- /dev/null +++ b/docs/store/appstore-metadata.txt @@ -0,0 +1,9 @@ +Name: Nanga Kathai: Badaga Songs +Subtitle: Nilgiris folk music, no ads +Promotional text: Badaga folk, wedding, festival and devotional songs from the Nilgiris. Free, with no ads. Download and listen offline, wherever you are. +Keywords: nilgiris,ooty,kotagiri,coonoor,hatti,folk,music,wedding,devotional,hethai,habba,offline,tamil +Support URL: https://nkbmusic.com +Marketing URL: https://nkbmusic.com +Privacy Policy URL: https://nkbmusic.com/privacy +Copyright: 2026 Metatroncube Software Solutions +Category: Music (secondary: Entertainment)