Help us improve
Share bugs, ideas, or general feedback.
From ios-craft
Step-by-step App Store submission workflow. Use when the user wants to ship to TestFlight or the App Store. Covers certificates, provisioning, app icons, screenshots, metadata, review guidelines, and common rejection prevention. Written for first-time submitters.
npx claudepluginhub ildunari/kosta-plugins --plugin ios-craftHow this skill is triggered — by the user, by Claude, or both
Slash command
/ios-craft:ios-app-store-submissionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide the user through publishing their iOS app from zero to live on the App Store. Adapt pace to their experience level — assume first-time submitter unless they indicate otherwise.
Guides App Store submission preparation and rejection prevention. Covers privacy manifests, StoreKit/IAP rules, ATT, HIG compliance, and metadata requirements.
Automates iOS/macOS app deployment to App Store Connect using asc CLI: TestFlight builds, App Store submissions, metadata/screenshots uploads, certificates/profiles management, review status checks, and Xcode Cloud workflows.
Simulates an Apple App Store review by inspecting iOS/macOS source code, entitlements, privacy manifests, and metadata for guideline violations. Trigger with "review my app".
Share bugs, ideas, or general feedback.
Guide the user through publishing their iOS app from zero to live on the App Store. Adapt pace to their experience level — assume first-time submitter unless they indicate otherwise.
Before anything else, confirm:
com.yourname.appname)If any prerequisite is missing, help the user resolve it before continuing.
See references/signing-explained-for-beginners.md for the full explanation.
Key points to convey:
Recommend automatic signing for beginners. Only discuss manual signing if the user has a team, CI/CD pipeline, or enterprise distribution needs.
Walk the user through:
Xcode → Target → Signing & Capabilities tab
✓ "Automatically manage signing" is checked
✓ Team is selected (their Apple Developer account)
✓ No red errors in the signing section
If errors appear, common fixes:
Requirements:
Assets.xcassets → AppIconQuick validation:
# Check image dimensions and alpha channel
sips -g pixelHeight -g pixelWidth -g hasAlpha /path/to/icon.png
If hasAlpha: yes, remove it:
sips -s format png --setProperty formatOptions 100 /path/to/icon.png -o /path/to/icon_no_alpha.png
Starting with Xcode 15, a single 1024x1024 icon auto-generates all sizes. No need for multiple icon files.
Before archiving, verify the app works on a physical device:
Xcode → Product → Destination → [Select physical device]
Xcode → Product → Run (⌘R)
Check for:
Xcode → Product → Destination → "Any iOS Device (arm64)"
Xcode → Product → Archive (⌘⇧B doesn't work — must use Archive)
Wait for the archive to complete. The Organizer window opens automatically.
From Organizer:
Common archive failures:
Go to appstoreconnect.apple.com:
My Apps → + → New App
Fill in:
myapp-v1)Complete the required metadata — see references/app-store-metadata-template.md
See references/screenshot-sizes-and-automation.md for required sizes and automation.
Minimum required sets:
Optional but recommended:
Up to 10 screenshots per size. First 3 are most important — they appear in search results.
After uploading the build from Xcode:
Recommended testing checklist before submission:
In App Store Connect:
Review typically takes 24-48 hours. You'll receive email updates.
See references/app-store-rejection-prevention.md for the full list.
Top 10 rejection reasons to check before submitting:
After approval:
If rejected: