Do I have to rebuild my app for every iOS new version release to make it available at the AppStore? - ios

I think this is not required, at my personal experience only new iOS specific features in my application will require a new release, but a personal client is asking me to confirm this.
With every new XCode release, do I have to rebuild and publish my application in order to make it available at the AppStore of new iOS Release?
If there is any official documentation that proves this will be appreciated!

You do not need to re-publish. Apps remain in the App Store until the developer pulls it (or very rarely, Apple pulls it due to policy violations).
There is likely not any documentation that explicitly states this, but consider a scenario where somebody gets the new iPhone 13 and opts to restore it from iCloud. Data is pulled from iCloud, but apps are restored by re-installing them from the App Store. If apps disappeared from the App Store because they haven't been re-compiled, then anybody who upgraded their phone would discover that a large number of their apps had disappeared.
Anecdotally, my company has apps in the App Store that haven't seen a new submission in over 2 years (since iOS 12). Those apps are still in the store.

You can test your iOS app using the new Xcode 13 and if you got some bug using the new iOS SDK, you can fix it and submit a new version to App Store using the new Xcode.

Its prudent to test your apps on each new OS (preferably before the public release) but in most cases no new release is necessary. Over time you may want to update your app to take advantage of new features or to better support new devices. No app will never last forever but you will likely be able to go some time before having to update.

Related

How to have multiple versions of app in TestFlight?

I've just published an app on Apple's store and I'm wondering about having multiple versions of the same app for testing on TestFlight. Of course dev doesn't stop when publishing... from now on I'll have to update the app store version (v1.0.0) with bug fixes (v1.0.1, v1.0.2, ...) and before doing so I'd like to check them in test flight to ensure the fix was appropriate.
My problem is that I'm already starting to develop the next version with further functionalities of the app which will become v1.1
So ideally I'd like to have my app available both for my bug fixes, for instance v1.0.2 and also my next version v1.1.0 (this will include all bug fixes made to the store version and also many new features, refactors, redesign, etc)
I know that if I build and upload to the apple store connect a build with v1.1.0 (next version) I won't be able to upload one for a built with a bug fix on the current app store version (v1.0.2) since this version would be lower than the one I uploaded (next version)
Is there a way to accomplish this? I've read this article https://savvyapps.com/blog/using-testflight-to-distribute-multiple-versions-ios-app which solution is to create extra applications in iTunes with different app ids and bind them to different certificates. But what will happen when the next release is ready to be in the store? I would have to release it and then disable the previous one? How may this affect my users? Will they have to re-install a new app rather than updating it?
I really need to start testing and checking the next release of my app in TestFlight and also support the current one with updates if something pops up. Thanks in advance!
I am able to upload multiple versions of the app to TestFlight. Each upload requires a higher version/build number, but you can switch the TestFlight test version between them as need be for testing.
Once I submit a particular build for release, however, I seem to lose the TestFlight access to the old builds.
In short, you can have many builds available in TestFlight, but once you submit the app for release, you have to start over making builds for TestFlight.
You keep talking about numbers like v1.0.1. That looks like a public-facing version string, with a major, minor, and patch number.
But that is not what TestFlight cares about. Well, it cares to some extent. But all TestFlight really cares about is that every new build you upload has a new build number. This is just an integer which you simply increment every time you submit a new build.
So you could have v1.0.1(23) on the App Store, and then on TestFlight you could upload v1.0.2(24) which starts moving forward toward version 1.0.2, but also upload v1.0.2(25) which is actually an attempt at a prospective version 1.1. TestFlight doesn't know or care what these different builds signify. They can all exist simultaneously on TestFlight. Keeping them all straight and on their individual trajectories is up to you.

Remove support for iPhone with new updated version of app

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.

Apple iOS 64-Bit App Update

I have updated my app to 64-bit just fine. Everything is according to Apple's standards. I pushed the new version to the store and it got accepted on the 1st of July 2015.
Now, here is the problem, some customers are reporting that the app is not being updated automatically from the store. In other words, they still have the old app on their devices. And when you go to the store to manually update it, it installs a new version of the app next to the old one and they end up with 2 apps (same app) with the old and new version. Also some other customers are reporting that they are seeing mixed data when they lunch the new app (like data from the old one still shows up on the new one)
FYI, the bundle ID and the app ID are the same, nothing has changed except the app version and build number!
I have been publishing app for few years now and I have not seen such a problem. Any idea why this is happening?
Thanks in advance!

iOS Cordova App not showing version updates available

Currently when making a new release android customers are given a notification that a new version of the is available for download.
I have searched for solutions on here (stackoverflow) but the only related answers are for apps developed in xcode.
How can I notify customers when releasing a new version of the app to itunes?
You could store the current app version in your database and use appVersion plugin to get the installed version on the device. Then you can compare the versions (on start-up e.g.) and notify the user somehow that there is a new version available. You can even provide add link to your app in App Store.
I'm using this plugin: https://github.com/WellBload/cordova-plugin-app-version/blob/4234061/README.md
It does require some maintenance because you have to update your database every time the update has been released. The choice is yours.

Submitting new version of existing app on App Store only for iOS7 users. Is it possible?

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.

Resources