App Store

    Guideline 2.5.4: background location without necessity

    A 2026 view of an iOS app's background modes being reviewed under Guideline 2.5.4, contrasting justified background location for navigation with an unnecessary declaration that gets rejected

    Guideline 2.5.4 is the rule that catches apps running background location they do not actually need. Background modes exist for genuine use cases, navigation, fitness tracking, location-based reminders, but Apple rejects apps that keep location running in the background without a clear, user-facing reason. If your app declares the location background mode and a reviewer cannot see why it needs it, that is a 2.5.4 rejection. Here is what the guideline requires, when background location is justified, and how to fix a rejection.

    Short answer

    Guideline 2.5.4 states that multitasking apps may only use background services for their intended purposes, such as VoIP, audio playback, and location. Per Apple's software requirements guideline, running location in the background without a genuine, user-facing need is a rejection, because the background mode must serve a real feature. To fix it, only declare the location background mode if a core feature requires continuous background location, explain that need in your purpose strings and review notes, and use the least aggressive location option that works. If background location is not essential, remove the background mode and request location only while the app is in use.

    What you should know

    • Background modes need a real purpose: 2.5.4 limits them to intended uses.
    • Location is one allowed purpose: but only when a feature genuinely needs it.
    • Unnecessary background location is rejected: no clear reason means no approval.
    • Explain the need: purpose strings and review notes should justify it.
    • Use the least aggressive option: prefer in-use access or coarse updates when possible.

    What does Guideline 2.5.4 require?

    That every background mode your app declares maps to a legitimate, intended purpose. The guideline lists acceptable background services, including VoIP, audio playback, location, task completion, and local notifications, and the requirement is that you use them only for those purposes. For location specifically, that means the background location mode is justified when your app delivers a feature that genuinely needs location while backgrounded, like turn-by-turn navigation or continuous fitness tracking. What the rule targets is an app that enables background location without such a feature, often to collect data rather than to serve the user. So the test a reviewer applies is whether the background location supports something the user can see and benefit from.

    When is background location justified versus not?

    The distinction is whether a user-facing feature depends on it. The table illustrates.

    Use caseBackground location justified?
    Turn-by-turn navigation while the screen is offYes, the feature needs it
    Continuous fitness or run trackingYes, core to the feature
    Geofenced reminders the user set upYes, with appropriate APIs
    Collecting location for analytics or adsNo, not a user-facing need
    Background location with no related featureNo, rejected under 2.5.4

    The justified cases share a visible feature that cannot work without background location, while the rejected ones use background location for something other than serving the user. If you cannot point to a feature that needs it, the background mode does not belong in your app.

    How do you fix a 2.5.4 background location rejection?

    Tie the background mode to a real feature, or remove it. First, decide whether a core feature genuinely requires continuous background location; if it does not, remove the location background mode and request location only while the app is in use, which usually clears the rejection. If a feature does need it, write a clear purpose string that explains why, and add review notes describing the feature and how to reach it so the reviewer sees the need. Use the least aggressive location option that satisfies the feature, such as significant-change updates or region monitoring instead of continuous high-accuracy tracking, since requesting more than you need invites scrutiny. The aim is that your location usage visibly matches a feature.

    What to watch out for

    The first trap is leaving the location background mode enabled from a template or library when no feature uses it, which is exactly the unnecessary-background-location pattern 2.5.4 catches. The second is a vague purpose string that does not explain why background location is needed, since the reviewer relies on it. The third is requesting always-on, high-accuracy location when a lighter option would serve the feature. A pre-submission scan such as PTKD.com (https://ptkd.com) reads the compiled IPA against OWASP MASVS and surfaces the declared background modes, location entitlements, and purpose strings in your build, so you can confirm you are not declaring background location you do not use before review flags it. Aligning the declaration with a real feature is the fix.

    What to take away

    • Guideline 2.5.4 limits background services to intended purposes, so background location must serve a genuine, user-facing feature.
    • Running background location without a clear feature behind it, such as for analytics or ads, is a rejection.
    • Fix it by tying the background mode to a real feature with a clear purpose string and review notes, or removing it and requesting location only while in use.
    • Use the least aggressive location option, and use a pre-submission scan such as PTKD.com to confirm your build does not declare background location it does not need.
    • #guideline-2-5-4
    • #background-location
    • #background-modes
    • #app-rejection
    • #location-permission
    • #purpose-string
    • #ios

    Frequently asked questions

    What does Guideline 2.5.4 require?
    That every background mode your app declares maps to a legitimate, intended purpose. The guideline lists acceptable background services, including VoIP, audio playback, location, task completion, and local notifications, and you may use them only for those purposes. For location, the background mode is justified when a user-facing feature genuinely needs location while backgrounded. An app that enables background location without such a feature is what the rule targets.
    Why was my app rejected for background location?
    Because the reviewer could not see a feature that needs continuous background location. Guideline 2.5.4 rejects apps that run background location without a genuine, user-facing reason, since the background mode must serve a real feature rather than, say, collecting data for analytics. If your app declares the location background mode but nothing visible depends on it, that mismatch is the rejection, and the fix is to justify it or remove it.
    When is background location justified?
    When a core, user-facing feature cannot work without it. Turn-by-turn navigation while the screen is off, continuous fitness or run tracking, and geofenced reminders the user set up are justified, because the feature needs background location. Collecting location for analytics or ads, or declaring the mode with no related feature, is not. The test is whether you can point to something the user benefits from that depends on background location.
    How do I fix a 2.5.4 background location rejection?
    Tie the background mode to a real feature, or remove it. If no core feature needs continuous background location, remove the location background mode and request location only while the app is in use, which usually clears the rejection. If a feature does need it, write a clear purpose string explaining why and add review notes describing the feature, and use the least aggressive option, like significant-change updates, rather than continuous high-accuracy tracking.
    How do I check what location modes my app declares?
    Scan the build. A pre-submission scan such as PTKD.com reads the compiled IPA against OWASP MASVS and surfaces the declared background modes, location entitlements, and purpose strings present, so you can confirm you are not declaring background location your app does not actually use. A template or library sometimes enables the mode without a feature behind it, and finding that before submission lets you remove it rather than face a 2.5.4 rejection.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free