signing
Configure code signing in Xcode projects
signing
Configure manual code signing in your Xcode project.
Most users should use Automatic Signing. Xcode handles everything and works withmysigner buildandmysigner ship. Only use this command if you need manual signing control.
Usage
mysigner signing configure [options]
Options
| Option | Alias | Description | Default |
|---|---|---|---|
--target |
-t |
Configure specific target only | Main target |
--all-targets |
Configure all app and extension targets | false |
When to Use Manual Signing
Use Automatic Signing (Default) When:
- You're the only developer
- Standard app without special requirements
- Just want things to work
Use Manual Signing When:
- Sharing profiles across a team
- Specific entitlements requirements
- App extensions with complex signing
- CI/CD with shared certificates
- Enterprise distribution
- Need specific profile UUIDs
How It Works
The signing configure wizard:
- Detects your Xcode project and targets
- Shows current signing configuration
- Lists available team IDs
- Helps select the right provisioning profile
- Applies configuration to your Xcode project
- Validates the setup works
Examples
Configure Main App
$ mysigner signing configure
🔍 Detecting project...
✓ Found: MyApp.xcworkspace (Native iOS)
📋 Current Signing Configuration
Target: MyApp
Signing Style: Manual
Team ID: ABC123XYZ
Profile: (none)
🔐 Configuring Manual Signing
Step 1: Select Development Team
Available teams:
1. ABC123XYZ - My Company
Select team (1): 1
Step 2: Select Provisioning Profile
Available profiles for com.company.myapp:
1. MyApp AppStore (IOS_APP_STORE) - Expires 2027-01-15
2. MyApp Development (IOS_APP_DEVELOPMENT) - Expires 2027-01-15
Select profile (1-2): 1
Applying configuration to Xcode project...
✓ Signing configured successfully!
Target: MyApp
Team ID: ABC123XYZ
Profile: MyApp AppStore (abc123-def456)
Signing Style: Manual
Next: mysigner build
Configure Specific Target
$ mysigner signing configure --target MyWidget
🔍 Detecting project...
Configuring target: MyWidget
...
Configure All Targets
$ mysigner signing configure --all-targets
🔍 Detecting project...
Found 3 targets:
1. MyApp (Application)
2. MyWidget (App Extension)
3. MyNotifications (App Extension)
Configuring all targets...
...
Automatic Signing Detection
If your project uses automatic signing:
$ mysigner signing configure
⚠️ Project uses Automatic signing
Your project is configured for Automatic signing, which means:
• Xcode manages profiles automatically
• No manual profile configuration needed
• Team ID is all you need
Current Team ID: ABC123XYZ
You can build with: mysigner build
Configuration Files
What Gets Modified
The wizard modifies your .xcodeproj or .xcworkspace:
CODE_SIGN_STYLE→ManualDEVELOPMENT_TEAM→ Your team IDPROVISIONING_PROFILE_SPECIFIER→ Profile nameCODE_SIGN_IDENTITY→ Certificate type
Backup
Your Xcode project is automatically backed up before changes. The backup is stored in the same directory with a timestamp.
Troubleshooting
"No Profiles Found"
No provisioning profiles found for com.company.myapp
Fix:
1. Run doctor to create profiles:
bash
mysigner doctor
Or sync from Apple:
bash mysigner sync iosOr check bundle ID matches:
bash mysigner bundleid list
"Team ID Not Set"
No team ID found in project or API
Fix:
1. Set team ID in Xcode project settings
2. Or configure in MySigner dashboard
3. Or specify with --team option
Profile Expired
Profile MyApp AppStore is expired
Fix:
1. Regenerate in App Store Connect
2. Or run mysigner doctor to auto-create
3. Then sync: mysigner sync ios
Manual vs Automatic Signing
| Aspect | Automatic | Manual |
|---|---|---|
| Profile management | Xcode handles | You manage |
| Team configuration | Just team ID | Team + profile |
| Extensions | Auto-configured | Each needs config |
| CI/CD | Works with team ID | Needs profile UUIDs |
| Debugging | Less control | Full control |
Switching to Manual
If you need to switch from automatic to manual:
mysigner signing configure
# Follow the wizard
Switching to Automatic
In Xcode: 1. Select your target 2. Go to Signing & Capabilities 3. Check "Automatically manage signing"
Related Commands
profiles- List and download profilescertificates- Manage certificatesdoctor- Auto-create missing profilesbuild- Build with configured signing