iOS 上的应用内购买不会在 Swift 上获取产品 4
In App Purchase on iOS doesn't fetch product in Swift 4
我正在尝试像这样从 App Store Connect 获取应用内购买:
private let kOneMonthSubscriptionId = "DOUBLESPEEDENERGY"
func loadProducts() {
let identifiers = Set([kOneMonthSubscriptionId])
let request = SKProductsRequest(productIdentifiers: identifiers)
request.delegate = self
request.start()
}
override func viewDidAppear(_ animated: Bool) {
if SKPaymentQueue.canMakePayments()
{
loadProducts()
}
}
extension homeVC: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
if response.products.count > 0 {
print("Purchasable products available!")
// 1. Save the SKProduct's so you could let the user make a purchase
// 2. Update the UI - it lets you change the product prices without updating the app
} else {
print("No purchasable products available.")
// This might happen when your product identifiers are incorrect or your in-app purchases products weren't processed on iTunes Connect yet
}
}
请查看我的代码是否有问题,非常感谢!
在此先感谢您的帮助!
最可能的原因是您没有在 App Store Connect(协议、税务和银行部分(付费应用))中设置应用内购买的银行方法,如果您没有,那么您的应用无法访问应用内购买服务,因为即使您处于沙盒环境中,它也不知道在哪里付款。
如果这没有帮助,请查看它不起作用的其他一些可能性:
- 您没有使用明确的 App ID。
- 您没有使用配置
与您明确的 App ID 关联的配置文件。
- 您没有使用
正确的代码中的产品标识符。
- 您没有清除在 iTunes Connect 中销售的应用内购买产品。
- 您可能已经修改了您的产品,但这些更改尚未适用于所有 App Store 服务器。
希望对您有所帮助!
我正在尝试像这样从 App Store Connect 获取应用内购买:
private let kOneMonthSubscriptionId = "DOUBLESPEEDENERGY"
func loadProducts() {
let identifiers = Set([kOneMonthSubscriptionId])
let request = SKProductsRequest(productIdentifiers: identifiers)
request.delegate = self
request.start()
}
override func viewDidAppear(_ animated: Bool) {
if SKPaymentQueue.canMakePayments()
{
loadProducts()
}
}
extension homeVC: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
if response.products.count > 0 {
print("Purchasable products available!")
// 1. Save the SKProduct's so you could let the user make a purchase
// 2. Update the UI - it lets you change the product prices without updating the app
} else {
print("No purchasable products available.")
// This might happen when your product identifiers are incorrect or your in-app purchases products weren't processed on iTunes Connect yet
}
}
请查看我的代码是否有问题,非常感谢!
在此先感谢您的帮助!
最可能的原因是您没有在 App Store Connect(协议、税务和银行部分(付费应用))中设置应用内购买的银行方法,如果您没有,那么您的应用无法访问应用内购买服务,因为即使您处于沙盒环境中,它也不知道在哪里付款。
如果这没有帮助,请查看它不起作用的其他一些可能性:
- 您没有使用明确的 App ID。
- 您没有使用配置 与您明确的 App ID 关联的配置文件。
- 您没有使用 正确的代码中的产品标识符。
- 您没有清除在 iTunes Connect 中销售的应用内购买产品。
- 您可能已经修改了您的产品,但这些更改尚未适用于所有 App Store 服务器。
希望对您有所帮助!