我在 App Store 中有一个应用程序,它使用应用程序内购买项目来解锁完整的功能集。在迄今为止的所有版本中,更新从来都不是问题。客户可以从 App Store 下载新版本,之前购买的“完整版项目”仍然有效:更新后仍然可以使用完整版。
今天我发布了一个新版本的应用程序,一些客户报告了完整版的问题:更新后,该应用程序仅作为有限试用版运行。该应用程序似乎“忘记”了有关 IAP 的信息。
我使用 MKStoreKit 处理购买,有关 IAP 的信息存储在 KeyChain 中。用户可以通过调用相应StoreKit函数的应用内的“恢复之前购买功能”恢复完整版。
钥匙链中的信息怎么会丢失?
我不知道是所有客户都受到此问题的影响,还是其中一些客户受到影响。我只能说,很多人都报告了这个问题。
我不知道问题可能是什么。
这是第一个使用 iCloud 的版本,因此它是第一次将权利文件包含在应用程序中。这可能是问题的根源吗?
权利文件中的“钥匙串访问组”属性设置为“xy.mycompany.MyApp”,这与捆绑标识符相同。
我认为如果没有权利,应用程序在密钥链中使用“xy.mycompany.MyApp”来存储 IAP 信息,并且权利文件中的信息只是让不同的应用程序在密钥链中共享相同的信息。因此,我不确定这是否与 IAP 问题有关。
你怎么看?有什么想法或建议吗?