Guideline 4.3 - Design - Spam - In app purchases

I have a few apps that are in the App Store for 2 years, but now they have been rejected because of the Guideline 4.3 - Design - Spam.


All these apps have In app puchases and hundreds of users paid for them. I'm aware that these purchases cannot be transfered to our new "container" app, and my question is: what would be the best approach for the users to have their purchases in this new app? It seems to me that we're only allowed to issue 100 promo codes for each in app purchase, what wouldn't be enough for us.


Have anyone else experienced the same problem?


Thank you!

Answered by PBK in 296706022

I believe your question is - how can I transfer IAPs purchased under one or more apps to a new 'container app' that I am creating to satisfy Apple's 4.3 issue.


Revise the current app so it:

1) flashes an introductory screen telling the user that the app functionality has been transferred to a new container app that they can download for free from the App Store. Include a link to that new app. Apologize for this inconvenience caused by Apple's new policy. Tell the user that this will allow them to access multiple 'thingies' (e.g. Barber shops, movie theaters, museums) all under the new app.

2) load the user's purchased IAPs into their key-value file in their iCloud account or use the shared space in the keychain or a shared NSUserDefaults file

3) Tell App Review in the review notes that this revision is being pushed into the App Store to switch users to the new container app.


Create a new container app that looks at the shared space to credit the user with their IAPs.

Accepted Answer

I believe your question is - how can I transfer IAPs purchased under one or more apps to a new 'container app' that I am creating to satisfy Apple's 4.3 issue.


Revise the current app so it:

1) flashes an introductory screen telling the user that the app functionality has been transferred to a new container app that they can download for free from the App Store. Include a link to that new app. Apologize for this inconvenience caused by Apple's new policy. Tell the user that this will allow them to access multiple 'thingies' (e.g. Barber shops, movie theaters, museums) all under the new app.

2) load the user's purchased IAPs into their key-value file in their iCloud account or use the shared space in the keychain or a shared NSUserDefaults file

3) Tell App Review in the review notes that this revision is being pushed into the App Store to switch users to the new container app.


Create a new container app that looks at the shared space to credit the user with their IAPs.

Hi PBK, thank you for your response.


Would you please point to some code sample for your point 2:


2) load the user's purchased IAPs into their key-value file in their iCloud account or use the shared space in the keychain or a shared NSUserDefaults file

I was under the impression that previous IAPs from other apps would not be valid under the new app.


Thanks for your attention!

I understand what you mean. But later on if the user deletes the "container" app or install it on another device he won't be able to restore the IAPs from the App Store.

iCloud Key-value - no problem. Shared with user's iCloud Account credentials to any device. (Note, iCloud Account differs from iTunes Account for some users so there might be some early confusion and some pilfering.)

keychain - works on that device only. survives deletion and reinstallation of app. new device will require installing that 'old app' on the new device.

NSUserDefaults - requires installing that old app again after app deletion or a new device.


Of course, this is an ongoing problem only for non-consumable IAPs. You should switch the user to a new subscription IAP at the next renewal period by a notice in the new app to terminate their old autorenewable subscription and re-purchase on the new app.

Thank you for your time, responses and links. We're looking into it.

Guideline 4.3 - Design - Spam - In app purchases
 
 
Q