iOS 应用内购买 + Today Extension 小部件

iOS in-app-purchase + Today Extension widget

所以我有一个需要订阅(通过 IAP)的应用程序,它提供了一个 Today Widget。在小部件(以及应用程序)中,我使用 RMStore 检查捆绑包中的应用程序收据以获取有效订阅。它在沙箱中运行良好,包括通过 TestFlight 安装时。但是今天,该应用程序获得了 Apple 的批准,我一测试店内上架版本,当主应用程序在应用程序收据中看到用户购买时,Today Extension 没有读取应用程序收据,从而发现没有订阅!

Today Extension 和主应用程序都使用完全相同的代码来读取应用程序收据并查找订阅信息。为什么它可以在主应用程序而不是扩展中运行?这是一个已知的问题?它与 RMStore 而不是 StoreKit 本身有关吗?有什么事 clever/different 我必须做的吗?

我在想这个问题可能与收据验证有关——例如,沙盒中的捆绑包标识符与扩展的 App Store 中的包标识符是否不同?

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

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

所以关于收据的信息(即收据本身,或者处理收据的一些结果)需要通过通常的方式从包含应用程序传递到扩展程序,即使用 shared container and maybe file coordination