ios – 有没有办法从StoreKit API中获取SKPayment的SKProduct?

鉴于SKPaymentTransaction是否有办法获得SKProduct?

我正在尝试实施一个通用的SKPaymentTransactionObserver,它将允许我的应用程序收到所有发生的应用内购买的通知.我已经实现了SKPaymentTransactionObserver接口,我得到了paymentQueue:updatedTransactions:正确回调.在我的回调中,我可以访问SKPaymentTransaction对象,从那里我可以获得SKPayment对象.从付款我无法找到获得SKProduct的方法.

这是令人沮丧的,因为必须使用SKProduct创建SKPayment,但界面仅允许用户获取productIdentifier.创建SKPayment

实际上,我希望能够访问所花费的成本,数量和本地货币,这些都是SKProduct的属性.

我可以看到这样做的唯一方法是调动[SKPayment paymentWithProduct:]`并拦截付款创建,这是一个可怕的前景.

解决方法

我认为现在不可能从SKPaymentTransaction或其SKPayment对象获取该信息.

您可以通过设置带有一个或多个产品标识符的SKProductRequest来查询此信息.响应由productsRequest:didReceiveResponse处理.

Apple的文档有一个很好的例子,说明如何做到这一点here.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...