0

在我们的最新版本中,我们将我们的应用从付费转换为应用内订阅购买。我们向我们现有的用户承诺,我们会将他们加入订阅,因为他们已经为该应用程序付费。在我们的代码中,我们在第一个订阅版本之前寻找带有原始应用程序版本的有效收据。在我们的测试中,这一切都很好。

当我们发布新应用程序时,我们开始从我们的长期用户那里收到他们被要求订阅的反馈(他们甚至不应该看到订阅按钮)。当我们研究这个问题时,我们注意到所有这些用户都在 2014 年 9 月将应用程序转移给新的开发者之前购买了我们的应用程序。

重现这个问题很困难——我们如何模拟 2014 年的应用安装?我可能能够以受影响用户之一的身份登录,这将涉及使用他们的 Apple 凭据。我不太愿意要求用户分享他们的凭据。

由于我无法重新创建它,而且我们的代码非常简单,所以我对正在发生的事情的最佳猜测是,我们没有收到在 2014 年应用程序转移之前购买的用户的有效收据。

所以,我有几个问题:

  1. 有没有其他人经历过这个?
  2. 如果是这样,您是如何解决的?
  3. 你会如何解决它?

仅供参考 - 我已向 Apple (3045378) 提出问题。

4

1 回答 1

0

在与 Apple Developer Technical Support 交谈时,我们发现了一种使用最近发布的统一日志记录功能从设备中提取 NSLog 消息的方法。我们的几个用户提交了他们的日志,这清楚地表明他们获得了有效的收据,但这些收据最初购买的版本是 4 和 2.8。

鉴于我们当前的版本是 1.7.1,这些都是奇怪且非典型的数字。但是,收据上报告的原始应用程序版本实际上是 CFBundleVersion(或 Build),它可以是与 App Store 中报告的应用程序版本完全不同的字符串。

我假设在应用程序传输之前的开发人员使用的构建编号系统与标准 ... 方案不同。

我在我的代码中完善了版本检查并重新提交了应用程序。它于今天发布,到目前为止,一切都得到了正确的继承。

于 2017-02-22T06:57:07.823 回答