我试图在我的游戏中实现应用程序内的购买,但是当我将可用产品的集合发送到我的产品请求函数时,这个集合就被清除了。
这是为了一个小的购买禁用广告。启动请求的按钮可以工作,fetchAvailableProducts中的fetchAvailableProducts包含正确的产品,但是productsRequest中的集合是空的。
func fetchAvailableProducts(){
// Put here your IAP Products ID's
let productIdentifiers = NSSet(objects: NON_CONSUMABLE_PURCHASE_PRODUCT_ID)
print(productIdentifiers as! Set<String>)
productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers as! Set<String>)
productsRequest.delegate = self
productsRequest.start()
}
extension IAPHandler: SKProductsRequestDelegate, SKPaymentTransactionObserver{
// MARK: - REQUEST IAP PRODUCTS
func productsRequest (_ request:SKProductsRequest, didReceive response:SKProductsResponse) {
if (response.products.count > 0) {
iapProducts = response.products
for product in iapProducts{
let numberFormatter = NumberFormatter()
numberFormatter.formatterBehavior = .behavior10_4
numberFormatter.numberStyle = .currency
numberFormatter.locale = product.priceLocale
let price1Str = numberFormatter.string(from: product.price)
print(product.localizedDescription + "\nfor just \(price1Str!)")
}
} else {
print("products list is empty")
}
}控制台输出是:
"com.me.myapp.noAds“
产品列表为空
我已经检查了协议,在我的应用程序中启动了应用程序内的采购,并在应用程序商店连接中添加了应用程序内购买:



发布于 2019-05-14 06:23:33
请检查一下您是否已经完成了下面的所有操作。
https://stackoverflow.com/questions/56123734
复制相似问题