[英]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.