Codemagic: automatic iOS signing via the App Store Connect API; App Store listing text

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
metatroncubeswdev 2026-10-31 12:34:24 -04:00
parent d73fd2de70
commit b67843e00f
4 changed files with 63 additions and 8 deletions

View File

@ -3,6 +3,7 @@
# Needed in Codemagic (Team settings / app settings): # Needed in Codemagic (Team settings / app settings):
# - Environment variable group "nk_app": SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, MEDIA_BASE_URL # - 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) # - 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) # - Android keystore uploaded with reference name "nk_upload_keystore" (Android)
# - Variable GCLOUD_SERVICE_ACCOUNT_CREDENTIALS in group "nk_google_play" (Android publishing) # - Variable GCLOUD_SERVICE_ACCOUNT_CREDENTIALS in group "nk_google_play" (Android publishing)
@ -41,12 +42,12 @@ workflows:
environment: environment:
groups: groups:
- nk_app - nk_app
- nk_ios_signing # CERTIFICATE_PRIVATE_KEY (secure)
vars:
BUNDLE_ID: com.metatroncubesolutions.nangaKathai
flutter: stable flutter: stable
xcode: latest xcode: latest
cocoapods: default cocoapods: default
ios_signing:
distribution_type: app_store
bundle_identifier: com.metatroncubesolutions.nangaKathai
triggering: triggering:
events: events:
- tag - tag
@ -55,8 +56,14 @@ workflows:
scripts: scripts:
- *write_env - *write_env
- *checks - *checks
- name: Use the App Store signing profiles # Fetches the Apple Distribution certificate and App Store profile through the API key,
script: xcode-project use-profiles # 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 - name: Build the iOS app
script: | script: |
flutter build ipa --release \ flutter build ipa --release \

View File

@ -26,9 +26,12 @@ each store release. Build numbers are set automatically by Codemagic.
2. **App Store Connect API key.** 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 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`**. - 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. 3. **iOS signing (automatic).** The build creates the Apple Distribution certificate and the App
- Under iOS certificates, generate an **Apple Distribution** certificate. Store profile itself through the API key, so no profiles are made by hand.
- 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). - 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 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`**, `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`. alias `upload`. The password is in `C:\Users\manes\nk-keys\key.properties.backup`.

View File

@ -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.

View File

@ -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)