{
  "meta": {
    "url": "https://shotlingo.com/tools/app-store-rejection-codes",
    "lastVerified": "2026-06-20",
    "source": "https://developer.apple.com/app-store/review/guidelines/",
    "license": "MIT",
    "attribution": "Maintained by Shotlingo (https://shotlingo.com). Linkback appreciated."
  },
  "rejectionCodes": [
    {
      "id": "1.1",
      "code": "Guideline 1.1",
      "title": "Objectionable Content",
      "category": "safety",
      "description": "App contains content that is offensive, insensitive, upsetting, intended to disgust, or in exceptionally poor taste. Includes violence, adult content, defamatory material, or content that demeans groups of people.",
      "fix": "Remove or restrict objectionable content. Use age-rating gates. If showing mature content, enable it only after explicit user opt-in and set the appropriate age rating.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#1.1",
      "frequency": "occasional"
    },
    {
      "id": "1.2",
      "code": "Guideline 1.2",
      "title": "User-Generated Content",
      "category": "safety",
      "description": "Apps that enable UGC lack required safeguards: a filtering system for objectionable material, a mechanism to report offensive content, the ability to block abusive users, and a clearly accessible contact method for reporting to the developer.",
      "fix": "Implement all four required safeguards: content filter, report button, block mechanism, and a contact/report channel. Document each in your review notes.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#1.2",
      "frequency": "common"
    },
    {
      "id": "1.4.1",
      "code": "Guideline 1.4.1",
      "title": "Physical Harm — Medical Claims",
      "category": "safety",
      "description": "App makes inaccurate medical or health claims, or provides medical diagnosis/treatment advice without proper disclaimers. Applicable to apps using AI for health-related features.",
      "fix": "Add clear \"not a substitute for professional medical advice\" disclaimers. Remove specific diagnostic claims. Work with a licensed medical professional to validate wording.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#1.4",
      "frequency": "occasional"
    },
    {
      "id": "2.1",
      "code": "Guideline 2.1",
      "title": "App Completeness",
      "category": "performance",
      "description": "App is incomplete: placeholder content, lorem ipsum text, broken UI, crashes on launch, or features inaccessible to reviewers. Demo/beta/test apps are not accepted.",
      "fix": "Ensure all features work end-to-end. Replace all placeholder content. Provide a test account in review notes if login is required. Test on a real device at the exact iOS version Apple specifies.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#2.1",
      "frequency": "very-common"
    },
    {
      "id": "2.3.1",
      "code": "Guideline 2.3.1",
      "title": "Accurate Metadata — Misleading Description",
      "category": "performance",
      "description": "App name, subtitle, description, keywords, screenshots, or previews misrepresent the app's actual functionality or include false information about features, pricing, or results.",
      "fix": "Align every metadata field with the actual shipped features. Remove superlatives (\"best\", \"#1\") unless backed by verifiable evidence. Don't list features in the description that are not yet live.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#2.3",
      "frequency": "common"
    },
    {
      "id": "2.3.3",
      "code": "Guideline 2.3.3",
      "title": "Accurate Metadata — Screenshots",
      "category": "performance",
      "description": "Screenshots do not accurately represent the app's UI — showing a different app, non-existent features, or marketing imagery without any actual app interface.",
      "fix": "Screenshots must show real in-app UI at the correct resolution. Marketing text overlays are fine; showing a completely different interface is not. See shotlingo.com/tools/app-store-screenshot-sizes for exact dimensions.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#2.3",
      "frequency": "common"
    },
    {
      "id": "2.5.4",
      "code": "Guideline 2.5.4",
      "title": "Software Requirements — IPv6",
      "category": "performance",
      "description": "App fails on Apple's IPv6-only test network. Apple requires all apps to support IPv6 since iOS 9. This surfaces if you hardcode IPv4 addresses or use old network APIs.",
      "fix": "Never hardcode IP addresses; use hostnames. Use high-level Apple networking APIs (URLSession, Network.framework). Test on a Mac sharing internet via IPv6-only Personal Hotspot.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#2.5",
      "frequency": "common"
    },
    {
      "id": "2.5.16",
      "code": "Guideline 2.5.16",
      "title": "Software Requirements — Deprecated/Private APIs",
      "category": "performance",
      "description": "App uses deprecated, private, or undocumented Apple APIs that Apple's automated scan flags. Includes use of UIWebView (deprecated since iOS 12), removed networking APIs, or private symbol imports.",
      "fix": "Replace UIWebView with WKWebView. Run a static analysis pass: grep your codebase for any symbols Apple flagged. Use Xcode's API availability checker and target the minimum iOS version you actually support.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#2.5",
      "frequency": "common"
    },
    {
      "id": "3.1.1",
      "code": "Guideline 3.1.1",
      "title": "In-App Purchase — Bypassing",
      "category": "business",
      "description": "App includes buttons, links, or other UI that direct users outside the app to purchase digital goods or unlock premium features without using Apple's in-app purchase system.",
      "fix": "Remove any \"buy on our website\" links for digital content within the app. All digital goods must go through IAP. Physical goods and services (e.g. booking a taxi) are exempt.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#3.1",
      "frequency": "very-common"
    },
    {
      "id": "3.1.3",
      "code": "Guideline 3.1.3",
      "title": "In-App Purchase — Reader Apps",
      "category": "business",
      "description": "Reader app (streaming music, video, news, magazines, books) includes an in-app link to sign up for the service. Reader apps may not link to external purchase flows.",
      "fix": "Remove all \"sign up\" / \"subscribe\" links that open a web browser or sheet. You may tell users a paid account exists outside the app, but cannot provide a direct link to sign up. Include a link to Apple's required disclosure about reader app subscriptions.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#3.1.3",
      "frequency": "occasional"
    },
    {
      "id": "3.1.5b",
      "code": "Guideline 3.1.5(b)",
      "title": "In-App Purchase — Cryptocurrencies",
      "category": "business",
      "description": "App transmits, mines, or exchanges cryptocurrency without complying with local laws in the target markets, or without proper licensing. Crypto mining apps are prohibited outright on iOS.",
      "fix": "Crypto apps must operate under valid money transmitter licenses in all jurisdictions where the app is available. Mining apps are not permitted. Ensure explicit documentation of licensing in review notes.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#3.1",
      "frequency": "occasional"
    },
    {
      "id": "4.0",
      "code": "Guideline 4.0",
      "title": "Design — General",
      "category": "design",
      "description": "App UI does not meet Apple's general design quality bar: inconsistent icon style, broken Auto Layout on different device sizes, or UI that does not behave as iOS users expect.",
      "fix": "Follow Apple Human Interface Guidelines. Test on all required device sizes. Use system components where possible. Ensure auto-layout handles iPhone 6.9\" through SE and iPad 13\" without breakage.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#4",
      "frequency": "occasional"
    },
    {
      "id": "4.2",
      "code": "Guideline 4.2",
      "title": "Minimum Functionality",
      "category": "design",
      "description": "App does not provide enough useful functionality to be worth distributing. Thin-wrapper web apps, simple utility apps with a single feature, and apps that are entirely off-device also fall here.",
      "fix": "Add meaningful native functionality. If the core value is a website, submit as a Progressive Web App instead, or add native features (notifications, widgets, Siri integration) that justify an App Store presence.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#4.2",
      "frequency": "very-common"
    },
    {
      "id": "4.2.2",
      "code": "Guideline 4.2.2",
      "title": "Minimum Functionality — Similar Apps",
      "category": "design",
      "description": "App is too similar to existing apps from the same developer or is one of many near-duplicate apps flooding the store with the same functionality.",
      "fix": "Differentiate meaningfully from your existing apps. If you maintain multiple country-specific apps, consolidate into one with localization. Remove duplicate apps from your portfolio before submitting new ones.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#4.2",
      "frequency": "occasional"
    },
    {
      "id": "4.3",
      "code": "Guideline 4.3",
      "title": "Spam",
      "category": "design",
      "description": "Multiple apps submitted with the same idea — cookie-cutter or template apps with little customization, or apps created to artificially inflate rankings or reviews.",
      "fix": "Submit one high-quality app rather than many thin variants. If you offer a white-label service, use a B2B model rather than submitting individual apps per client. Remove artificial rating/review prompts.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#4.3",
      "frequency": "common"
    },
    {
      "id": "5.1.1",
      "code": "Guideline 5.1.1",
      "title": "Privacy — Data Collection and Storage",
      "category": "legal",
      "description": "App collects user data without a clear privacy policy, fails to disclose data collection in App Store Connect privacy nutrition labels, or collects more data than required for app functionality.",
      "fix": "Add a privacy policy URL to App Store Connect. Fill in all privacy nutrition labels accurately — include every data type collected, even if collected by third-party SDKs. Apply data minimization: only collect what you use.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#5.1.1",
      "frequency": "very-common"
    },
    {
      "id": "5.1.2",
      "code": "Guideline 5.1.2",
      "title": "Privacy — Data Use and Sharing",
      "category": "legal",
      "description": "App shares user data with third parties in ways not disclosed in the privacy policy, uses data for purposes beyond what the user consented to, or enables ad targeting without proper user consent under App Tracking Transparency.",
      "fix": "Implement ATT prompt before any cross-app tracking. Update privacy policy to list all third-party data recipients. Audit all SDKs for data sharing. Use SKAdNetwork for attribution instead of raw IDFA where possible.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#5.1.2",
      "frequency": "common"
    },
    {
      "id": "5.1.5",
      "code": "Guideline 5.1.5",
      "title": "Privacy — Location Services",
      "category": "legal",
      "description": "App requests location access (Always or When In Use) without a clear, specific purpose string, or uses location data for a purpose other than what was disclosed (e.g., collecting for advertising).",
      "fix": "Write precise NSLocationWhenInUseUsageDescription / NSLocationAlwaysAndWhenInUseUsageDescription strings that explain exactly why location is needed. Only request Always access if the core function requires background location.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#5.1",
      "frequency": "common"
    },
    {
      "id": "5.2.1",
      "code": "Guideline 5.2.1",
      "title": "Intellectual Property — Content Rights",
      "category": "legal",
      "description": "App uses copyrighted music, images, video, or other media without a license. Includes background music from major labels, stock images without a commercial license, or third-party brand logos.",
      "fix": "License all media through proper channels (e.g., Artlist, Musicbed for music). Remove infringing content. If the app generates or transforms copyrighted content, add appropriate DMCA takedown mechanisms.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#5.2",
      "frequency": "occasional"
    },
    {
      "id": "5.3",
      "code": "Guideline 5.3",
      "title": "Gaming, Gambling, and Lotteries",
      "category": "legal",
      "description": "App involves real-money gambling, sweepstakes, or lotteries without the proper licensing for each jurisdiction in which it is available. This includes apps that simulate casino games with real-money prize redemption.",
      "fix": "Obtain and document gambling licenses for every country where the app is available. Restrict availability to legal jurisdictions only. For simulated gambling with no real money, ensure no cash-out path exists.",
      "guidelineUrl": "https://developer.apple.com/app-store/review/guidelines/#5.3",
      "frequency": "occasional"
    }
  ]
}