我有一个iOS
应用,其中包含非消费品IAP Apple
托管内容。下载量非常大(约500MB)。
下载内容时,我必须保持交易"打开",并且只有在下载完成后才能完成交易。
问题是,每当我将应用程序从后台移动到前台(或打开应用程序)时,Store Kit
将自动请求重新进行身份验证,同时事务在队列中。
因此,如果我开始下载,请按主页按钮,返回应用,Store Kit
将要求我登录。
如果我重新登录或只是按"取消"即使重要也没关系,下载将继续。
无论如何都要摆脱这种重新认证请求吗?
答案 0 :(得分:0)
您可以使用SKPaymentTransactionStateDeferred
来避免这种情况。在启动时尝试恢复除SKPaymentTransactionStateDeferred
状态之外的所有事务。
<强>目标-C:强>
NSArray *transactionsInQ = [[SKPaymentQueue defaultQueue] transactions];
for(SKPaymentTransaction *transaction in transactionsInQ) {
if(transaction.transactionState != SKPaymentTransactionStateDeferred) {
// your code
}
}
<强>夫特:强>
let transactionsInQ = SKPaymentQueue.defaultQueue().transactions
for transaction in transactionsInQ {
if (transaction.transactionState != .Deferred) {
// your code
}
}