Expo Appears to Be Ignoring supportsTablet: true?

When we try to upload our app to the App Store for TestFlight we get the following error:

This bundle does not support one or more of the devices supported by the previous app version. Your app update must continue to support all devices previously supported. You declare supported devices in Xcode with the Targeted Device Family build setting. Refer to QA1623 for additional information: https://developer.apple.com/library/ios/#qa/qa1623/_index.html

This is going to replace an iOS Native app that supported iPhone and iPad. My hypothesis was that Expo wasn’t specifying

Sure enough, if I do an expo eject and open the Xcode project, the iPad is not listed under supported devices.

Screen Shot 2021-06-18 at 4.14.18 PM

Inside my app.json I have the following:

"ios": {
      "supportsTablet": true,
 },

It looks like the supportsTablet option is being ignore. Is there someplace else I need to go to tell Expo our app supports tablets?

What version of expo-cli are you using to eject? I just tested this with expo prebuild (which is replacing expo eject but the function almost the same) and verified that the device family in Xcode is updated accordingly (meaning, it’s working for me)

I figured this out. We had a conflict in app.config.js that was causing the problem. I resolved this and it appears to be working as expected now.

2 Likes

a good way to debug this is to run expo config --type prebuild to see the resulting config file

2 Likes