繁体   English   中英

iOS InApp 购买在生产中不起作用(在 testflight 中可以)

[英]iOS InApp purchases do not work in Production (okay in testflight)

我在应用中有 3 个应用内购买。 在生产中的版本上,我 go 在屏幕上选择订阅计划。 当我单击订阅按钮时,没有打开底部表格来确认价格/订阅并要求用户进行验证。

它在 testflight 中运行良好,具有完全相同的构建:

单击订阅按钮时的测试飞行屏幕截图

确认购买后试飞截图

问题来自传递给代码中使用的 validateIosReceipt function 的错误参数第二个参数在生产中应为 false (isTests),否则将调用错误的收据验证 url

但这意味着不能将相同的构建用于 TestFlight 和 Production,对于 TestFlight,该参数应为 true,但在生产中应为 false

您可以在 Bundle 上使用此扩展来确定isTests参数的正确值:

public extension Bundle {
    var isTests: Bool {
        #if DEBUG
            return true
        #else
            return self.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"
        #endif
    }
}

对于调试和 TestFlight 构建,这将返回true ,对于生产构建则返回false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM