Reverting to a non-iPad App - iphone

I have a Universal app existing in the app store for a client. The client wants to release an update just for the iPhone and ignore the iPad.
I said this wasn't possible because the app is already Universal, however, im not sure if I am right now.
Can I release an update that reverted to a non-universal app?
If so will the iPad customers get the update as a 2x app?
Are there any other options? Can I push an upstate just to iPhone customers?

if it is a universal app, then you can just change the iPhone code and leave the iPad code as it is. Both devices will get possibility for an update. I'd recommend adding something like
Update for iPhone side, nothing changed for iPad
to the release notes.
Answering your questions:
No idea, but I wouldn't do it
I don't think so
Other option: change only iPhone side and then test it on devices before publishing. That will show you if something will go wrong on iPad
I do believe one of the apps installed on my iPhone had something like that.
Hope it helps

You can revert to a non-universal app by making the appropriate changes to your project settings. This will cause all devices to receive the update when released, and on the iPad the app will revert to the 'iPhone 2x' interface. You cannot (as far as I can see) push an update to iPhone only.
Reverting to a non-universal app might upset some of your client's customers if they have become accustomed to using the iPad User Interface for the app when they find themselves back in the iPhone UI.
However - if the change you need to make is only to the iPhone User Interface, and doesn't affect the iPad UI or your application logic; Or if the change is to the application logic and won't break the iPhone or iPad UIs, you could still make that change and stay as a universal app ... In other words an iPhone UI update doesn't need to change or remove iPad UI functionality, and a logic-only change which doesn't break either of the UIs won't need you to revert to iPhone only even if that logic change only affects the iPhone.
If you need different behaviours within the app for iPhone and iPad, you can check which device your app is running on and carry out different functions automatically.
Basically, check what the update will affect in each of the UIs, and if the iPad UI won't break just leave it universal.

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.

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

How can I publish an iPad app from an existing iPhone codebase?

I have a rock solid iPhone app and wanted to know how I could get an iPad app out through iTunes Connect.
What steps are required in Xcode (or AppCode) to compile the app iPad friendly?
What features (like gps) should I pull from the iPhone code base to prevent strange crashing on the iPad?
How do I link and publish the iPad app in iTunes Connect so users who search see my app with a + sign in the App Store (assuming this means it's iPhone and iPad friendly)?
And finally, what else should I look out for doing this from a single obj-c codebase?
There are two types of porting possible one is universal app (in which a plus sign is shown with your app in itunes) and the other is two device-specific application (in which two targets are created one for iphone and one for ipad and both get released as complete independent apps). Now it depends on you which modal you choose. Yet I ported my apps using the second option as I want user to buy each time for each of his device :). Anyways, solely depends on you, here's a good tutorial for this http://www.raywenderlich.com/1111/how-to-port-an-iphone-application-to-the-ipad. I haven't came across any such thing which can crash a similar app on the ipad but might there'd be some. Though there are somethings which I came across that the ipad (ipod too) doesn't have any vibrator available, as my iphone app was using vibration to give some indication, so if you're using it you might need to circumvent it with some alternatives plus your app should support the PortraitUpsideDown orientation. It's weird that APPLE rejected my third ipad app due to this after releasing my first two apps with the similar limitation :).

apple has rejected my iPhone app saying it must run on iPad as well

I've just submitted my app to review (for the App-Store), and apple has rejected my app, saying the following:
"On iPad, the application displays a
black screen and no content loads.
This review was conducted on iPad
running iOS 3.2.2 as well as iPhone 4
running iOS 4.1. A screenshot has been
attached for your reference. "
am i obligated to create an iPad version of my app? or maybe i've set some property "on" and made apple think i would like the app to work on iPad?
to be more clear,
i want my app to run on iPhone only.
is it possible? and if do, what need to be set (project properties? info.plist?) to mention that the app should run on iPhone only? so that apple will not test it on iPad...
appriciate your help.
Dror.
Note - this historic QA is 5+ years old.
All issues mentioned in the QA are no longer relevant in iOS development! Enjoy
The problem is almost certainly that you (accidentally) made the app universal.
IF you made it universal, you MUST have both an iPad and iPhone version in there.
If you make the app normal, iPhone only, you do NOT have to (indeed, you can't) have an iPad version in there.
To be clear, Apple are talking about the "ACTUAL" iPad version. Of course, your iPhone app will run using the "blow up mode" on an iPad. Apple are not referring to the "blow up mode."
It is rather silly that in that particular form letter, they do not say something like: ,"You have almost certainly accidentally made your app universal instead of iPhone only" since that is the situation 100% of the time when that happens.
Good luck on waiting another 2 weeks :-/
You do not have to create a specific version of your app for the iPad, however all iPhone apps must also be able to run on the iPad. You might want to try searching google for resources on how to make your app iPad compatible.

Prevent iPhone app to run on iPad

I'm shipping two binaries; one for iPhone/iTouch and the other for iPad. It's the same application.
Will Apple ensure that the user will never receive an iPhone version of the app on the iPad? If YES, then I don't have anything to worry about, but if not then I do have a problem.
The reason I ask is the iPhone application will simply not work correctly on the iPad because the server knows it's an iPad and will deliver the iPad HD content to it and the iPhone cannot handle that. I would rather not hack my application to send the server a fake device type if running the iPhone app on the iPad in order to receive the correct resources.
Suggestions?
I've been looking for this for a while because I couldn't prevent the iPhone app to load on the iPad. Searched a bit to understand why this was happening, followed #hotpaw2 instructions and found this on the official apple store rules:
UPDATE:
2.4.1 To ensure people get the most out of your app, iPhone apps should run on iPad whenever possible. We encourage you to consider
building universal apps so customers can use them on all of their
devices. Learn more about Universal apps.
https://developer.apple.com/app-store/review/guidelines/
The SDK and/or App store rules prohibit you from preventing an iPhone app from running on an iPad in 1X or 2X zoom mode, unless there are other requirements listed in the app plist. Apple's app review is known to test iPhone-only app submissions (unless there are other requirements) on an iPad, and reject the app if it doesn't run properly.
Other requirements (as listed under UIRequiredDeviceCapabilities in the app's plist) might include your app requiring telephone capabilities (or healthkit, etc.), which might help you temporarily, but still won't prevent the app from running on some hypothetical future iPad product that includes telephony capabilities (and/or healthkit, etc.).
Actually you can.
Add telephony to UIRequiredDeviceCapabilities in your plist file.
But i really not recommend it and maybe you could get rejected because of gratuitously using this property.
I think you should handle that there are iPad versions and iPhone versions on iPads, use the second one as an iPhone.
Also don't forget that retina iPads will use upscaled applications at retina resolution while none retina ones use the standard resolution. And this behavior can tweaked using jailbreak tweaks like RetinaPad and FullForce.
In the plist settings, add Application requires iPhone environment and set the boolean to YES