Guideline 2.4.1

Guideline 2.4.1 - Hardware Compatibility: iPhone App Does Not Run on iPad

Medium SeverityMedium FixTypical Fix: 2-8 hours0 Reports
Also known as:iPhone app crashes when run on iPadApp does not function in compatibility mode on iPadUI elements are inaccessible when app runs on iPadApp displays error message when iPad device is detectediPhone app requires fixes to run properly on iPad

Our Take

Apple is rejecting your app because it is an iPhone-only app that does not function correctly when run in compatibility mode on iPad. All iPhone apps must be usable on iPad, even if they don't have a native iPad layout. When an iPhone app runs on iPad, it appears in a scaled window -- Apple requires that this scaled experience still works. The most common causes are: (1) force-closing or showing an error when detecting an iPad device, (2) hardcoded screen dimensions that break on iPad screen sizes, (3) UI elements that are positioned off-screen in the scaled iPad view, (4) camera or AR features that crash because the code assumes a rear camera position that differs on some iPad models. Note: You are NOT required to create a native iPad layout. You just need to ensure the iPhone app doesn't crash or become unusable when run in iPhone compatibility mode on iPad. If you want to explicitly not support iPad, you can set the Targeted Device Families to iPhone only in Xcode, but the app must still function in compatibility mode.

Resolution Guide

01

Test on iPad immediately

Run your iPhone app on an iPad (physical or simulator). Don't assume it works because it works on iPhone.

02

Remove device-type checks that block iPad

If you have code like if UIDevice.current.userInterfaceIdiom == .pad { fatalError() } or similar blocking logic, remove it.

03

Fix layout issues

Use Auto Layout constraints and safe area insets instead of hardcoded frame values. The iPhone compatibility mode on iPad has different dimensions than any iPhone model.

04

Handle missing hardware gracefully

If your app uses hardware features not available on all iPads (telephony, barometer, specific camera), check for capability availability and show a graceful error message instead of crashing.

05

Set UIRequiredDeviceCapabilities properly

If your app genuinely requires specific hardware, add the appropriate keys to Info.plist (e.g., telephony if you need phone calling). This will prevent the app from being installed on incompatible devices.

06

Test the scaled view

On iPad, iPhone apps run in a small window. Test that all touch targets are reachable, text is readable, and no UI elements are clipped.

Prevention

  • Include iPad testing in your QA process, even for iPhone-only apps
  • Use Auto Layout, not hardcoded frames
  • Use capability checks (AVCaptureDevice.isAvailable) instead of device type checks
  • Test in Xcode's iPad simulator regularly
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 2.4.1 - Hardware Compatibility: iPhone App Does
    Guideline 2.4.1 - Performance - Hardware Compatibility Your app is an iPhone-only app but it does not function correctly when run on iPad in compatibility mode. Specifically, the app crashes when launched on iPad, preventing users from accessing any functionality. All iPhone apps must be usable on iPad, even if a dedicated iPad interface is not provided. Next Steps: Please test your app on iPad and resolve any issues that prevent it from functioning in iPhone compatibility mode. If your app requires specific hardware features only available on iPhone, please document this in the Review Notes.

    Consider Appealing

    If your app requires iPhone-specific hardware (e.g., LiDAR on Pro models, specific camera configurations), explain this in the Resolution Center and add the appropriate UIRequiredDeviceCapabilities to your Info.plist.

    Generate Appeal

    Before & After

    Before — Rejected

    App checks UIDevice.current.userInterfaceIdiom at launch and shows an alert saying 'This app is designed for iPhone only' then exits

    After — Approved

    Device check removed. App runs in iPhone compatibility mode on iPad with all features functional. Review Notes explain: 'This is an iPhone-optimized app. It functions correctly in compatibility mode on iPad.'

    What changed: You don't need an iPad-native layout, but you cannot prevent the app from running on iPad. Remove blocking checks and let the compatibility mode work.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 2 (Performance) rejections

    View all Guideline 2 rejections