在iOS的应用程序购买testing
我正在使用Xcode 8.0,Swift 3.0和在iPad上购买应用程序进行testing。 我想使用沙箱用户在应用程序购买testing。
设备的设置中没有添加帐户
问题是我没有得到产品列表响应产品请求代码。 请看我的代码:
let PRODUCT_ID_MY_PRODUCT = "com.company.ProjectName.MyProduct" // The ProducID in this code and ProducID on iTunes are the SAME. ✔️ override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) if productID == nil { productID = PRODUCT_ID_MY_PRODUCT } SKPaymentQueue.default().add(self) } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) startPurchases() } func startPurchases() { if (SKPaymentQueue.canMakePayments()) { let productIDs = NSSet(object: self.productID!) let productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers: productIDs as! Set<String>) productsRequest.delegate = self productsRequest.start() } } // Delegate Methods for SKProductsRequest func productsRequest (_ request: SKProductsRequest, didReceive response: SKProductsResponse) { let count : Int = response.products.count // THE PROBLEM IS HERE.. I AM GETTING COUNT IS ZERO.. MEANS response.products returning null ARRAY if (count>0) { let validProducts = response.products for aProduct in validProducts { print(aProduct.productIdentifier) } } else { DispatchQueue.main.async(execute: { UIAlertView(title: "Purchase !", message: "Product not available", delegate: nil, cancelButtonTitle: "OK").show() return }) } }
所以…..这就是问题:我得到response.products null(数组中没有数据)所以请帮我find解决scheme。 你可以在代码中看到注释://问题在这里。我得到的计数是零..手段response.products返回null ARRAY
我通过iTunes Connect创build了产品。 你可以看到下面的图片。 所有产品都处于“准备提交”状态。
iTunes上有一些警告
Your first In-App Purchase must be submitted with a new app version. Select it from the app's In-App Purchases section and click Submit. Once your binary has been uploaded and your first In-App Purchase has been submitted for review, additional In-App Purchases can be submitted using the table below.
和
我还创build了Sendbox用户来testing应用内购买。 看到下面的图片:
我错过了什么? 或者是什么错误? 哪里错误? 我想使用沙箱用户在应用程序购买testing
我解决了这个问题 有一些需要注意的地方。 见下文:
- 确保您的开发者帐户执行了付费应用程序合同。 见下图:
- 在iTunes Connect上创build产品。
- 实施应用内购买代码和configuration设置。
- 创build一个分布式configuration文件。
- 上传build立在商店。 将构build添加到当前版本。 在iTunes Connect上添加应用程序内购买版本。
- 然后尝试testing,如果仍然没有提交应用程序一次,然后取消它。 然后尝试在您的设备上进行testing。
- 确保在使用沙盒用户进行testing时,您需要通过设备设置从已经login的帐户注销,并使用沙盒ID进行login。
- 一些截图可能会有所帮助。
请检查这些设置function – >应用程序内购买 – >设置为“开”,并在developer.apple.com – >启用应用程序内购买应用程序ID。
并请在设备上而不是模拟器上testing应用程序。