What exactly happens if you release a version of your app that removes support of an older version of iOS? (e.g. removing iOS 7 support)
Will users that already bought the app still be able to download the old version?
Will users on that iOS version still be able to discover and install the old version of my app?
I just managed to discover the answer to the question myself. I used an old iPhone 4 running iOS 7.1.1 and found an app that used to support iOS 7 but no longer does.
Yes, users that bought/installed the app in the past will be able to restore it by using the "Purchased" section from within the "Updates" tab of the "App Store" app.
No, users will be able to find the app, but actually won't be able to install it:
The app still appears when searching on the app store.
The app states "requires iOS 8 or newer".
The "Get" button is clickable, but they won't actually be able to install the app. Instead (after they've entered their password) they will be presented with an alert view explaining to them that they'll have to upgrade to iOS 8 (even though this is not actually possible on an iPhone 7)
Related
If a user was using my app on iOS 8 and my latest release supports iOS 9 only. The user update OS to iOS9.
Does he get al alert to update app when he opens my app?
Can the user still use my app without updating it?
What happens for the deprecated code? Will the app crash while trying to access such APIs?
No alerts. If user will not update iOS your application will not be updated. Your project should be updated that now it requires iOS 9, see deployment target in your project settings. If you don't change this setting than it will get updated and you can have a crash if new API is used on old iOS.
If you didn't change server side in such way that it breaks compatibility than old version should still work.
This should be investigated by you. It depends on many factors. If you have setup project "deployment target" properly than update will not be performed on older iOS versions. This may be tricky if your application should support older versions of iOS. Not updated application will continue to work on new iOS even if deprecated API is used. Apple will simply reject updates witch are using deprecated API but still maintains that API. Once I had a problem since UIAlertView was deprecated and old application had new bug where UIAlertView was not respecting application orientation. I had to do a tricky code which detected if UIAlertController (I prefer this approach instead detecting iOS version) is available than use it and if not than fallback to UIAlertView was used.
During application update the biggest problem you can create is setting compatibility or database comp compatibility. So you should be careful with that.
Is there a way to remove the iOS version of the app and just leave the tvOS version? We are reusing an app name, but the iOS version which is 3 years old is still there and we can't find a way to remove it. We also don't want to delete the app since we loose the name.
You wouldn't delete it anyway. You'd go to Pricing and Availability and "Remove from sale". This is per app though, not per platform. You'll need to contact Apple.
We released few versions of our app with universal support ( i.e. app is supported both on iPhone and iPad). Now with new version of our app (1.14) we want that this version should be available to iPad only. This means 1.14 should be available only on iPad and iPhone user may not able to install it. But when we change setting in Xcode from Universal to iPad only it gives error while uploading ipa to app store that if previous version of app supported iPhone then in updated version of app we cannot remove iPhone support. Now we are looking for solution to this problem. Please guide us what are way to over come this issue. Due to this issue we have to delay our app release so kindly give us possible suggestions as soon as possible.
There is no good way of doing what you want. Apple deliberately don't want you removing functionality for existing users.
Maybe the only way forward is to remove your current app from sale and submit a new, iPad-only version. You'll lose your reviews, sales rank, etc.
Does anybody know how to check if a particular app is installed or launched on iOS 9.
Previously I used a PhoneGap plugin that returned a list of running apps so I could check it (using sysctrl). But it doesnt work on iOS 9 because they have closed many backdoors. It could be a list or just a check for a particular app (process or budle name or whatever else). As I understand ulrscheme is not working for this purpose, because this should work for any app, with or without urls setup.
App is designed for Enterprise Distribution model so we can use some hacks if needed because it`s not for App Store distribution and verification.
This is not possible in iOS9. Check this article.
Trivial question I know, but I need to figure out this before I actually try it on iTunes Connect.
I have an application on the App Store, I would like that next version of the app is only available to users of iOS7 or greater.
I wonder if simply updating my app info.plist to support > iOS7 is enough to leave existing users running iOS6 with the latest version I released (1.9) before changing info.plist, and instead have iOS7 users prompted (or automatically updated) to the new 2.0 iOS7-only version?
Or maybe there is something else I have to specify under iTunes Connect?
I can't see anything actually there...
Yes, this is how it works. If you update your app's Deployment Target to iOS 7 then existing iOS 6 users will not be told of an update (and won't be able to update). iOS 7 users will be able to update.