How this command is triggered — by the user, by Claude, or both
Slash command
/ios-development:ios-archiveThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# iOS Archive Command Create an archive of the iOS app for App Store submission or Ad Hoc distribution. ## Context Current project: Build settings: ## Your Task Create an archive following these steps: 1. **Discover project** - Use `discover_projs` to find Xcode project/workspace 2. **List schemes** - Use `list_schemes` to find the main app scheme 3. **Verify configuration**: - Check `show_build_settings` for bundle ID, version - Verify code signing configuration - Check for Release configuration 4. **Clean build** (recommended): 5. **Create archive**: 6. **Ex...
Create an archive of the iOS app for App Store submission or Ad Hoc distribution.
Current project:
!ls -la *.xcodeproj *.xcworkspace 2>/dev/null
Build settings:
!xcodebuild -showBuildSettings 2>/dev/null | grep -E "(PRODUCT_BUNDLE_IDENTIFIER|MARKETING_VERSION|CURRENT_PROJECT_VERSION)" | head -10
Create an archive following these steps:
Discover project - Use discover_projs to find Xcode project/workspace
List schemes - Use list_schemes to find the main app scheme
Verify configuration:
show_build_settings for bundle ID, versionClean build (recommended):
xcodebuild clean -scheme "AppScheme" -configuration Release
Create archive:
xcodebuild archive \
-workspace MyApp.xcworkspace \
-scheme "MyApp" \
-configuration Release \
-archivePath ./build/MyApp.xcarchive \
-destination "generic/platform=iOS"
Export IPA (if requested):
For App Store:
xcodebuild -exportArchive \
-archivePath ./build/MyApp.xcarchive \
-exportPath ./build/AppStore \
-exportOptionsPlist ExportOptions.plist
ExportOptions.plist for App Store:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store-connect</string>
<key>destination</key>
<string>upload</string>
<key>signingStyle</key>
<string>automatic</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
ExportOptions.plist for Ad Hoc:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>
<key>signingStyle</key>
<string>automatic</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
Upload to App Store Connect (if requested):
xcrun altool --upload-app \
-f ./build/AppStore/MyApp.ipa \
-t ios \
--apiKey YOUR_API_KEY \
--apiIssuer YOUR_ISSUER_ID
Generate report:
## Archive Summary
**App**: MyApp
**Version**: 1.0.0 (1)
**Bundle ID**: com.example.myapp
**Archive Path**: ./build/MyApp.xcarchive
**IPA Path**: ./build/AppStore/MyApp.ipa (if exported)
### Next Steps
1. Open Xcode Organizer to view archive
2. Upload to App Store Connect
3. Submit for review
### Checklist Before Submission
- [ ] Privacy manifest included
- [ ] App icons complete
- [ ] Screenshots prepared
- [ ] Release notes written
| Method | Use Case |
|---|---|
app-store-connect | App Store submission |
ad-hoc | Testing on registered devices |
enterprise | Internal distribution (requires enterprise account) |
development | Development testing |
Code Signing:
Version Numbers:
CURRENT_PROJECT_VERSION for each uploadMARKETING_VERSION must be unique per submissionnpx claudepluginhub arimunandar/claude-code-ios-plugin --plugin ios-development/ios-buildBuilds iOS projects with xcodebuild, attempts automatic error resolution via xcode-build-resolver, and supports debug, archive, and IPA export workflows.
/build-and-runBuilds the current Xcode project (fixing errors automatically), then runs the app on macOS or iOS Simulator. Optional [scheme] argument.
/xcode-testBuilds, installs, and tests iOS apps on the simulator using XcodeBuildMCP, capturing screenshots and logs to verify behavior.
/test-xcodeBuilds, installs, launches, and tests iOS apps on simulator using XcodeBuildMCP. Captures screenshots, logs, and verifies behavior. Specify scheme or 'current'.