iPad resolution issue


#1

Hello, i created app optimized for all iPhones and iPads, tested in emulators. But when I send app to App Store it was reject because iPad. App is opening on iPad in iPhone resolution but app is designed for iPad too. What can I do to avold iPhone resolution on iPad?


#2

I found property in config “supportsTablet”, but there is no info about what exactly this property do. Will it solve my issue?


#3

Have you tried running your app on an iPad? Does it look right?
Can you post some screenshots?

I think supportsTablet is just a thing that tells our app building service whether to mark the app as supporting iPads or not.


#4

I don’t have iPad to test.

This how it looks on iPad in iPhone resolution (screen from app store review team):

Keyboard overlay text


#5

This how it looks when I view in emulator:


#6

It does like your app does look like its just blown up big on iPad.

You can examine Constants.platform.ios.userInterfaceIdiom so you can detect what type of
device your app is running on. That might help.

I’m not sure what else you’ll need to do to make it work properly.

Did you try doing another exp build:ios after setting supportsTablet to true?

That might help.

I would also consider trying to borrow or buy an iPad to test on if you can. I think that will make your life easier! In the absence of that, you could possibly get a Mac in the cloud and run an iPad simulator on it or something. No substitute for real testing!


#7

Yes I know I can detect platform and choice other behavior, but my app is adapted for iPad. As I understand iPad in iPhone resolution it’s like iPhone emulator on iPad to user iPhone apps, but how to avoid iPhone mode on iPad. This best solution for me. I don’t have iPad so can’t test, sure I will do this next week, but don’t want to loose time )

I have mac and I tested in all iPad emulators available and I attached screenshot how it look on iPad. iPad don’t have numeric keyboard and it show it’s appear only in iPhone “mode”, but since iPad not so tall, keyboard is covering elements. I want people run my app as usual iPad app, not like app for iPhone on iPad.

Who knows what supportsTablet do?


#8

supportsTablet just sets the UIDeviceFamily key in Info.plist to the appropriate value when you build a standalone iOS app.

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html


#9

If you change the value of it, you need to do another build:ios not just another publish of your code.


#10

Also ran into this issue. It seems Apple tests my app in iPhone resolution on an iPad. This caused an issue for us with a fixed footer, as it was fixed to the bottom of the iPad screen rather than to the bottom of the app. Attached screenshot for reference. First is their response, second is their screenshot, third is what the app looks like in my iOS simulator, fourth is what the app looks like in my iPad simulator.

This makes positioning issues that apple runs into hard to reproduce since there’s no way I know of to test my app in iPhone resolution on an iPad.


#11

Second screenshot


#12

Third screenshot

Fourth screenshot is at https://pasteboard.co/H3yadWN.png


#13

My app was rejected for the same reason (iphone resolution on ipad looks wonky), did anyone figure out how to reproduce this locally?

My supportsTablet boolean was also False (by default). Should I set it to True and resubmit? It looks fine normally on the ipad with the simulator.


#14

To avoid this you should make app iPhone only or optimise for iPad. I did optimisation and my app was accepted.

If you don’t use Expo you need to make it iPhone not Universal in Expo I suppose need to make supportsTablet: false, but you wrote you already did it.


#15

My app looks fine on an iPad using the iPad simulator.

The issue is they ran it using iPhone resolution on an iPad and parts are cut off. I have no idea how to recreate this locally in order to debug this issue.

The exact verbage from apple is:

We noticed that your app did not run or display as expected when viewed on iPad running iOS 11.2.5. Please see attached screenshots for details.
To resolve this issue, please revise your app to ensure it runs as expected and displays properly at iPhone resolution on iPad. Even if your app was developed specifically for iPhone, users should still be able to use your app on iPad.

Since I submitted it with the defaut supportsTablet: false, I can try resubmitting it with supportsTablet: true and see if they test it using normal resolution on an iPad.

My question is does anyone know how to recreate the iphone resolution on an iPad simulator using expo?


#16

@jmitsch you can do this by running exp build:ios -t simulator and then use the ipad simulator

https://docs.expo.io/versions/latest/guides/building-standalone-apps.html#5-test-it-on-your-device-or-simulator


#17

Ok, so my newest build is in review, so I’m not sure if what I did worked, but these are the changes I made to re-submit.

The iphone 4 resolution actually looks alot like the screenshot they sent me. Using the simulator with iphone 4 was the best way I could find to replicate iphone resolution on an ipad screen. You have to download iOS 9 to get this, some more info in this Stack Overflow article

I was able to use ratios for all the styling and some sized items using the dimensions of the screen. This helped me a lot in supporting across devices. i.e.

const Dimensions = require('Dimensions'); 
const { width, height } = Dimensions.get('window');
let defaultSpacing = width / 20;

Then because my app now looked pretty good on an ipad, I resubmitted with supportsTablet set to true. (this wasn’t necessary to fix the original issue, I just decided to have it support ipad as well).

Fingers crossed it is accepted, and hopefully this helps anyone else who runs into this issue!


#18

Many users are facing the resolution issue but it is not a big issue it can be solved by changing some settings, visit apple tech support to know what settings you have to change.