Share in-app purchase across apps on a single device - iphone

I'm thinking about building a series of iOS apps.
Each app will be purchased individually but I'd like in-app purchases within any of the apps to be universal. ie, pay for it in one app of the series, it's available in any other apps installed to use too.
Is this possible without forcing the user to create an account of any sort?
Many thanks

Answer is NO, Reason is all your IAP are identified by the bundle identifier and that is unique for each application, as all the IAP's are specific to the bundle identifier you can not share those.
There is another way of achieving what you asking for, I don't know all your requirements still I would NOT follow this solution, still I am writing to know some options.
You can sharing the keychain across the applications and keep track of purchases across apps.
Keychain data is not deleted on deletion of the app
If user resets/restore phone keychain data can get deleted and you will be at dead end, as user has to restore the content from your 1st application to use in 2nd application... (yeah confusing.. right ?)
There may be some other complications I am missing right now.. good luck

Related

Is there any way to add pre-existing users to the "paid list" for new iOS in-app purchases?

I am in a tricky spot and I am trying to figure out the best way to proceed. I released an app a few months ago and have charged a few hundred people $.99 for it. I am now interested in making the app free with in-app purchases. How can I make it so that whoever has already paid for it, doesn't need to pay again? Can I programmatically "white list" them? And then just charge future users?
I have integrated with Game Center so I was toying around with the idea of checking for users on the leader boards already?
I can't make a separate app, I just was wondering if there was any API or route I could use to achieve this.
Thanks!
Here's a potential strategy:
1) Make your in-app purchase essentially a toggle that enables access to some features or resources in your app.
2) Change the name or location of some key file. The database would be easiest (if you have one), but also look for user defaults or other saved files.
3) On launch of your new version, check to see if that older thing exists - if so, save a marker key into the keychain for the app (and if you renamed the database move the old version to the new name/location!). The keychain is a nice place to put this as it persists between app installs. I'm not sure if iCloud backs it up though.
4) Now when checking for a feature look for that marker key in the keychain in addition to asking Storekit if they have purchased the items you want unlocked for them.
5) In the UI block purchase and indicate they have already paid.
That's about the best you can do, they may have deleted the app altogether and in that case there's nothing you can do to help them... you may want to also make some kind of one-time use code that could unlock the feature in the same way (except that the code would be verified by your app against your server so that it could only be used when you allowed it), that way that you could help out individuals contacting you saying they had purchased the app before. There's no way to verify that but it's just good customer service to let them have the upgrade anyway.

Identical apps on App Store

Is it possible to have the same identical app on App Store, but under two different developer accounts, and slightly different names?
I need to move an app from one dev account to another, but I would like it uploaded on the new account before removing it from the old one.
Anyone have experience with this?
The two apps will have to have unique and different iTunes Connect names and different Bundle IDs. The only sure way to determine whether or not this is possible is to submit the new app, and see if Apple approves it.
I've seen the same app "Smart Alarm Clock" by Arawella corp being sold both as a free version and as a paid version. They essentially have the same app twice in the app store, just with different icons. If a company that big can get away with that, you can probably too (paid and free version)

Will Appstore accept this kind of application?

So I already have 2 versions out on appstore..
One app is a free but limited version.
The other is a paid unlimited. The basic layout..
I have had questions from companies wanting to buy the app and give to their employees. So they don't have to buy the app with their personal accounts..
So I was thinking of releasing a 3rd version that prompts the user for a license key on first start, if the key is valid the app starts and works until reinstalled or w/e. If the key is invalid the app just keeps prompting for a valid license.
Now I remembered reading somewhere that apple wouldn't allow apps that had no public function or something like that. Which this app wont have unless u have a valid license..
But since I do also provide a valid public version of the app, will this one get accepted? Or have they removed theese rules?
Any insight in the matter would be helpful!
Edit:
Forgot to mention that the reason im looking to use the license is because i have the same app for android and want the companies to be able to buy for both device types, not just apple devices.
Thanks
I believe you should use the B2B functionality in ITunes Connect: http://developer.apple.com/support/ios/volume-purchase-program.html
Also check: https://developer.apple.com/appstore/resources/volume/
I did something very similar to this some time ago, they seemed ok with it (then at least), they just asked for a license key in the complementary info (during the app submission) to go through all their usual validation tests.
Klassmating has an app in the app store that has no public functionality unless you are a student at a specific university. So it seems like you can have apps like that.
Without knowing exactly, I would assume Apple would reject such an app from the store (mainly because it would allow you to sell applications "behind their back" - i.e. sell licence keys and not using in-app purchase) :-)
However, there are two possible solutions to your problem that come to my mind:
Create and distribute gift codes (would be a problem if you had to give out too many of them).
Do an ad-hoc distribution of your app to the companies. Basically they would need your application bundle and an ad-hoc mobile provision file. Then they can simply install your application by dragging it to iTunes.
There are different official iPhone application distribution methods.
In which for your current requirement,I suppose you can use the Custom B2B Apps,where you can deliver apps directly to your business customers who have a Volume Purchase Program account.You can get more information from the link provided above.
cheers!
Yes, I too have had an app in the app store which works like this. You have to provide them with a key/licence to access the app functionality so they can test it fully.
I've had an app rejected for this very reason - required a username and password, not a licence key, but was free. They said in contravened the licence terms regarding in app purchases.
Mine allowed time limited free trials from within the app, but full functionality was restricted to purchases outside the app. Apple wanted their 30% cut of the subscription cost so it was no dice for us.
On the other hand, the app store review process is seemingly entirely random, so who knows.

In App Purchase Content for a Different App

I currently have an app that is divided into multiple apps. I'd like to combine them all into a single application with the ability to use In App purchasing to download the parts currently held in multiple apps. Is there a way that I can allow people who currently own the individual apps to somehow make an In App purchase that unlocks the parts in the single app?
The most obvious solution is to use a web server holding user accounts and in-app purchases. If you require an offline solution, I will suggest you to use iCloud Keychain, you can mark your apps sharing the same keychain in XCode.
To enable keychain sharing:
-Select the target in XCode
-Go to capabilities
-Enable keychain sharing
-Add a group with same name for all apps.
After all your apps will be able to reach this shared data.
If you are not familiar with keychain this tutorial will be a good start. Keychain is not that complicated.
EDIT: woops didn't even notice I'm answering a 3 year old question.

Publishing similar apps in AppStore

I have some questions that I think some one here can help me ...
I have published 5 apps in AppStore that brings news to the users, for different countries. One app per country, because no one want's to read the news of other countrys. Now, I have submitted 3 more apps to publish and Apple reject it, because they say that I need to use "In App Purchase" because the apps are similar ...
I have seen many similar apps published by the same user .. so, my question is, how can I publish many similar apps without "In App Purchase"?
I have used the same "bundle Id" for all of my apps .. Is it wrong? I need the create one bundle Id per app to get this work and the ok by Apple?
Thanks you very much and sorry for my limited english!!
Since Apple released the App Store Review Guidelines, one of them is that developers should not "spam" the app store with multiple versions of the same app with minor changes.
What Apple wants from you right now is to merge all your apps into one. Put all the news sources in one app, and let the user decide which to read. You can write code to disable and/or hide other news sources that the user doesn't want to see.
Or, as Apple said, if you want to charge for each individual news source, then use In-App purchase to control access to each news source.
If you are charging, I won't get into the legality of charging people to read news that you don't own - I'm sure you've considered that.
Source: App Store Review Guidelines
2.20 Developers "spamming" the App Store with many versions of similar apps will be removed from the iOS Developer Program
At least you need to create unique bundle ID's for each application you distribute through the App Store.
It is possible that Apple still determines that the apps are identical even if they use different bundle ID's. In that case you might be able to get them approved by limiting the distribution countries in the store setup.
Maybe you should follow Apple's advice.
I know plenty of people who like to keep informed about news of other countries.
Such as people who have migrated and people who are on holiday?
Something to consider maybe.