Guideline 4.0

Guideline 4.0 - Design: Spelling or Grammatical Mistakes in UI

Low RiskEasyTypical Fix: 1-3 hours0 Reports
Also known as:Misspelled button labels (e.g., “Submitt”, “Cancle”, “Contineu”)Grammatical errors in onboarding or tutorial textPlaceholder text (Lorem ipsum) left in production screensInconsistent capitalization (e.g., mixing Title Case and sentence case)Machine-translated text with unnatural phrasing in localized versionsError messages with typos or nonsensical text

Our Take

Apple rejected your app because it contains noticeable spelling errors, grammatical mistakes, or poorly written text in the user interface. This includes button labels, navigation titles, onboarding text, error messages, alert dialogs, and App Store metadata (description, screenshots, what’s new). Apple considers polished copy part of the design quality standard, and apps with multiple spelling or grammar issues suggest a lack of attention to detail that falls below the App Store bar.

Resolution Guide

01

**Extract all user-facing strings** — Search your project for every hardcoded string. In Swift, search for `Text(`, `"\(`, `.navigationTitle(`, `Label(`, and `Alert(` to find all displayed text.


02

**Run a spell check** — Copy all strings into a document and run spell check. Pay special attention to:

  • Button labels
  • - Navigation and tab bar titles

    - Onboarding and tutorial text

    - Error messages and alerts

    - Empty state descriptions

    - Settings labels

    03

    **Use String Catalogs for localization** — Move all strings to Xcode’s String Catalog (.xcstrings) or Localizable.strings. This centralizes all copy in one place, making it easier to review and proofread:

    ```swift

    // Instead of hardcoded strings:

    Text("Welcone to MyApp")


    // Use localized strings:

    Text("welcome_title") // defined in String Catalog

    ```

    04

    **Check for placeholder text** — Search for “Lorem ipsum”, “TODO”, “test”, “asdf”, and similar developer placeholder text that may have been left in production.


    05

    **Review App Store metadata** — The rejection may also cover your App Store listing:

  • App name and subtitle
  • - Description

    - What’s New text

    - Screenshot captions

    - Keywords

    06

    **Have a native speaker review** — If your app is in a language that isn’t your first language, have a native speaker proofread all text. Machine translation is often obvious and can trigger this rejection.


    07

    **Maintain consistent style** — Pick either Title Case or sentence case for navigation titles and buttons, and apply it consistently throughout the app.


    Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 4.0 - Design: Spelling or Grammatical Mistakes
    Guideline 4.0 - Design Your app contains spelling and/or grammatical errors in the user interface. Specifically, the reviewer noticed the following: - The home screen title reads “Welcone to MyApp” instead of “Welcome to MyApp” - The settings screen contains the label “Notificaitons” instead of “Notifications” - The onboarding text on slide 3 reads “Your data is keep safe” instead of “Your data is kept safe” - The error alert reads “Something went wrong. Please try agian.” Please correct all spelling and grammatical errors in your app and resubmit.

    Consider Appealing

    Do not appeal. Fix the typos and resubmit. If the reviewer flagged specific strings, fix those and also audit the entire app for any others they may have missed. This is one of the fastest rejections to resolve.

    Generate Appeal

    Before & After

    Before — Rejected

    // UI strings with spelling and grammar errors

    struct HomeView: View {

    var body: some View {

    NavigationStack {

    VStack(spacing: 20) {

    Text("Welcone to MyApp")

    .font(.largeTitle)

    Text("Your all-in-one productivty tool for keep track of tasks")

    .font(.subheadline)


    Button("Get Strated") { startOnboarding() }

    Button("Signin") { showLogin() }

    }

    .navigationTitle("Hone")

    }

    }

    }


    // Alert with typos

    .alert("Erorr", isPresented: $showError) {

    Button("Cancle") { }

    Button("Try Agian") { retry() }

    } message: {

    Text("Something went wrong. Please check you internet connection.")

    }

    After — Approved

    // Corrected UI strings — all proofread

    struct HomeView: View {

    var body: some View {

    NavigationStack {

    VStack(spacing: 20) {

    Text("Welcome to MyApp")

    .font(.largeTitle)

    Text("Your all-in-one productivity tool for keeping track of tasks")

    .font(.subheadline)


    Button("Get Started") { startOnboarding() }

    Button("Sign In") { showLogin() }

    }

    .navigationTitle("Home")

    }

    }

    }


    // Alert with corrected text

    .alert("Error", isPresented: $showError) {

    Button("Cancel") { }

    Button("Try Again") { retry() }

    } message: {

    Text("Something went wrong. Please check your internet connection.")

    }

    What changed: All spelling errors were corrected: “Welcone” → “Welcome”, “productivty” → “productivity”, “keep” → “keeping”, “Strated” → “Started”, “Signin” → “Sign In”, “Hone” → “Home”, “Erorr” → “Error”, “Cancle” → “Cancel”, “Agian” → “Again”, and “you internet” → “your internet”.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 4 (Design) rejections

    View all Guideline 4 rejections