Open inPhilly opened 6 years ago
RMStore can save transactions in the keychain (see Transaction Persistence). If you use RMStore's Transaction Persistence to save and restore information about in-app purchases, this information will be lost if you change the App ID prefix.
This is not a problem if you have in-app purchases that can also be restored from the App Receipt, like non-consumables or auto-renewing subscriptions. Users can then use your "Restore purchases" functionality to restore previous purchases in your app. This will continue to work even with a new App ID prefix.
If your app offers in-app purchases whose transactions are not kept in the App Receipt (e.g. consumables), and you use Transaction Persistence to keep a record of these transactions, these transactions will be lost if you change the App ID prefix.
I wouldn't expect RMStore to crash or otherwise malfunction just by changing the App ID prefix.
I have to change the prefix for my AppID to my Team AppID's prefix. But according to this technical document, this is going to cause issues for apps that use Keychain:
I don't really understand much about Keychain, but I know that RMStore uses it, and my app uses RMStore, and when the AppID prefix is changed, it will change all apps that have already been deployed.
I know this isn't an issue so much as begging for someone to help me, but I can't figure out if changing the AppID prefix will cause the app to crash because of RMStore, or if the purchases won't be able to be restored, or if something else terrible will happen. If anyone at all has any idea what this code is doing with Keychain and what the consequences will likely be of 'A one-time loss in keychain data', I would appreciate so much if you could share any insights with me. Thanks in advance to anyone who is moved to answer - I am a lone developer with no one to ask questions of, and I am really hurting with this right now.