I have submitted my app to Apple store, It was rejected for some reasons. One of the reasons that my app must be tested and compatible on iPad. Do I need to make my app to be Universal? The 1st version was submitted without any problem and it was not a Universal.
My question is: What do I need to make my app compatible on both iPhone and IPad?
Thanks
No, your app doesn't need to be universal. But it should run on the iPad without modification.
I'm wondering if you're bumping up against the Launch xib bug? If you're using a Launch xib (new in iOS 8) instead of Launch Images, the system will mistakingly treat it like a Universal app.
Otherwise, get an iPad and run your app on it so that you can see what the problem is.
Related
I have to make my app run on iPad in iPhone mode(legacy zoomable mode).
I can do it with changing Devices option in Xcode project settings, But i released my app in app store in universal device mode so apple says you can't remove this feature in newer version of your app!
Is there any way to do it programmatically? for example can i set Devices option to iPhone in code at runtime? or can i fake it?(made app run like iPhone app in zoomable mode in iPad)
There is no possible way to change an iPad app to iPhone-only at runtime. It would be possible to display your view controllers on an iPad in such a way that they appear the size of an iPhone. But Apple would reject your app for bad user experience.
Once you release an app as Universal, Apple will not let you change the app to iPhone-only. And why would you want to do that? Why would you deliberately want to hurt your customers using iPads?
Your only solution would be to release a brand new app (different bundle id) that is iPhone-only. But then this is bad for all of your existing users (iPhone and iPad).
The proper solution is to embrace your Universal app and properly support iPads.
I made an iPhone App with Xcode. The devices setting is set to "iPhone". But in iTunes Connect it is rejected because it doesn't run on the iPad.
That is weird because it is an iPhone app, but when I checked it in Xcode, I can run it with the iPad simulator,however I think that normally this is not possible with an iPhone app.
I have added pictures to make my question clearer:
So what is gone wrong and how can I fix it?
EDIT:
Picture from resolution center:
Thanks all, I Found the problem/solution:
In my info.plist there was an extra row called supported interface orientations(iPad) where the portrait mode was added.
I have no idea how this got added here but when I removed it, the problem was solved.
From the Apple iOS App Store Review Guidelines (https://developer.apple.com/app-store/review/guidelines/):
2.10 iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Basically, if you set an app to "Universal" it will have iPad and iPhone versions of the UI and will appear in the search results for both. If you set it to iPhone only, it will still be installable on iPads, but it doesn't appear in the search results by default. Additionally when a user does install it on an iPad it will just scale up the UI to best fit the screen. You cannot prevent your app from running on iPads.
Every app can run on the iPad no matter if it is supported or not. The option you have in Xcode is if you want to configure it to look good on the iPad using it's own storyboard. If you configure it for both iPad and iPhone your app fill get a + in the right corner of the price on the App Store and show up on iPad searches. However if you don't configure it to support iPads it'll not show up on searches of the Apple App Store, unless osmose selects iPhone only. You can easily submit your app to the App Store, without it being rejected my friend.
Hope that helps. Keep coding.
Nothing is wrong here , you can do this in debug mode for development purpose. Even you can run it on your iPad device from xCode. Don't worry about it, nothing wrong here.
Need to disable the iPad Pro native 2732‑by‑2048 resolution for my app.
I found that it was auto activated if the app use a Launch Screen(LaunchScreen.storyboard).
Is there a way to disable iPad Pro and continue to use Launch Screen.
(I'm surprise that even with no icon for iPad Pro, the native mode was activated, i'm sure a lot of dev don't have the app ready for this)
Thanks
Are you using LaunchScreen.xib or LaunchScreen.storyboard? If so, if the version of Xcode you use supports the iPad Pro, it will compile the LaunchScreen for everything Xcode supports.
You could use an older version of Xcode which does not recognise the iPad Pro as you don't need it.
Or you could use Images.xcassets and not provide an iPad Pro launch image, though according to what you're asking, this doesn't seem that suitable. You could always use the LaunchScreen.xib/storyboard as the initial storyboard, so as far as the app is concerned, you're using LaunchScreen.storyboard instead of Main.storyboard. Though not providing an app icon should hold all this back, as it does with my current apps. Perhaps file a bug report with Apple? Hope this helps!
Official answer from Apple:
If an application includes a launch storyboard and is built with Xcode 7.1 or later, that application will run at native resolution on the iPad Pro regardless of whether the application includes a 167x167 icon.
If you would like to see this behavior changed in a future version of iOS, I suggest you file a bug report. Bug reports can be filled by visiting http://bugreport.apple.com.
I've developed an iphone only app (so 'Targeted Device Family' is set to iPhone since the beginning of the project) and when I finished I've tried to run it on the iPad just to check if the compatibility mode was working correctly but surprisingly it loads a full screen, without any compatibility mode!
Of course since it's an iphone app it doesn't look good at all. Can you think of the reason why the targeted device family = iPhone doesn't fire the compatibility mode on the iPad? (I tried on real device and simulators as well).
In iOS 8, there is an issue that when you use the new Launch Screen File, your app will automatically become universal. This issue is solved in iOS 8.1 beta, and therefore this is not a real solution.
For now, you are better off using Launch images in the asset catalog.
Also add the device modifier ~iphone to the launch file will make sure that the app is not see as an universal app.
I am new to iOS development and the response to this question may seem obvious for some experimented developers. If I create an application that targets iPhone, do I really need to include views also for iPad before submitting the applicatio to Apple Store?
No, you can target only the iPhone if you want. Or you can target specifically the iPad. Finally you can create a Universal app that targets both.
It's your choice. You define what you're targeting in your project.
AFAIK You need to submit the screenshots for iPad as well even you are submitting app for the iPhone. I am talking about the itunesconnect while you are submitting. I have experienced this myself when submitted app for iPhone only and was mandatory to add iPad screenshots.
Specifically to Targets or Views in your xcode. NO you don't need to add any extra view, only the views for your target. In case of keeping app universal you could add views for iPhone and iPad.
For taking different screenshots, you don't need to add different views but instead you can use simulator to take all variants of screenshots.
I recently tried to submit a app to iTunes with screenshots for iPad and the binary was only for iPhone.
This is what they informed me.
Your binary doesn’t support iPad. The screenshots or app video preview
for iPad won’t be shown on the App Store
If you target your app to be Universal you will need both, and if you only select a device, iphone example you don't need for ipad.
For universal you need to submit both otherwise the one you set target will be enough