I have a question regarding App Store published apps. I'm about to submit an iOS app and I wonder if, when submitting future app updates, it is possible to force the previous version to be uninstalled before installing the update? How are updates managed?
Thanks!
You need to submit the app update as an update to the existing app, not as a new app. There is no need to uninstall the old app. The update will replace it.
Make sure the update is backwards compatible. More specifically: preserve the user settings and any other piece of data your app stores locally.
If you really need to submit a new app to replace the old one for some reason, you can use a custom URL (documented here) to force the user to use the new app.
You will need to make two changes:
In the new app: register the custom URL.
In the old app: launch the new app by invoking the custom URL as described here
I find that you are worried about sqlite database changes.You can change the name of the sqlite file in new version project.
Related
In iOS app version 1, I am storing each and every data in table in encrypted form. But In iOS app version 2, I have removed the encryption of those data in each and every table. During app upgrade from version 1 to version 2, since the older version has encrypted data, the new version is not able to understand the data fetched. How should I go about this?
iOS application - supporting till OS 12.
So you have not decrypted the data during the migrating from version 1 to version 2. Have you stored the key to encrypt/decrypt in keychain or do you have access to the key to decrypt the info in version 2.
If you store data within app database after encryptions then don’t need to worry. Nothing will happen with the older version of your app if you upload next version. Only the changes will not reflect directly to the previous version of your app you have to forcefully update an app version from the user.
You can show the alert massage when user open the application like “new version is available please checked” and redirect to the App store.
There can be two options and might one of them will help you.
Option : 1
You can ask end-user to make force update and update the new version of an existing installed app.
Option : 2
If you don’t want users to loose there existing data what you need to check is…
With the new version of the app, you need to check whether old data exist in the application or not.
If YES, you can update them by making it decrepit and if the answer is NO there you can make the user access your application further.
With this approach make sure users are having a good experience and don’t get annoyed if you perform background tasks while updating the existing data to decrypted one.
Hope the above explanation can assist you.
I have a Universal iOS app that has been in the App Store for two years now. I am working on a massive update for it. I have learned a lot since then and I feel that the best thing for me to do is to rewrite the app from the ground up. I can just strip out the app but I would rather start from scratch with a new Xcode project and submit it as an update.
However, I'm not sure if this will work. What do I need to change in the plist and other settings so that this new project will be recognized as an update to the existing one? Is it even possible?
You should just be able to use the App ID/Provisioning profile of the existing app when you develop the new one.
In XCode, you'd set the Bundle ID to whatever the app's identifier is, and update CFBundleVersion and CFBundleShortVersionString to reflect the current version of the app.
Keep in mind that you can't add to the required device capabilities (meaning make it more restrictive), so it has to match what they were for the old version.
My client wants to update his iphone app but he doesn't have access to the source code. Is it possible to update the already existing app by building it from scratch?
Yep, you just need to use the same bundle ID in your app and maintain the versioning (just make it higher than what it is in the app store). So long as you have the developer account that published the app, then you will be fine
Your client can update the existing app if he has the access to the store. Else, while building the new application, he has to maintain the package identifier with higher app version and the rest will be no problem as far as the practice is going on.
I have an app on AppStore that I would like to improve with StoryBoard. I was recomended to build a new app from scratch instead of trying to add storyboard to an old app. So I have done that and now I would like to upload it to the AppStore and replace the old one.
I understand that the bundle identifier and app name must be the same. Do I have to make sure any other stuff is the same?
Yes, you can do this no problem.
Just make sure to use the same App bundle identifier i.e. com.companyname.appname as in your original app.
Then use the same distribution license that you would normally use.
You have to release the new app as an update to the old app but apart from that you can change anything else.
You also have to make the new version number greater than the current apps version number.
To the users it will look like a normal update but in the background you will have essentially replaced the entire app.
You could consider this as an update of you app.
Bundle version should be higher then before (for example 1.1 or 2.0 if the previous one is 1.0) - this usually depends on how big the difference will seem to the users.
And also: if you are saving anything to documents folder make sure that the new version is compatible with the old data.
New version should be able to run on device:
if there was (any) previous version installed
if there was no previous installation of your app
For reasons too convoluted to get into, I had to switch to a completely new project to update an app in the App Store.
Is there anyway to get access to the sandbox of the old app or will the new one just create a completely separate sandbox? In testing my dev builds of the old and new app they are completely different document directories so my archived info doesn't survive the update.
Does going through the app store effect this in any way or am I just out of luck?
I've matched Bundle ID's and provisioning profiles and that hasn't helped anything.
If you are submitting the completely new version as an update, the data in the NSDocumentsDirectory and NSLibraryDirectory will be preserved. If you are creating a new app in iTunes Connect, the data will not be available and there's no way of getting it back (because you can´t access the sandbox of other apps).
To test this, the best thing you can do is to install the old version of the app on your device and run the new one to update it. If you matched the bundle id correctly, instead of creating a new app on the springboard it should update the existing one. Data should be preserved in this update.
Remember to set your version number to something higher than before. For example, if your old app is version 1.0 you should try with 1.1 or 2.0.