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

**Guideline:** 2.4.1 · **Store:** Apple App Store · **Severity:** medium · **Fix difficulty:** medium · **Typical turnaround:** 2-8 hours

Canonical URL: https://appstorereject.com/rejections/apple/2/guideline-241-hardware-compatibility-iphone-app-does-not-run-on-ipad

## Description

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.

## Common variations

- iPhone app crashes when run on iPad
- App does not function in compatibility mode on iPad
- UI elements are inaccessible when app runs on iPad
- App displays error message when iPad device is detected
- iPhone app requires fixes to run properly on iPad

## Example rejection email

```
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.
```

## Resolution steps

## Quick Assessment
- **Risk level:** Medium
- **Resolution path:** Fix & Resubmit
- **Typical turnaround:** 2-8 hours

## The Fix

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

2. **Remove device-type checks that block iPad** -- If you have code like `if UIDevice.current.userInterfaceIdiom == .pad { fatalError() }` or similar blocking logic, remove it.

3. **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.

4. **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.

5. **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.

6. **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

## Appeal guidance

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 examples

**Before:** App checks `UIDevice.current.userInterfaceIdiom` at launch and shows an alert saying 'This app is designed for iPhone only' then exits
**After:** 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.'
**Why it works:** 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.

## Common questions

**Can you appeal a 2.4.1 rejection?**

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.

**How long does this typically take to fix?**

Typical turnaround is 2-8 hours (difficulty: medium). After resubmission, most re-reviews complete within 24-48 hours.

---
*Machine-readable source: https://api.appstorereject.com/api/rejections/detail?slug=guideline-241-hardware-compatibility-iphone-app-does-not-run-on-ipad*