We have an iPhone app and want it to support iPad also.
But as I learned if you submit an app to Apple and indicate it is Universal, while in reality it is not (for example iPad is not supported at the time of submission, this is restricted by their policy).
So, what is the best way that we simultaneously allow further development of our application such that we also support iPad?
ps: we didn't want to create separate projects for iPad and iPhone since they share lot of code, but as I mentioned we encountered following obstacles.
Submit your app as an iPhone app. When you support iPad change it to a universal app when you submit your update.
Related
I developed an app that only runs on iPhone (iPad compatibility not required yet by me). After I publish it to the app store, the apple rejects the app as they test it on iPad and as I mention that it is only iPhone app, therefore, it looks ugly on iPad.
How could I submit it to app store by force apply the setting that it is an iPhone app only, not iPad?
This creates really much issue as I worked a lot and seeing this rejection made my heartbreak.
Apple have stated in their app-store guide lines that iPhone apps should run on iPad. Unless there is some really special need otherwise, which you must be able reason with them.
Check here: https://developer.apple.com/app-store/review/guidelines/
In addition to that it is really easy to make iPhone application compatible in most of the cases, just try and run it once on iPad device( or simulator), and you might find the crash and be able to fix that easy.
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
I want to lock screen iPhone and iPad programmatically
I have searched a lot but didn't get proper idea. I have found one app Lock me but it is not worked on after iOS 7.
here is that link
https://github.com/neuroo/LockMeNow
as per my search I think we are able to implement this functionality using private api and using kiosk mode.
I don't think you can programmatically lock the iPhone or iPad from you application. that not full fit the apple policy and its guide line. In iOS app development we can not handle any API that out of the application. Apple not make any API for lock screen that you fire from your native app.
Other things is you are attached one link in your question. that clearly write the limitation that:
This application can obviously not be accepted (as is) on the Apple Store, and that's mostly why I put it here. If you want to use the application, you will need a developer cert (or a jailbroken device and using the iDevice build toolchain).
I have a universal app, it supports both iPad and iPhone. I do not want the app to be downloaded or launched in iPad 1 alone.
When the user downloads the app from App Store, is there a way to disable the download or launch of the app only for the first generation of iPad.
If not, can I add it in "What's new" option during the release of the app to App Store. Since it is a next version of release.
Please help.
Thanks in advance.
You could try to find a restriction with the UIRequiredDeviceCapabilities key in the info.plist. But this key only allows restrictions like armv7, magnetometer, etc. (full list available here). So you can't filter only iPads of the first generation.
Anyway, what you could do is checking at runtime whether it's an iPad 1 or not.
With this Library it's quite simple:
if([[UIDevice currentDevice] platformType] == UIDevice1GiPad){
//it's an iPad 1!
}
I don't believe you can restrict your software to a certain class of devices, but you can impose limits based on iOS version. The newest version of iOS supported by the original iPad is 5.1.1, which is quite dated now, so you might consider requiring iOS6+ on the App Store.
Also, you could require the device to have a camera, which the iPad 1 does not. But beware that Apple could reject your app if it does not actually use the camera.
Best possible way is to give the support for iOS 6+ which will exclude the ipad first generation.
I have never submitted an app to the appstore, but I will in the near future.
So far I am becoming quite comfortable with designing for the IPhone but not the IPad.
I understand that by putting a universal PAID app on the appstore that the customer would only have to pay once to have access to both the iPhone and Ipad versions.
What if you submit an IPhone app for $0.99. then later decide you also want an IPad App version for $0.99.
Would the consumer have to purchase both?
Or is there a way to tell Apple that "this is the IPad app" of this IPhone version, and so the consumer would only have to pay a one time fee (if he has already purchased the Iphone app = free download for Ipad App).
Thankyou
If you want just one app at one price, you can submit the app again (in a subsequent version) as a Universal app that runs natively both on iPhone and iPad. This kind of thing happens quite often, as developers expand their horizons...
If you submit an iPhone only app and an iPad only app they will be two separate apps with two different names and two separate prices. People do that - the New York Times app works that way, I believe - but it isn't as common. For one thing, it's confusing, because the iPhone version will run on the iPad, but as an iPhone app, so the user may not realize this is the wrong app (and it will probably look kind of crappy).
GoodReader is another well-known example where the iPhone version and the iPad version are two separate apps: see http://www.goodiware.com/goodreader.html