I want to dynamically update localization of my iOS application without submitting an app update on App Store.
I know that i can't modify main bundle of my app (that stores Localizable.strings) without submitting an update to App Store because it's read only.
But there is one thing i can try: my application can download another bundle (with updated Localizable.strings files) from some FTP server to Documents folder and get new localization from there.
So my question is:
Is it legal to download new app bundles from FTP servers and store them in Documents folder without submitting an App Store update?
By "Is it legal" i mean: wouldn't my application get rejected by iOS App Store?
This is not recommended and absolutely not supported. Please consider shipping localizations as part of an app update.
I don't think that your app will be rejected, because Apple will not be aware of what you are actually downloading. But this really sounds like a super overkill and a super bad solution. You could store your strings in a file or database on your server and load it when your app launch, and have some code to handle it in app.
Just do the exact same thing as every other developer in the world does and stop trying to be smarter than the system: push app updates when you update your app.
If you want to download your own special app using your own special app update mechanism to /Documents then expect at least:
users to post reviews thinking you're malware;
the application not to download half the time because the user hasn't given your app access permissions; and
the downloaded application not to launch because the user hasn't gone out of their way to give it Gatekeeper permissions.
Also make sure you've done a cost/benefit analysis on Apple somehow not spotting the Gatekeeper prompt when testing your application and somehow not spotting it later.
Related
I have an iOS app published in store, made with React-Native. (it is created by other developer, i'm not the original developer in this project.)
Now i'm refactoring my application into SwiftUI.
Is it possible to change entire project in same package? I want to keep app store page of my application.
I read how to publish applications. I read how to manage app package uri.
Yes, possible.
Keep your bundle identifier same and Increase your app version.
It is completely possible. You need to re-submit the updated app for review and approval by Apple.
Be sure that the bundle identifier is the same, otherwise it will be treated as a new app and will not replace the old one on the App Store page.
There are already many examples of companies that have completely changed the codebase of their apps.
Some new users may not know how to use the app store for updating apps. Is there a way from within the app I can provide a button that triggers updating the app ?
No, there is no built in way to do this.
If you have a way of detecting when a newer version is out (e.g. your server reports the version number of the latest version), then you could just direct users to your app's App Store page when they have an old version — just use -[UIApplication openURL:] to open your app's App Store URL, and it'll transfer them to the App Store app.
But as Losiowaty's comment mentions, this is not a thing you should worry about. Most people have automatic app updates turned on. This really is a non-issue.
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.
Hi we have an iOS app in itunes which have more than 20,000 downloads.
since we have re-branded our company we have developed a new app which includes extra features than the existing app. New app is with new name and Bundle id.
So now rather than taking out the existing old app, we want to redirect all the existing users to our new app. How can we do that ?
what we did was , we updated the existing app version with the popup, which says this app no longer available please download our latest app. but this got rejected by apple.
Any best practices to decommission an ios app
Thanks
Apple will not allow you to completely drop all of the features in an app - they want users to still be able to use the app. Imagine if all of a sudden Facebook make it so no one could use their app, and forced everyone to download a new app. It probably wouldn't turn out too good for them.
What you should do is just make an update to the old app. All of the users will be able to update easily, with no hassle, and you won't lose and users.
Another way to do this is by calling your new app MyAppName 2, although this will really only look good if you're developing a game.
If you would really like to get rid of your old app, I would recommend removing it from the app store and contacting Apple (You'll have to give them a good reason. Wanting people to pay for a new app doesn't count as one)
What many developers do, is add code to an app that checks a specified endpoint for instructions at each launch. The instructions are either, run as usual or, display this message and URL.
Personally, I would do this, and also update the old app as a freebie teaser for the new app. Apple pays less attention to reductions in functionality than they do to "kills".
Run the teaser for a year or so, then kill it.
I have an app live on app store. Due to some reasons i am about to push new app on app store, and want to uninstall old app from new app. Is there any way to uninstall/delete an iOS app from user's iPhone.
This is not possible, due to iOS not allowing people access to the file system. The only thing you can do, with an itms-services:// link, is prompt the user to download an app available somewhere for ad-hoc delivery.
Just add the current bundle identifier to the new app and submit as an update. It doesn't matter if it's the same project or a new one. As long as bundle identifier stays the same it will count as update.
This won't technically uninstall the old app, but it will look like it did.
Just remember that scheduled notifications and persisted files will remain as they were, you will have to implement some clean up logic to get rid of them.