How to configure a minimum app version for an iOS app React-Native - ios

I want all users off my app to stay above a minimum threshold version. Is there a way I can configure it either in the code or app store that invalidates the users on a certain version and redirects them to the app store?

I assume you have already an application that in the production and installed to devices.
In this case, unfortunately you can't put version limit on them. The only way is, deprecating v1 APIs and creating v2 APIs. The older version app owners will get a warning (If you well made the error handling.).
Otherwise, you can add a new feature like checking the version on the startup of the application. And If it is older, you can show a message like "Please update the application." and put a button that redirects to the AppStore.
(The image is from a Medium blog post named "Mandatory Update for your apps".
I don't recommend forcibly redirecting users to AppStore. It is not a great UX practice. You can block the screen of the application with the warning but at least leave the basic functionalities open.

Related

Does Apple allows force update to newer version for iOS Applications?

Does Apple allows any category of iOS application (i.e games or any type) to force users for new version update, without update later or cancel button (if user don't want to do or intend to do it later)
Apple used to reject applications on such scenarios, Please correct me if I am wrong.
An application which currenly forced me to update is as follows:
https://itunes.apple.com/us/app/farmville-2-country-escape/id824318267?mt=8
Please find screenshot attached.
After new version release whenever I open this application, it has only one button which says "Upgrade Now".
I am unable to use until I click upgrade button.
I am wondering is it mistake on Apple review process or is it really
allowed to do now?
This process never really went through the apple verification process.
The logic for this probably is...
-) On launch check for update
-) If a update exists, show prompt and lock the application
If the application was being reviewed, then the reviewer never saw such scenario. I am pretty sure if the reviewer saw such locking mechanism, they would simply reject the application. Either way if you really want to force a user to a specific version, this seems to be the best way forward.

Decommissioning an iOS app

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.

How to auto-update apps managed by MDM?

I'm building an in-house app that is distributed via the AirWatch app catalog. The app always runs with Guided Access enabled and all devices running it are managed by AirWatch. My questions are regarding auto-update:
Is there a way that AirWatch can force the update immediately or as soon as the device comes back online, without asking for the user's input? If so, how does the app being open affect this behavior? How does guided access being enabled affect this behavior?
Is there a link from AirWatch, perhaps an itms-services:// link, that the app can call to install the new version if a web service had indicated that it's no longer the latest version? If so, how does Guided Access being enabled affect this behavior?
Is there any other good model for remotely updating the app that will spread the update as quickly as possible and under the above conditions? The solution can be using MDM or a custom web service or both combined.
Thanks a lot for your help!!
If your devices are running iOS7 and you have your app Deployment settings set to "Auto" (as opposed to "On-Demand") the device will automatically take the update once it processes the APNs notification to do so. If the device is locked/offline it will typically check for outstanding APNs messages within a minute or so of being unlocked or coming back online.
What I don't know is since your app is in guided access mode if you're receiving a pop-up to install the new version. I've seen previously where if the app that requires an update is open iOS will prompt. What we have done to battle this is embed a check in the app that phones home to see if the app is current. If the app is NOT current the user can't do anything until they update their app.
Regarding a direct-link to the App Catalog to update the app that might get tricky with guided access enabled. Before you even try to tackle that issue understand that the app catalog webclip URL contains the UDID of the device as of AW7.1 (I think). Since the UDID is no longer programmatically accessible code-side AirWatch allows you to push the UDID upon app installation in the Deployment/Application Configuration section. You can embed {DeviceUid} into the key share on the device which will make it accessible for that applciation, hence allowing you to create the appropriate App Store URL within your app.
Good luck
honestly I didn't work with AirWatch. But I don't think that Apple provides a way for automatic update of ad-hoc or enterprise apps.
Well, I can describe a solution for an enterprise app I developed last year. Hope it will help you somehow.
First of all, I made it as a part of our secure website. (a little test flight)
Here's how app update works
When the app launches it sends special request to a server asking if
it is outdated and a new app version is available. (+ servers sends
url for new version installation (with itms-services://))
Then
if update is required, app fires alert with description of new
version, if user taps update, the app opens Safari where the user
is able to install a new version.
We made to different kinds of alert, optional (minor version change) and compulsory(major version change). With later variant user is unable to get rid of alert view, so he has to update the app.
You can update your internal app through the AirWatch Console and applications versioning.
I never used it but I imagine that at the end of the new version process, there is a way to push the updated app to the related devices. If the Push Mode is set to Auto, the user won't have to do anything and the app should be updated. If it is On Demand, the use will have to initiate the process from the App Catalog. From for the latest option, you have the solution to send a notification to the user.
It is also possible to retire or inactivate older versions to only keep the newest one.
If you have access to AirWatch Online Documentation, I recommend you the page Using Add Version for Applications. If you don't, contact your administrator and ask for all the pages located in Mobile Application Management -> Internal Applications and the page Using Add Version for Applications.
You should try it with a single device though ;)

Handling iOS platform downgrade and Reuse of App Name

I haven't been able to find relevant answer to this problem. Please redirect if you know it's a duplicate question.
Background:
I have this version 1.0 of an app on the App Store. It's basically a wrapper around a WebApp and the updated 2.0 version I am working on is a native implementation for iPhone.
Now the current version 1.0 of the app is Universal. So trying to submit our finished 2.0-native iPhone only app is refused by AppStore since it's considered a downgrade to no longer support iPad.
The roadmap ahead includes a future release of an iPad-version as well, and this needs to be taken into account. I believe there are good reasons for this iPad-app to be Universal. We need to keep the current AppName in some way.
Now I need advice on how to best handle the situation. These are the steps I consider:
Release v2.0 under new appName i.e. "MyApp 2"
Remove v1.0 app from sales, but keep it in iTunesConnect to save the name
Change WebAppContent of v1.0 to notify the current userbase of the native app (2.0)
When we are ready to release a Universal App we update the current 1.0 instead of 2.0 to reclaim the original name
Questions:
Is there a better way?
If we remove v1.0 from sales and release v2.0 under the name "MyApp 2", is there a way to change the later name back to "MyApp" when v1.0 is of the stores?
If we consider deleting v1.0 completely from iTunesConnect, can we, as the same company, then reclaim the name when it becomes publicly available again (or are we blacklisted for that name)?
Can you have different display names for an App on AppStore and on the devices home screen (how is this done)?
Warning: If you delete an app in iTunes Connect, that app's name is no longer available for use by that same Developer account ever again.
Bundle display names are independent of App store names. Many apps have shortened or abbreviated Bundle display names to fit under the icon, and a much longer app store name.

Control iOS app version with webservices

I want to know if there's any trouble in creating a version control on my iOS app, because I'm going to make some huge upgrades in my webservices code and don't want that any user try to access the old version and the app crashes or don't work properly.
My idea is to create a service that capture the app version and than, if its an old version, the user can't access the app until the new version is installed.
I know that some android apps do this, but I didn't find any iOS app with this control.
Thanks!
Your app has a version, and you're writing the web service, so I don't see why you couldn't have your web service check the version and respond with a message that tells the app to show a message asking the user to upgrade.
That said, it would be much, much nicer for your users if you design the web service so that it detects the app version and then provides appropriate functionality for whichever version the user has. You might not want to continue support for the older version forever, but your users would probably appreciate having some time to upgrade when they choose to rather than when your app forces them to.

Resources