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

Mar*_*ain 7 objective-c storekit in-app-purchase ios

鉴于SKPaymentTransaction有没有办法获得SKProduct

我正在尝试实施一个通用程序SKPaymentTransactionObserver,以便我的应用程序能够收到所有发生的应用内购买通知.我已经实现了SKPaymentTransactionObserver接口,我正在paymentQueue: updatedTransactions:正确地进行回调.在我的回调中,我可以访问该SKPaymentTransaction对象,从那里我可以获得该SKPayment对象.从付款我找不到办法来获得SKProduct.

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

真的,我希望能够访问花费的成本,数量和本地货币,这些都是SKProduct.

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

小智 6

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

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

Apple的文档有一个很好的例子,说明如何在这里做.


Rao*_*Rao 6

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

如果你有一个SKProducts数组,你可以从事务对象中获取productIdentifier,通过查找productIdentifier的数组,你可以获得产品信息,

transaction.payment.productIdentifier
Run Code Online (Sandbox Code Playgroud)