<< All versions
Shared team storage with
Skill v1.0.2
currentAutomated scan100/100rudrankriyam/app-store-connect-cli-skills/asc-signing-setup
~1 modified
──Details
PublishedMay 30, 2026 at 04:56 PM
Content Hashsha256:393e28cb609269f1...
Git SHAf5eae1857d20
Bump Typepatch
──Files
Files (1 file, 3.8 KB)
SKILL.md3.8 KBactive
SKILL.md · 80 lines · 3.8 KB
version: "1.0.2" name: asc-signing-setup description: Set up bundle IDs, capabilities, signing certificates, provisioning profiles, and encrypted signing sync with the asc cli. Use when onboarding a new app, rotating signing assets, or sharing them across a team.
asc signing setup
Use this skill when you need to create or renew signing assets for iOS/macOS apps.
Preconditions
- Auth is configured (
asc auth loginorASC_*env vars). - You know the bundle identifier and target platform.
- You have a CSR file for certificate creation, or you will let
asc certificates create --generate-csrcreate one.
Workflow
- Create or find the bundle ID:
asc bundle-ids list --paginateasc bundle-ids create --identifier "com.example.app" --name "Example" --platform IOS
- Configure bundle ID capabilities:
asc bundle-ids capabilities list --bundle "BUNDLE_ID"asc bundle-ids capabilities add --bundle "BUNDLE_ID" --capability ICLOUD- Add capability settings when required:
--settings '[{"key":"ICLOUD_VERSION","options":[{"key":"XCODE_13","enabled":true}]}]'
- Create a signing certificate:
asc certificates list --certificate-type IOS_DISTRIBUTIONasc certificates create --certificate-type IOS_DISTRIBUTION --csr "./cert.csr"- Or generate a key and CSR inline:
asc certificates create --certificate-type IOS_DISTRIBUTION --generate-csr --key-out "./signing/dist.key" --csr-out "./signing/dist.csr"
- Create a provisioning profile:
asc profiles create --name "AppStore Profile" --profile-type IOS_APP_STORE --bundle "BUNDLE_ID" --certificate "CERT_ID"- Include devices for development/ad-hoc:
asc profiles create --name "Dev Profile" --profile-type IOS_APP_DEVELOPMENT --bundle "BUNDLE_ID" --certificate "CERT_ID" --device "DEVICE_ID"
- Download the profile:
asc profiles download --id "PROFILE_ID" --output "./profiles/AppStore.mobileprovision"
- Inspect and install the downloaded profile locally when needed:
asc profiles inspect --path "./profiles/AppStore.mobileprovision" --output tableasc profiles inspect --path "./profiles/AppStore.mobileprovision" --entitlements --output markdownasc profiles local install --path "./profiles/AppStore.mobileprovision"asc profiles local list --output table
Rotation and cleanup
- Revoke old certificates:
asc certificates revoke --id "CERT_ID" --confirm- Delete old profiles:
asc profiles delete --id "PROFILE_ID" --confirm- Clean local Xcode provisioning profiles:
asc profiles local clean --expired --dry-runasc profiles local clean --expired --confirm
Shared team storage with asc signing sync
Use this when you want a lightweight, non-interactive alternative to fastlane match for encrypted git-backed certificate/profile storage.
bash
# Push current ASC signing assets into an encrypted git repoasc signing sync push \--bundle-id "com.example.app" \--profile-type IOS_APP_STORE \--repo "git@github.com:team/certs.git" \--password "$MATCH_PASSWORD"# Pull and decrypt them into a local directoryasc signing sync pull \--repo "git@github.com:team/certs.git" \--password "$MATCH_PASSWORD" \--output-dir "./signing"
Notes:
--passwordfalls back toASC_MATCH_PASSWORD.- The encrypted repo follows a familiar match-style git layout for certs and profiles.
pullwrites files to disk; keychain import or profile installation is a separate step.
Notes
- Always check
--helpfor the exact enum values (certificate types, profile types). - Use
--paginatefor large accounts. --certificateaccepts comma-separated IDs when multiple certificates are required.- Device management uses
asc devicescommands (UDID required). asc profiles inspectandasc profiles local ...operate on local disk state, not App Store Connect API resources.