iOS应用内购买+今天扩展小部件



所以我有一个应用程序需要订阅(通过IAP),它提供了一个Today Widget。在小部件中(以及在应用程序中),我使用RMStore来检查bundle中的应用收据以获取活动订阅。它在沙箱中运行良好,包括通过TestFlight安装时。但是今天,这款应用获得了苹果的批准,当我测试了在线商店版本时,虽然主应用在应用收据中看到了用户的购买行为,但today扩展没有阅读应用收据,因此没有发现订阅!

今天扩展和主应用程序都使用完全相同的代码来读取应用程序收据并查找订阅信息。为什么它会在主应用程序中工作,而不是扩展?这是已知的问题吗?它是否与RMStore而不是StoreKit本身有关?有什么聪明的/不同的我必须做的吗?

我想也许这个问题与收据验证有关——例如,沙箱中的bundle标识符与扩展的App Store中的bundle标识符是否不同?

这真的很让人沮丧,因为我没有办法测试任何潜在的解决方案,除非重新提交到App Store,然后在它发布后进行测试,如果它有问题就将其从商店中删除,否则我会让用户为他们实际上没有得到的东西付费。

所有收据(应用程序购买和应用程序内购买)都存储在应用程序包中的一个文件中。应用程序扩展驻留在一个嵌套在应用程序包内的bundle中-所以如果它可以访问外部bundle中的收据文件(但值得通过调用appStoreReceiptURL进行检查),我会感到惊讶。

所以关于收据的信息(即收据本身,或处理收据的一些结果)需要通过通常的方式从包含应用程序传递给扩展,即使用共享容器和文件协调。

最新更新