Overview
Thesigning command provides high-level operations for managing code signing workflows, automatically resolving and downloading the certificates and provisioning profiles needed for app distribution.
Fetch Signing Files
Fetch certificates and provisioning profiles for an app in a single command:- Resolves the bundle ID in App Store Connect
- Finds matching certificates for the profile type
- Finds or creates a provisioning profile
- Downloads certificates (.cer) and profile (.mobileprovision)
- Saves files to the output directory
Required Flags
--bundle-id- Bundle identifier (e.g., com.example.app)--profile-type- Type of provisioning profile (see Profile Types)
Optional Flags
--output- Output directory (default:./signing)--app- App Store Connect app ID (validates bundle ID match)--certificate-type- Filter specific certificate type (usually auto-inferred)--device- Device IDs for development profiles (comma-separated)--create-missing- Create a new profile if none exists--format- Output format for metadata: json, table, markdown (default: json)
Profile Types
iOS Profile Types
App Store Distribution:- Used for: App Store submission
- Certificate type: IOS_DISTRIBUTION
- Devices: Not required
- Used for: Local development and testing
- Certificate type: IOS_DEVELOPMENT
- Devices: Required (use
asc devices listto find IDs)
- Used for: External testing (outside TestFlight)
- Certificate type: IOS_DISTRIBUTION
- Devices: Required
- Used for: Enterprise internal distribution
- Certificate type: IOS_DISTRIBUTION
- Devices: Not required
- Requires: Apple Developer Enterprise Program
tvOS Profile Types
TVOS_APP_STORE- App Store distributionTVOS_APP_DEVELOPMENT- DevelopmentTVOS_APP_ADHOC- Ad Hoc distributionTVOS_APP_INHOUSE- Enterprise distribution
macOS Profile Types
App Store:- Certificate type: MAC_APP_DISTRIBUTION
- Certificate type: DEVELOPER_ID_APPLICATION
- Used for: Distribution outside Mac App Store
- Certificate type: MAC_APP_DEVELOPMENT
MAC_CATALYST_APP_STORE- Mac App StoreMAC_CATALYST_APP_DIRECT- Direct distributionMAC_CATALYST_APP_DEVELOPMENT- Development
Certificate Type Inference
The CLI automatically infers the correct certificate type from the profile type:| Profile Type | Certificate Type |
|---|---|
| IOS_APP_STORE | IOS_DISTRIBUTION |
| IOS_APP_DEVELOPMENT | IOS_DEVELOPMENT |
| IOS_APP_ADHOC | IOS_DISTRIBUTION |
| IOS_APP_INHOUSE | IOS_DISTRIBUTION |
| TVOS_APP_STORE | TVOS_DISTRIBUTION |
| TVOS_APP_DEVELOPMENT | TVOS_DEVELOPMENT |
| MAC_APP_STORE | MAC_APP_DISTRIBUTION |
| MAC_APP_DEVELOPMENT | MAC_APP_DEVELOPMENT |
| MAC_APP_DIRECT | DEVELOPER_ID_APPLICATION |
--certificate-type if needed.
Create Missing Profiles
Create a new provisioning profile if none exists:--create-missing is not specified and no matching profile exists, the command will fail with an error suggesting you use this flag.
Output Files
Files are saved to the output directory with sanitized names: Provisioning Profile:Complete Example Workflows
App Store Submission
Development Setup
CI/CD Integration
Troubleshooting
Bundle ID Not Found
No Certificates Found
No Active Profile Found
--create-missing flag or create profile manually:
Devices Required for Development
Related Commands
- Certificates - Manage individual certificates
- Profiles - Manage provisioning profiles
- Bundle IDs - Manage bundle identifiers
