Guideline 2.4.1
Guideline 2.4.1 - Hardware Compatibility: iPhone App Does Not Run 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
Test on iPad immediately
Run your iPhone app on an iPad (physical or simulator). Don't assume it works because it works on iPhone.
Remove device-type checks that block iPad
If you have code like if UIDevice.current.userInterfaceIdiom == .pad { fatalError() } or similar blocking logic, remove it.
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.
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.
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.
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
AVCaptureDevice.isAvailable) instead of device type checksExample Rejection Email
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.
Before & After
App checks UIDevice.current.userInterfaceIdiom at launch and shows an alert saying 'This app is designed for iPhone only' then exits
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
- Guideline 2.1 - App Completeness: App Crashes During Review
- Guideline 2.1 - App Completeness: App Requires External Hardware Not Provided for Review
- Guideline 2.1 - App Completeness: Crashes on Launch
- Guideline 2.1 - App Completeness: Demo Account Not Working
- Guideline 2.1 - App Completeness: IAP Products Not Found in Binary
- Guideline 2.1 - App Completeness: Missing App Icon