iOS: Universal App - Release as iPhone only - iphone

A customer is interested in releasing a universal app. However, the first release will contain only the iPhone version, the second release will contain both versions.
I found a few links where ppl figured out how to make this work in the simulation environment. However, i could not find claims about apps that finally were released to the AppStore successfully. I need verification of this.
Do you have links of people claiming to have universal apps released for iphone only or did you do it yourself?

In the application's Build Settings change the Targeted Device Family to iPhone, instead of iPhone/iPad.
In the latest xcode you can do this by summary screen too.
Thanks

It's not possible to only release the iPhone version via iTunes Connect, but you can set the Target Device to iPhone-only for the first version and it'll only be released for iPhone/iPod touch.

You need to make two changes. First, Set the Target Device Family back to iPhone. Second, in the info plist remove the Main nib file base name (iPad) entry. If you don't do that last step it will run as though it was an iPhone app (small view port with 2x button) but your iPad main window and delegate will be triggered.
Here is a more details post with some images for illustration:
http://www.fullboarcreative.com/labs/2012/04/20/tip-going-from-a-universal-to-single-device-app/

Related

Making an iPhone app on iPad

I have an app available for the iPhone only now not the iPad. I've already released 2 updates for the app(current version 1.2). Im about to release a third and in this update im adding a feature but thought Id also make it compatible for the iPad. Will apple accept that? Will I have to make a new project file for the iPad version?
You don't have to submit a separate project because all iOS applications are supported by the iPad by default, but you can if you feel the need to.
Right-click your target, and select "Upgrade current target for iPad".
I'd also recommend reading through Apple's guide on the subject.
No need to create the new project. There are two ways to solve your problem.
Change the device target to Universal and also change the logic to support both iPhone and iPad. In applicationDidFinishLaunchingWithOptions method put a condition to check the device.If the device is iPhone then load the iPhone screens and if not then load the iPad screens. This case when you upload the binary to App Store then the version number is same for both the binaries(iPhone & iPad) .
Change the device target to iPad and also change the version number whichever you want. For this also need to create separate nibs and change the logic to load only the iPad screens in applicationDidFinishLaunchingWithOptions method. For this case need to upload a separate binary with your specific version.The advantage of this step is you can make it as paid app for iPad or iPhone.
Note: My suggestion is if both are free apps then go with 1st step. If not then go with 2nd step. Still if you are not clarified feel free to ask.

iPhone only app rejected because it is a Universal binary

I just had an iPhone only App rejected by iTunes connect because...
In our review of your app, we found that it is a Universal app for both iPad and iPhone. Because it is set as a universal binary, your app requires screenshots from iPhone and iPad.
The app had previously been a universal binary (never previously approved) and I had previously uploaded an iPad screenshot (just a place holder) to allow me to upload the binary. (I had to upload then self reject a binary to test IAP.)
But as far as I can tell my app is a iphone only binary. When I run it on the iOS iPad simulator it runs at iPhone resolution with the 2x button. Yet when I upload this (I think) iPhone only binary to iTunes Connect it still asks for iPad screenshots.
In Xcode I have the following settings
targets->Build Settings->targetted device family = iPhone.
and
targets->Summary->Devices = iPhone.
And again it acts like an iPhone only app when I run it on the simulator. Are there any other setting in XCode or in iTunes Connect that I need to set? Thnx
EDIT
After my app was rejected I removed the placeholder iPad screenshots from iTunesConnect. (I had tried to do this several times before submitting the app, but was unable to. I even wrote a developers note to the reviewer hoping they wouldn't spike my app for that reason.) I also remove the ipad Default.png from my project. One of the two of those actions fixed it. I think because I had been testing the app as a universal it took a couple of submissions to for iTC to recognize that I was only uploading an iPhone version. Either way, it now recognizes it as a iphone only and was approved.
After my app was rejected I removed the placeholder iPad screenshots from iTunesConnect. (I had tried to do this several times before submitting the app, but was unable to. I even wrote a developers note to the reviewer hoping they wouldn't spike my app for that reason.) I also remove the ipad Default.png from my project. One of the two of those actions fixed it. I think because I had been testing the app as a universal it took a couple of submissions to for iTC to recognize that I was only uploading an iPhone version. Either way, it now recognizes it as a iphone only and was approved.
just set build target devices In Sumary to iPhone...make a check in plist... also just load .xib files iPhone, make a clean in your project and rebuild.. Check if you are not loading some target
You shouldn't believe what you see in targets->Summary. Especially, if you ever changed to "Universial" and back to "iPhone".
Instead of Summary you should always check targets->Info.
Also if you change Icons, Orientations, etc. often there are leftovers which you only find in Info

Force universal app to run iPhone version on iPad

I've had an iPhone product on iTunes for a while and have superseded it with a universal app which has been met with approval except from one customer who wants to run the iPhone version on his iPad as he preferred the larger inputs and working of the iPhone.
Is there any way to configure the app to run either as native iPad app or iPhone app on iPad at runtime? Seems an odd request but customer is quite insistant.
Thanks
/Fitto.
No way to do that, except making separates versions for iPhone and iPad.
Theoretically, you could have some setting that would load the iPhone storyboard on the iPad, but it would still display full screen, and not in compatibility mode, which is probably the way this particular user wants it
Assuming you are running some sort of source control, you could change the project to be "iPhone Only" and then test on the iPad, then later revert the changes made to make it a Universal app again

Releasing iPad app, after iPhone App is in the store

I have developed an iPhone app and preparing to upload it to iTunes store.Later on I want the iPad version of the app as well which I am currently working on.
So I would like to know whether it is possible to release the iPad app later as an update to the existing app in the store?
So long as the iPad version is part of a universal bundle (iPhone and iPad resources in the same app) it would be treated as an update.
I don't believe you can. However, I think that you may be able to update it to a Universal application.
Most people just make the iPad version separate and call it App HD or provide universal versions.
Yes. You can make it Universal with an update, but you can't stop support a device after you published a universal app!
If you want to upload a different iPad-Version (e.g. AppXY HD) you can also create this in the same Xcode project and upload them as different versions.

Universal app disable ipad temporarly

I have created a universal app but would like to temporarly disable ipad until I have finished developing the ipad version. Reason is I would like to submit my iphone app and later work on the ipad version.
At the moment it automatically calls CaveConditionsAppDelegate_iPad.h/m when starting with ipad...
any idea how to do that?
In your build settings change the Targeted Device Family to iPhone only.
Beware that if you've released a version for iPad already, you can't drop support for it later.
From Comments:
Solution was to remove the "Main nib file basename (ipad)" from the plist.