【问题标题】:iOS IAP Sandbox - is it possible to test on a different bundle IDiOS IAP 沙盒 - 是否可以在不同的捆绑包 ID 上进行测试
【发布时间】:2018-06-14 04:26:17
【问题描述】:

这与这个问题基本相同:Test iPhone in-app purchases on a different bundle? from 2010 - 从来没有一个被接受的答案,而且两个未被接受的答案都是推测而不是规范。

使用 React Native 和 Firebase 开发应用。我们使用 Crashlytics beta 发送 beta 测试版本,这些版本通过稍微不同的捆绑 ID 工作 - 例如:com.companyname.appname 用于生产应用程序,com.companyname.appname.dev 用于测试版。在 xCode 中,这是通过两个不同的构建目标来处理的,并且这些目标还具有与之关联的不同 Google Info plist(为了使用 prod/dev firestore 数据库)。

现在我们正在努力添加应用购买,我遇到了一个问题,为了在发布前正确测试它们,捆绑 ID 似乎需要完美匹配(没有通配符)。

我不希望使用生产版本进行测试,因为这意味着将测试人员指向生产数据库,但感觉就像 Apple 设计了一个强制执行此操作的系统。感觉必须有一个更好的方法,我错过了。其他人如何处理 iOS 应用的 IAP 测试?

【问题讨论】:

    标签: ios in-app-purchase app-store-connect


    【解决方案1】:

    您需要为同一个 App 使用相同的 Bundle Identifier 来测试 IAP。

    1. 如果您的应用程序包含 DEV Mobile Provisioning Profile,那么它会自动链接到沙盒模式。你只需要创建沙盒测试器到https://itunesconnect.apple.com
    2. 如果您需要测试自动续订 IAP,也可以这样做。 Apple 提供沙盒和生产 URL 以针对所有先前购买的 IAP 返回到 App 进行通信。如需自动续订,请查看此link

    【讨论】:

    • 关于 DEV Mobile Provisioning 配置文件 - 如果您使用 xCode 托管配置文件,这将如何工作?
    • 您的设备是使用 Apple 开发者帐户配置的,当您尝试运行或调试您的应用程序时,此时它被视为沙盒模式。如果您的应用在被视为生产模式时从 AppStore 下载。
    • hmmm... 我认为你是对的,因为捆绑 ID 必须相同。我将这个问题留一两天,希望有人回答他们如何在实践中应用这个问题(允许使用 Fabric 等工具对应用内购买进行 beta 测试),但我会将你标记为正确根本问题的答案。
    【解决方案2】:

    我只需使用开发包 ID (com.companyname.appname.dev) 创建另一个 App Store Connect 记录,然后在两个记录中创建相同的 IAP 配置,就可以让它工作。这不是很漂亮,但它比在多个环境中使用相同的 bundle id 更好。

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 2011-11-28
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多