Not offer update to current iOS App users - ios

I want to decrease a few options I have given out as free in one of my app (Universal iOS app) but I do not want any current users to update and lose those options.
Is there any way I can update my app without offering it to the current users. Only new users get the new app?

No it's not possible.
Update is always available for all users that purchased the app.
You may think about adding in-app for those feature and make those in-app already available for the application already installed. The problem is that if the user deleted the application from the phone and install it again, you have no way to know he purchased a previous version (except if you have user login inside the application).

Related

Mandatory re-install on scope change?

We built a slack app, got it approved in the marketplace, etc. Now we want to add more functionality which will require us to add a scope. The question is - what will happen to the existing app installations? Will the app stop working for them once the new scope is approved? We couldn't find any description of how this is supposed to behave.
Existing installations will continue to work as they always had and won't be disrupted by the changes you make to your app. They also won't have the new scopes unless the app is re-installed. If your app has the ability to DM users who have installed your app already, if might be good to DM those users and prompt them to re-install so they get the full experience of your app.

Need assistance regarding In-App Purchase

Currently my is a paid app, now I am planning to make it free with limited functionality, after in-app purchase user can have full functionality. I want to know the people who have purchased previously can directly restore purchase so they don't have to buy again.
Apple doesn't allow to make this automatically. You must do this in your code. For example check your apps version, like version < x.y.z means that it was paid before, version >= x.y.z means this is a new user which should make the in-app-payment to unlock the full version.
No. There is no way to get such things from Apple. But, you can do one things.
If you're having login feature then you can manage same things from date. So, for old registered need to show all features while new users need to show specific features only.

Is their any way to identify user updating app and user installing app for the first time in iOS?

I'm giving an update for my existing iOS App and in this update I'm locking few existing functionalities and on In App purchase these functionalities will be unlocked.
But for existing users even if they update it should not lock the functionalities only for new users it has to happen. How can I handle this?
You can do what is called "Receipt Validation." There is a programming guide here
Basically, you can get the purchase data of the app, and it will include the original version that was purchased. That way, if it is below the version that you introduced the new model into then you can disable in app purchasing and just give the full functionality.

How to tell if app user is upgrading or new purchaser?

I would like to switch my app from paid to free with in app purchase, but I don't want to make my current users pay twice. Is there a way to know if a user is upgrading or new?
You can't tell if a user is a new user or a previous owner of the app. Let's say a previous owner of the app buys a new device and installs the latest (IAP) version; there's nothing to let you know that user is new or existing.
If you want to maintain two separate App IDs you could release two versions of your app: one that does not have IAP but costs money (for your existing customers) and one that's free and has the IAP.
updated
If your IAP product's type is non-consumable, user can not buy it again.
what you could do is an upgrade of your paid version that allows a user to generate a special code that they could use (once! some server connection would be useful to register these codes) in the new "free" app to get an upgrade to the full version.

Giving in-app purchases to specific users for free

I have an app in the iTunes store that has full functionality. I attempted to release a Free version which contains half of the functionality, and contains a link to the full version if the user tries to use the other functions.
Apple rejected the app on the basis that rather than having two apps, I ought to have the main app released for free and have the extra functions unlockable using in-app purchasing.
That's fine; I can do this. The only problem is that since I released the full version initially, some people have already paid for and downloaded the full version. When I update this app so that it is free, it will be restricted by default. Those users that have paid for the full version will have lost the functionality they've paid for.
I don't really want to release a second version of the app since I intend on continuing to update the app and managing two release streams would be unwieldy.
Is it possible to somehow offer for free the in-app purchase to those users that have already bought the full version of my app when I update the app to the new (free, in-app supported) version?
Edit: An (unpreferred) alternative would be a way of refunding the purchases to the original buyers, along with a note explaining why. Any ideas how?
What I'd do is add a already paid option within the application itself, and then allow users to enter a license code, or email address depending what you prefer, Which you can automatically issue from their contact details if you have them or ask them to contact you if you don't, which most will as they have paid.
Now as far as the licensing and the verification of these codes you could setup a cheap VPS which verify s the code and only activates with codes that you have entered on the server, meaning you won't fall victim of Keygeners.
Just my 2 cents.
If your app doesn't currently have a username/password registration, I would suggest releasing an update to the paid app that explains to your users on an initial popup view something like:
Thank you for supporting our app. Due to changes in Apple's policies, we will be converting this app into a free app with in-app upgrades. Since you already purchased the full app, you will be awarded all features! Please input an [email_address or username] so that we can provide a painless transition.
If your app has a user login mechanism already in place (username/password), then just store those details and have the user log in later in the "free" app to unlock all of the features.
Obviously, both of these suggestions require a backend for validation, but shouldn't be too difficult to create that.
This is tricky due to section 3.3.3 of the license agreement and Attachment 2. I'm not a lawyer so I'll save my interpretation but, read them.
Another option would be to make the free version a new, different app and leave the original one in the store but unavailable. Then you can still publish updates to it but new users won't see it. Apple would probably allow this considering you are still only presenting one app to new users. The downsides are (1) you have to maintain two versions and (2) you have to start over in terms of reviews etc.

Resources