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
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.
)
Hello all :-)
I want to release an iPhone/iPod Touch only app. However, I know iPad users can still download the app from the app store, which is fine by me. I was simulating my app on simulator to see how it would look like on an iPad. When I simulated it, the app looked terrible: the layout was not the same as the iPhone version, some labels were colliding and buttons were "cut" out of the screen.
I want iPad users to have the same view as an iPhone. I believe a 1x/2x button would appear on the screen in that case. How can I do that?
Any help/advice would be really appreciated!
Thank you :-)
When you upload your app to the App Store it will also allow iPad users to download the iPhone version of the app. This will have the 1x/2x button you are looking for.
However if you test your project on the iPad simulator before you upload the app, it will not be the same iPhone version of the app that the iPad users will see. Instead the simulator will run an actual iPad version of the app which is not what your looking for.
In your project settings, set your target device to iPhone only. Upload the app. When iPad users download the app they will get the iPhone only version with the 1x/2x button for the iPad.
In your project settings, make sure the "Devices" settings is "Universal" (this is under "Deployment Info"). If it was not before, you may have to make some layout adjustments.
Use Autolayout for fixing the design issues
in storyboard right pane -> attribute inspector -> simulated metrics-> select inferred in size for all controllers
You should be seeing this in the simulator (note the letterboxing on all sides):
And your build settings should show 1 as the target device family:
If not, you are iPad-native and that's the source of the trouble.
I have developed an educational app, and have built it with a storyboard of iPhone. It is working perfectly on iPad without a need for a change (except for pressing the 'X2' button).
Now that the app is active in App Store, I see that iPad users who search for my keywords, do not receive my app in their search results, unless changing the top menu from 'iPad Only' to 'iPhone Only'.
I am wondering if there is a flag that will set my app to appear in the search results for iPad users too.
Or am I forced to create another storyboard?
Will appreciate you help!!
There is no flag for that.
You can create a Universal App (meaning you do support both iPhone and iPad) which then will mean your app is listed in both iPhone and iPad searches on the App Store, however you need to also provide a UI for the iPad version too in this case!
I have found the answer to be: Targeted Device Family
When setting it for both iPhone and iPad, a different UI will be presented for iPad, and you should adapt it to appear correctly.
EDIT
As mentioned by #Lefteris, each target can be marked as universal for that same purpose, but Targeted Device Family exists in the project level and allows setting that flag for all target at once.
I'm still missing a practical guide for turning an iPhone app into universal: how to add a storyboard and how to turn a two-levels behavior (table -> data) into a split table view.
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.