I have an app with a relatively rich UI hierarchy (a few collection views, some custom menu items). My app has iAd enabled and I took full advantage of the automatic iAd framework, where you just
#import iAd;
and then just self.canDisplayBannerAds = YES; in viewDidLoad
This works great on iPad mini, iPad 2, iPad Air, but for a reason I can't figure out, it doesn't on my iPad Pro.
Before you suggest it, no, it has nothing to do with the Developer settings for iAd's, I have the same settings of "Fill Rate 100%" and "Unlimited Ad Presentation" as in the other iPad's.
Nothing on the internet when I search for iPad Pro but product reviews...
Found it! I created an empty app with iAd and it did work, so it had to be something with my app. Finally realized that the significant difference was that my app was scaled to look the same size as it would on a normal iPad. A quick google search showed me that the way to have iPad Pro display an app in its native resolution is by setting the Launch Screen File in the project general settings to the main Storyboard. Once displayed in its native resolution, the app correctly displays iAd's.
Apple documented it with respect to iPhone apps scaled up to iPads:
iPhone apps running in compatibility mode on iPad will not display a test ad in development or live ads in deployed apps
Guess they need to update the doc to include the difference with the iPad Pro: https://developer.apple.com/library/ios/technotes/tn2264/_index.html#//apple_ref/doc/uid/DTS40011827-CH1-CREATE_UNIVERSAL_APPS
Related
I have searched through the web and I did not get clues.
Is there a way to display iPad screen as an iPhone like this app does it?
The iPad displays an iPhone screen. Is there some configuration to display this behavior?
What you are seeing is the default behavior of running an iPhone-only app on an iPad. You don't have to do anything other than declare your iOS app as an iPhone-only app.
Of course it would be better for your users if your app properly worked on and took advantage of the iPad's screen but that's up to you.
If the supported devices, that appear under Project > Target > General Tab > Deployment Info
is selected to be "iPhone" and you run this version of app on an iPad, it will appear as the example you shared.
I submitted an update to my iPhone only app recently. However, it was rejected with this explanation:
Guideline 2.4.1 - Performance - Hardware Compatibility
We noticed that your app did not run at iPhone resolution when
reviewed on iPad running iOS 11.
Please see attached screenshots for details.
Next Steps
To resolve this issue, please revise your app to ensure it runs 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.
Resources
For information on iOS device screen sizes and resolutions, please
review the iOS Human Interface Guidelines as well as Points versus
Pixels in the View Programming Guide for iOS.
You may also want to view Size Classes and Core Components for more
information about designing apps for multiple screen sizes.
I'm using a Launch Screen.storyboard, so there shouldn't be any issues with displaying, but I'm seeing a slightly transparent black bar at the top of my app, covering a portion of it.
What am I doing wrong? How do I remove it?
I am working on an App which should be able to run on iPhones and iPads.
I have been able to run it on iPhones and it is displaying perfectly. But when I run it on an iPad the App itself is very zoomed in. I am not sure what main issue.
This is how it displays on iPad:
And this is how it comes up on an iPhone:
Any idea how to fix it or what the issue is?
Your app isn't made to run on the iPad. When displayed on the iPad, it just stretches the display of the iPhone version (you can see that by the 1x button on the lower right corner of the screen). You need to setup your XCode project as a Universal App (instead of it being just for iPhone) and then you'll be able to take advantage of the entire iPad screen and design the display especially for it.
You can set the app as Universal on your project properties in XCode:
I have the application. This application supports iPhone only, but I can launch it on iPad. In itunesconnect I see "Your binary doesn’t support iPad. The screenshots or app video preview for iPad won’t be shown on the App Store."
So as far as I understand I shouldn't see screenshots for iPad, but I should see the application in App Store (when I look at it from iPad).
But when I search for my application in iPad I can't find it there (but for iPhone everything is OK). Why?
When search app in ipad version app store there are two categories: ipad only and iphone only. You'll find your iphone only app in iphone only category.
to change category there is navigation item button the left most one
If your application supports only iPhone in your project's Devices in General Tap then it will be available only for iPhone devices in the AppStore. You can build and run your project in iPad either from xCode or with TestFlight but it will run as if it was an iPhone app in x2 or x1 mode depending on the iPad's screen resolution.
I uploaded my binary to the app store and in the project portion of the Xcode project it is set to "Devices iPhone". However in the app store it says:
Compatible with iPhone, iPad, and iPod touch.
Why is my app available on iPad? I haven't designed this app for iPad and I don't want it to be available on iPad. What is the deal? How do I fix this?
It is not possible to tell Apple that an app is only for iPhone. All iPhone apps work on iPads.
What's more, if you make your app support iPad and iPhone specifically by changing the assets used based on the device, you can't tell which device it is being bought on.
For that information, you would have to make a seperate iPad-only app. But even then, people can buy the iPhone version for their iPad if they want.
Apps listed as only for iPhone run in a window which has the aspect ratio of an iPhone. The user can choose to run them at 2x magnification if they want it to take up more of the screen.
iPad runs nearly all applications, or apps, designed for iPhone and iPod touch available in the App Store. The App Store also features many applications designed specifically for iPad.
Here are some things to remember when using apps designed for iPhone and iPod touch on your iPad:
Apps may only work in portrait or landscape orientation. These apps will change orientation even with screen rotation lock on.
Apps can run in their original size or expand to fill the screen. Tap the 1x or 2x icon in the bottom right of the screen to switch between sizes.
Text and graphics may not appear as sharp when using 2x mode. If you prefer sharper text and graphics, use 1x instead.
Some features may not be available on iPad (for example, apps that let you make phone calls or use the iPhone camera to take pictures).
More details: Support-Apple:iPad: Using applications designed for iPhone and iPod touch