应用内购买:卡在paymentWithProductIdentifiers上 - 这个已经被弃用

4

我遇到了设置应用内购买的问题。

我无法正确地完成以下步骤:

SKPayment *paymentRequest = [SKPayment paymentWithProduct: @"co.za.nideo.100shotsbuybeer"];

我从这里得到了它

SKPayment *paymentRequest = [SKPayment paymentWithProductIdentifiers: @"co.za.nideo.100shotsbuybeer"];

但这似乎已经被弃用了。我如何使第一个代码片段正常工作?

它似乎需要一个SKProduct,但我不知道如何创建/初始化这样的对象。

1个回答

10
根据 StoreKit 的文档和 [1],您需要:
  1. 使用您的产品标识符创建一个 SKProductsRequestinitWithProductIdentifiers:)。
  2. 将自己设置为 delegate
  3. 向苹果发送此请求(start 方法)。
  4. 响应将调用您的代理的 productsRequest:didReceiveResponse:,其中包含一个 SKProductsResponse 对象。
  5. products 属性中提取 SKProduct 对象并显示它们,保存这些对象以便进行进一步的购买。

这似乎符合来自 [1] 的 重要提示:在允许用户购买某个产品之前,您必须为特定的产品标识符发出产品请求。从 App Store 检索产品信息可以确保您正在使用标记为可销售的产品的有效产品标识符。

[1]http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RetrievingStoreInformation/RetrievingStoreInformation.html#//apple_ref/doc/uid/TP40008267-CH2-SW1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接