This skill should be used when the user asks about "App Store requirements", "App Store review guidelines", "App Store rejection reasons", "why was my app rejected", "app review checklist", "Info.plist keys", "privacy manifest", "Required Reason APIs", "App Tracking Transparency", "App Store submission checklist", "React Native App Store", "Swift App Store submission", or needs guidance on Apple App Store compliance, common rejection reasons, privacy requirements, or submission readiness.
How this skill is triggered — by the user, by Claude, or both
Slash command
/apple-appstore-toolkit:appstore-requirementsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive knowledge base for ensuring iOS apps (React Native or Swift/Xcode) meet Apple's App Store Review Guidelines and pass submission review. Apple rejected approximately 25% of all submissions in 2024 (1.93 million out of 7.77 million), making pre-submission review critical.
Comprehensive knowledge base for ensuring iOS apps (React Native or Swift/Xcode) meet Apple's App Store Review Guidelines and pass submission review. Apple rejected approximately 25% of all submissions in 2024 (1.93 million out of 7.77 million), making pre-submission review critical.
The most frequent App Store rejection reasons, ranked by volume:
For detailed actionable checks for each rejection category, consult references/common-rejection-reasons.md.
Every framework usage requires a corresponding NS*UsageDescription key with a specific, non-generic purpose string. Verify background modes match actual usage. Ensure UILaunchStoryboardName is set (required since April 2020).
For the complete list of Info.plist privacy keys and entitlements, consult references/info-plist-keys.md.
The PrivacyInfo.xcprivacy file is mandatory. It must declare tracking status, tracking domains, collected data types, and Required Reason API usage across 5 categories (~30 API symbols).
For the full list of Required Reason API categories, symbols, and reason codes, consult references/privacy-manifest-apis.md.
Import of AdSupport or AppTrackingTransparency requires NSUserTrackingUsageDescription in Info.plist and a call to ATTrackingManager.requestTrackingAuthorization() before accessing IDFA.
All digital content must use Apple IAP (Guideline 3.1.1). A visible "Restore Purchases" button is mandatory for any app with non-consumable IAP or subscriptions. Subscription apps must display pricing, duration, auto-renewal terms, and provide a "Manage Subscriptions" link. External payment SDKs (Stripe, PayPal) for digital goods trigger rejection.
The 1024x1024 App Store icon must be PNG format, sRGB or Display P3 color space, with no alpha channel (no transparency). Apple applies rounded corners automatically. Verify with sips -g hasAlpha — ITMS-90717 rejects icons with transparency. Ensure the asset catalog Contents.json references valid, existing icon files.
App Transport Security (ATS) requires HTTPS for all connections. NSAllowsArbitraryLoads = YES without per-domain exceptions triggers rejection. IPv6 compatibility is required — no hardcoded IPv4 addresses. Scan for hardcoded API keys, tokens, and credentials in source code. Verify .gitignore excludes .env files, certificates, and provisioning profiles.
CodePush/OTA updates cannot add native modules or change core functionality. WebView-only apps get rejected under Guideline 4.2. Hermes engine is recommended. Native splash screen configuration is required (JS-only shows blank screen). All native module permissions need Info.plist entries.
For React Native-specific gotchas, consult references/react-native-gotchas.md.
For comprehensive compliance information, consult:
references/info-plist-keys.md — Complete Info.plist privacy keys, entitlements, background modes, device capabilitiesreferences/privacy-manifest-apis.md — All Required Reason API categories, symbols, reason codes, and third-party SDK requirementsreferences/common-rejection-reasons.md — Detailed breakdown of each rejection category with actionable checksreferences/react-native-gotchas.md — React Native-specific requirements, CodePush rules, Expo configurationWhen reviewing an app for App Store readiness:
npx claudepluginhub crgeee/apple-appstore-toolkit --plugin apple-appstore-toolkitAudits iOS/iPadOS/macOS app projects against App Store Review Guidelines before submission. Supports Swift/ObjC, Flutter, React Native, Expo, Kotlin Multiplatform, .NET MAUI, Cordova/Ionic, Unity.
Guides App Store submission preparation and rejection prevention. Covers privacy manifests, StoreKit/IAP rules, ATT, HIG compliance, and metadata requirements.
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".