Guideline 2.5.9

Guideline 2.5.9 - Software Requirements: Overriding Standard System UI Controls

Medium SeverityMedium FixTypical Fix: 2-8 hours0 Reports
Also known as:App modifies behavior of volume buttonsApp overrides system gesture behaviorApp prevents standard system UI from appearingApp alters standard function of system-provided switchesApp intercepts or overrides hardware button behavior

Our Take

Apple is rejecting your app because it alters the standard behavior of system-provided UI elements such as the volume up/down buttons, the ringer/silent switch, screen brightness controls, or standard iOS gestures. Apple requires that hardware buttons and system UI controls behave as users expect across all apps. The most common trigger is remapping the volume buttons. Some apps (particularly games and camera apps) try to use volume buttons as shutter triggers, game controls, or other custom functions. While the volume buttons can legitimately trigger a camera shutter (the system Camera app does this), Apple is selective about which apps can repurpose hardware buttons. This also covers: overriding the back swipe gesture in navigation controllers, preventing the system volume HUD from appearing, disabling the status bar pull-down for Control Center, or intercepting system gestures like the home indicator swipe. Apple wants users to have consistent, predictable interactions across all apps.

Resolution Guide

01

Restore default button behavior

Remove any code that observes or intercepts hardware button events for non-standard purposes. For volume buttons, remove AVAudioSession route change observers or MPVolumeView hacks used to detect presses.

02

Restore system gestures

If you've overridden preferredScreenEdgesDeferringSystemGestures or prefersHomeIndicatorAutoHidden, remove these unless they're truly necessary for an immersive experience (games in full screen).

03

Don't hide system UI

Ensure the status bar, volume HUD, and Control Center access work normally. If you need to hide the status bar during gameplay, use prefersStatusBarHidden properly and restore it outside of gameplay.

04

Use standard navigation patterns

Don't disable the back swipe gesture in UINavigationController. If you have a custom transition, implement UINavigationControllerDelegate properly instead of disabling the interactive pop gesture.

05

Document exceptions in Review Notes

If you have a legitimate reason for non-standard behavior (e.g., immersive game, camera app), explain it in review notes with screenshots.

Prevention

  • Follow Apple's Human Interface Guidelines for all system interactions
  • Don't repurpose hardware buttons unless it's an established convention in your app category
  • Test that all system gestures work correctly in your app
  • Get HIG review from someone familiar with Apple's guidelines before submission
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 2.5.9 - Software Requirements: Overriding Standa
    Guideline 2.5.9 - Performance - Software Requirements Your app alters the standard function of a system-provided UI element. Specifically, your app modifies the behavior of the volume buttons to perform a function other than adjusting volume. Altering the standard behavior of system-provided controls can lead to a confusing user experience. Next Steps: Please revise your app to ensure that all system-provided UI elements, including hardware buttons and system gestures, function as expected. If you believe your use case warrants an exception, please describe it in the Review Notes.

    Consider Appealing

    If your use of hardware buttons is a well-established pattern in your app category (e.g., volume button as camera shutter in a camera app), explain the precedent and user expectation in the Resolution Center. Apple does grant exceptions for established conventions.

    Generate Appeal

    Before & After

    Before — Rejected

    Document scanner app uses volume-down button to trigger page capture, with hidden MPVolumeView to suppress the volume HUD

    After — Approved

    On-screen capture button added with haptic feedback. Volume buttons restored to standard volume control. Optional: Review Notes explain that camera apps like the system Camera use volume buttons as shutter, requesting consideration for the same convention.

    What changed: Add an on-screen alternative first, then appeal if the volume button shutter is important to your UX. Always have a fallback.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 2 (Performance) rejections

    View all Guideline 2 rejections