2

I have built an app that I would like to put in the app store. The app is intended to run only on iPhone, not on iPad or iPod touch. However, I have heard about other iPhone only apps being rejected by Apple because they don't run correctly on iPad. I have searched the internet for a solution to this, and found that if you set UIRequiredDeviceCapabilities to include telephony, the app is not available on iPad. However, I would like to find a more legitimate way of telling Apple that my app is iPhone only. I am using react native with expo. Any help would be much appreciated.

jptr21824
  • 63
  • 1
  • 5

1 Answers1

0

From the Xcode perspective, you should be changing the targets in your project from:

TARGETED_DEVICE_FAMILY = "1,2"

To

TARGETED_DEVICE_FAMILY = "1"

(1 is iPhone, 2 is iPad). By default, Apple templates would create app for both, aka "universal app".

It looks like this is setup in Expo via

Adding the supportsTablet: false key under ios causes us to build deviceFamily as iPhone-only

https://github.com/expo/expo/issues/1206#issuecomment-355423637

I do think the post points to the long line, I suggest looking at ->

https://github.com/expo/xdl/blob/master/src/detach/IosNSBundle.js#L359

benc
  • 1,381
  • 5
  • 31
  • 39