私はこの問題を数時間グーグルで調べました。私は次のようなことを試みました:
- バンドル ID と製品 ID が完全に正しいことを確認します
- シミュレーターと実際のデバイスの両方でアプリを削除して再インストールする
- 「productID」と「com.company.project.productID」の両方を試しました
- iTunes Connect の IAP も正しく設定する必要があります
唯一わからないのは、iTunes コネクトで銀行と税金の項目を入力していないことです。実は銀行情報を入力したところですが、更新には 24 時間かかります。
私のコードは次のようになります
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Set IAPS
if(SKPaymentQueue.canMakePayments()) {
println("IAP is enabled, loading")
var productID:NSSet = NSSet(objects: "ProductID")
var request: SKProductsRequest = SKProductsRequest(productIdentifiers: productID as Set<NSObject>)
request.delegate = self
request.start()
} else {
println("please enable IAPS")
}
}
func productsRequest(request: SKProductsRequest!, didReceiveResponse response: SKProductsResponse!) {
println("product request")
var myProduct = response.products
for product in myProduct {
println("product added")
println(product.productIdentifier)
println(product.localizedTitle)
println(product.localizedDescription)
println(product.price)
list.append(product as! SKProduct)
}
}
このコードは例からのもので、私のシミュレーターでは非常にうまく機能しました。しかし、ProductID を自分の productID (もちろん bundleID も) に置き換えると、SKProductsrequest は何も返さなくなります。
理由がわかりません。誰かが私を助けてくれることを願っています。どうも!