How to notify a user when new updates / version is released on the App Store? [closed] - iphone

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
When my iPhone application start, I want to notify the user if there is a new updates / version released on App store.
Does anybody have any ideas or has anybody else achieved anything similar?
Thanks

Use Nick Lockwood's iVersion library. It's whole purpose is to notify the user when new updates are available.
iVersion is a library for dynamically checking for updates to Mac/iPhone App Store apps from within the application and notifying users about the new release. It can also notify users about new features in the app the first time they launch after an upgrade.
Purpose:
The Mac and iOS App Store update mechanism is somewhat cumbersome and disconnected from the apps themselves. Users often fail to notice when new versions of an app are released, and if they do notice, the App Store's "download all" option means that users often won't see the release notes for the new versions of each of their apps.
Whilst it is not permitted to update an App Store app from within the app itself, there is no reason why an app should not inform the user that the new release is ready, and direct them to the App Store to download the update.
And if your app is not on the App Store, either because it's an in-house/enterprise iOS app, or a Mac app delivered to customers outside of the store, you can't use the App Store update mechanism anyway.
iVersion is a simple, zero-config class to allow iPhone and Mac App Store apps to automatically check for updates and inform the user about new features.
iVersion automatically detects when the new version of an app is released on the App Store and informs the user with a helpful alert that links them directly to the app download page.
Or if your app is not on the store, iVersion lets you specify a remote plist file to check for new releases, and a download URL where users can get the latest release.
iVersion has an additional function, which is to tell users about important new features when they first run an app after downloading a new version.
These excerpts were taken from the Github page here, where you can download it. There is also a comprehensive tutorial on installing and configuring iVersion, so I recommend that you check it out.
Hope this helps!

To give a comprehensive answer. There are basically two ways you can go here. Depends on where you want to put the responsibility.
App checks for new versions on server
Using this approach, you would add a method to your app that is being called on every launch to compare the current version of the app (wherever you want to save that) with the version stored on the server. To achieve this, the server must implement a small web service that returns the latest version as a string or something else very simple. No rocket science there.
Server pushes new version information to app
This way you implement more code on the server-side to do a Push Notification to your app which informs the app about the new version. Advantage here is: Less client-side code and less effort to check, because the version check does not happen every time the app is started but instead only once the new version is actually released.

you can do a call to your server when the app starts.
and that way check for a news item in your database, for example.
When the server gives you something. show it in an alert.
On the other hand, when there is an update in the appstore, doesn't the iphone give a warning?

APNS - Apple Push Notification System
Try it and google for ready server solutions.
Update: Okay, lets get it longer -
APNS is the best way to inform user about something new. It works with every state of the app - even when app closed - and it helps to avoid unnecessary requests to server.
But you will need server to send pushes - if you can write it by yourself - it's nice, but the are some services to create backend for your app (no links - no ads, just google it).
To find out how to start with APNS on the client side and how to create all needed certificates and keys read this one

Just check the latest version by communicating with your server and compare with the current version of app when the app starts up, if there is a newer version, notify the user.

Apologies in advance for the plug - but I think a service I built extending the concept from my experience building many apps solves this problem. Look at CleverStork - an Update Manager for Apps

There is something known as Silent notifications from iOS 7 and above, you can use that for
this

Related

Apple iphone app transfer or app replacement

We have built an inhouse version of an iPhone application that is to replace another that is already available from another developer.
I was wondering if you think we can use "app transfer" from the previous developer and in turn replace it with our own app. Previous developer has agreed for the transfer (ofcouse excluding his code). Therefore our question is if we can transfer his app to our development name and then replace the app with our own. Our goal is that the current users of this app will receive ours as an update to what they already have and not as a different app.
In short, transfer and replace so users get our app as an update.
Note:
Please note that as we were unaware of this "transfer" we submitted yesterday our version of the app with a slightly different name. Should we cancel submition (as it is still pending for validation) and follow some route you may suggest in your replies, or stay as it is now?
If you keep the Appidentifier the same between the original version and the new version you will submit, this should work as expected. (But nobody has much know-ho of the new "transfer" option yet)
So, you process would be as follows:
Hand the old developer your TeamID and your Apple ID
The old developer transfers the current App over to your team
Once done (no clue how long that takes), you have the app in your itunes connect
Now you add a new version of the App to itunes connect and mark it as ready to upload
You upload your newly coded app that meets these criteria:
Application Bundle Identifier is the same as with the App you're updating
Your new App is signed with a correct certifcate/provisioning profile (just correct for the appid, doesn't have to be the same one)
The BundelVersion and BundleShortVersionString are at higher than those of the already submitted applications.
So basically, it will work just like a regular update.

How to use another Apple ID to submit an already-online iOS app to the App Store?

My company had outsourced an iOS app to another company, and they published the app on the App Store using their Apple ID. The app have been available for download for a few months and has a number of users. Now my company developed a slightly newer version of the app and would like to distribute the app using our own Apple ID. What's the correct way to do it? The major concerns we have are:
Should we submit the newer version using our ID before or after we take the old app down from the App Store. Would it happen that the newer app get rejected because Apple feel the two apps are too similar? (Actually they are quite similar, for that the update is slim.)
Is there a graceful way to notify the currently online app's users that they should switch to the newer app? And How to coordinate it, since the newer app may take a certain amount of time to get approved.
Thanks.
There are some different scenarios here, I am going to try to address some of them to see which one helps you the most:
1-)You have a current application that contains no use of push notification and no use of in app purchase. This is the easiest one. Basically, It does not matter what version the user has had before. You can remove the old one from the previous developer account and add it to the new developer account. By completely removing the previous application (not just from the app store listing, but from the developer account), you can reuse the bundle ID. When the user reinstall the app, the user will be able to replace the old application with the new application (note that the new application will not appear on the user's update list).
2-)You have push notification. Here, you will have to keep the old application if you wish to maintain the push notification certificates, so, the new application will have to use a new bundle ID, which means that the app will appear on the user as a new application, and the user will be able to have both app simultaneously.
3-)You have in app purchase and subscriptions. You will need to remove the old in app purchase entries from the old developer account, and add it to the new account (if you wish to reuse the product id, if not, you will have to create it either way).
I am not sure what kind of measure you need to take if you are using iCloud and/or other services. Best course of action is to contact Apple developer support. They will give you some guidance on what to do with your specific case. Also, when submitting, make sure to point to the reviewer that you are trying to move the application from one company to another. I think they can access review notes from the review to the previous submission(instead of reviewing it as a new app), and speed up the process.
Edit: You can not transfer apps between companies using iTunes connect. More information here: link

Control iPhone app getting updated when connected to old webservices

We are looking to develop an iPhone App communicating to webservices that is hosted internally at the customer site. Note that this is our first iPhone native App and using monotouch to do the job.
We will be maintaining the code and release updates periodically. However, the users needs to update only the version required based on thier local webservices and backend processes. For example, if the user is still using the version 1 webservice don't need to update the App at all, where as the users with version 2 needs to update to the matching App and so on.
We want to control the updating process or at least find a solution where if the user updates to the latest App, it won't come up with an error because the connected webservice is out of date.
We were thinking of the following processes, but nothing seems to be solving the issue.
1) Leave the app on the appstore but control the update processes somehow based on the webservices version. So when a user try to update, it will not update unless the required webservices is available. (Annoying part on this is users may be prompt that there is an update available even though those are irrelavent for them.)
2) Control the update outside the AppStore. Something similar to In-house development.
3) Stop the updating process entirely from the client, and only trigger the updates from the webservices end.
i.e Inform the client that it needs to update when the webservices updated, and the client will run the update process at that point.
However, it could be tricky, if the customer's updated to the webservices version that is not the latest.
1) There is no way to do what you want to do with Apple's AppStore, either an app can be updated or it can not, you can't add additional conditions that requires running code on the device itself.
2) That leaves in-house enterprise deployment - but this is restricted to deploying to your own company, you can't deploy to different clients this way.
3) You can't stop updates from your app, since you can't run code when an app is updated.
There is a 4), but it requires more work on your end:
4) Have your app support support older webservices, either through some sort of configuration the user can set or it query the web service for its version and selects accordingly. This has the additional advantage that an update can be deployed to all the devices first, and once all the devices have been updated, update the web service.
I would propose a fourth option: dont control/limit updating :)
Ship an app that uses a Wrapper object to access the service and that object internally handles different versions of the webservice.
apart from that.
1) doesnt work (if I get what you're doing: trying to influence the appstore updating)
2) sounds doable, and if you dont care for the appstore, it works
3) why? users love updates :) + there will be critical bugs

Re-Installing IPhone App From Inside The App

I want to find a way if it's possible to re-install an IPhone app from inside it?
Let's say my users have the app already installed in their phones and now new version is released, can I make my app such that it will check over internet if new version is available and if it is, download it and ask the user to install it. If user says yes, it will first un-install the current version and will install downloaded version.
Is it possible anyhow?
Apple wont allow this.
For one reason, un-installing the app removes all the user documents (if applicable), so theres no way to preserve user data.
Apple already has a medium for updating (iTunes App Store).
If you want to be able to check if there is a newer version of your app, you can do that simply by checking a text file (for example) on your server, and notifying (by UIAlertView possibly) the user that there is a newer version of your app. But again, Apple already has a standard system in place. (Badges on the App Store icon)
probably not because to uninstall an app it requires the app to be closed
You don't have to do that. If you upload a new version to the app store, a notification badge will appear on the app store icon on your users' phones. You aren't allowed to install apps any other way than through the app store, anyway.
It depends on your app and what you want to update. It's not possible to reinstall the native app, but you can download data and update your app using that data. For example, we have an app in the store which is mainly a webview inside the native app. The first time it launches, it uses the internal data, but checks our server if there is an update. If there is an update, it downloads remote data and replaces the internal. It's what most magazines do for updating their libraries.

Is it possible to make your uploaded iphone application auto-update? [duplicate]

This question already has answers here:
Can I force an iPhone user to upgrade an application?
(16 answers)
Closed 5 years ago.
I am about to upload my Iphone application to the apple store, however I intend to release more versions in the near future. Is there anyway to make my application auto update once I upload a new version to the apple store?. That is as I am about to upload version 1.0, once i upload version 1.x, can the user be notified of this or can the application be auto-updated?. Can anyone point me in the right direction?. Any help will be greatly appreciated. Thank you.
-Oscar
No, this functionality is not available on the iPhone. The AppStore provides updates through the store only, and Cydia provides updates through Cydia only.
The direction i've seen many applications take is at start, check an XML file that you host for information on newer versions, and typically display a message to the user (preferably in a news ticker or non-obstructive manor) about a new version being released, and why they should upgrade.
You can't auto-update, however as far as I'm aware nothing prevents you from notifying the user that a new version is available, within your app. For example you could contact a web server to find out what the latest version is, and compare that to a build number in your app bundle, then display an appropriate alert/notification to the user. Or, you could get fancy and use the 3.0 push notifications for this.
In theory the appstore app/itunes will do this anyway, but it's clear that a lot of users don't see that.
Another thing you can do using the method I outlined (that the app store won't do) is tell the users that a new version is available, what it does, and that it's waiting for apple.
Even simpler is just to embed an 'announcements' channel in your app somewhere. That lets you talk to your users without waiting for apple - you can tell them there is a new version on the way, etc. I do this with an app I'm beta testing - a button on the main screen shows announcements, which I pull from my server.
Maybe if enough app developers did this, apple would start turning the approvals around quicker. Or change the legalese to prevent it [assuming it doesn't already] :-)
This is functionality provided by the app store. When you submit new versions, after apple has approved them, they will become available through the app store as updates to users that already have the app installed.
User will see new available updates to apps he owns in iTunes. User can then choose to get the update.
I'm not sure about updates via iPhone but if you pay for data downloads you would prefer to download apps/updates over iTunes on your Mac and then sync to iPhone. It's cheaper that way.
My guess is automatic version updating is intentionally left out. Think about it: what kind of strain will they have on their server if everyone on the planet with an iPhone downloaded An update to Fruit Ninja at the same time? I think their passive notification to the users via the red circle and white number allows them to spread out/stagger the update downloads and reduce server load.