草庐IT

SKPaymentQueue

全部标签

iphone - SKPaymentQueue restoreCompletedTransactions 多次恢复同一交易

我通过iTunesconnect在购买时设置了6个月的自动续订订阅。我创建了一个测试用户并购买了该订阅,现在当我尝试恢复我的购买时,它在的交易数组中多次返回相同的交易-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions我使用以下代码来恢复我的购买。[[SKPaymentQueuedefaultQueue]addTransactionObserver:self];[[SKPaymentQueuedefaultQueue]restoreCompletedTransaction

ios - SKPaymentQueue addPayment 抛出异常

我已经在Apple的门户中配置了我的iOS应用程序的应用内购买,我正在使用SKProductsRequest请求我的产品,并正确接收并将它们存储在NSMutableDictionary中。-(void)productsRequest:(SKProductsRequest*)requestdidReceiveResponse:(SKProductsResponse*)response{NSLog(@"%@",@"AppStore:Accepted");for(SKProduct*sinresponse.products){NSLog(@"[%@]",s.productIdentifier

objective-c - iOS 应用内购买 : only one payment added to the SKPaymentQueue but a SKPaymentTransactionObserver method is getting called multiple times

我正在使用测试用户(在沙箱中)测试IAP,我有一个实现SKPaymentTransactionObserver协议(protocol)的类,当用户选择某个TableView单元格时,我启动支付:SKPayment*payment=[SKPaymentpaymentWithProductIdentifier:productIdentifier];[[SKPaymentQueuedefaultQueue]addPayment:payment];这只完成一次,我已经检查过:代码被调用一次。问题是“-(void)paymentQueue:(SKPaymentQueue*)queueupdate

ios - 在应用程序购买崩溃 - [[SKPaymentQueue defaultQueue] addPayment :payment];

我遇到了崩溃并显示以下错误消息:[FilterPurchaserespondsToSelector:]:发送到释放实例0x1edacba0的消息这发生在这一行:[[SKPaymentQueuedefaultQueue]addPayment:payment];问题发生在我加载InAppPurchaseView,然后从superview中删除该View,然后重新打开它并单击进行购买时。有没有人对我如何纠正这个问题有任何想法。不知道以上信息是否足以解决问题。不知道这是否与它有任何关系,但它在每次加载时都会被调用。[[SKPaymentQueuedefaultQueue]addTransact

ios - 相同的应用程序、相同的测试用户、具有不同 SKPaymentQueue 内容的两个不同设备。什么会导致这个?

我有两部iPhone用于测试我的应用。在设备A上:NSLog(@"UnfinishedTransactions:[%i]",[[SKPaymentQueuedefaultQueue].transactionscount]);输出:“未完成的交易:[0]”当我做的时候:[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions]函数-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions调用时使用事务数组中的17个项目,每

ios - SKPaymentQueue restoreCompletedTransactions : no transaction restored

我无法在我的paymentQueue:updatedTransactions:委托(delegate)方法中接收任何交易。只有委托(delegate)方法paymentQueueRestoreCompletedTransactionsFinished:被调试器命中。当我尝试检索事务数组时,我得到一个空数组。首先,我购买了非续订产品。购买成功并通过服务器验证后,将从支付队列中移除。在启动时,我调用了paymentqueuesrestoreCompletedTransactions方法。正如预期的那样,Storekit要求我输入我输入的密码(来自沙箱用户)。但是更新方法不会被咳嗽。只有fi

ios - 如何在 Rx Observable 中包装 SKPaymentQueue

有谁知道您将如何包装SKPaymentQueue在RxObservable中?SKPaymentQueue要求您注册一个符合SKPaymentTransactionObserver的观察者。通过SKPaymentQueue.addTransactionObserver方法。到目前为止,我已经尝试了以下方法,但它不起作用。我怀疑是因为观察者代理在被调用之前被释放了。感觉我在这里缺少某种惯用的Rx技巧:classStoreService{letpaymentQueue=SKPaymentQueue.defaultQueue()funcpurchase(product:SKProduct)-

ios - 处理 IAP 时何时从 SKPaymentQueue.default 添加和删除自己

我的应用程序内有IAP,但我忍不住觉得我在调用时做错了什么。我应该在什么时候调用这些方法?SKPaymentQueue.default().add(self)以及何时调用SKPaymentQueue.default().remove(self)谢谢大家 最佳答案 1。添加观察者您应该尽快将观察者添加到队列中。在您的应用委托(delegate)中的application(_:didFinishLaunchingWithOptions:)函数中的某处。在add(_:)中提到documentation:Yourapplicationsho

iphone - [[SKPaymentQueue defaultQueue] addTransactionObserver :observer]; 上的应用程序崩溃

这就是我在applicationDidBecomeActive中执行崩溃时所能得到的全部内容MyStoreObserver*observer=[[MyStoreObserveralloc]initWithContext:self.managedObjectContextandDelegate:self];[[SKPaymentQueuedefaultQueue]addTransactionObserver:observer];但奇怪的是,我之前已经可以购买两次了,即使我删除了应用程序重新运行所有内容,我也无法逃脱这个坑。好像不合逻辑。我可以毫无问题地单独分配观察者,我可以毫无问题地调用

ios - skpaymentqueue canmakepayments 内存泄漏检查

我运行Instrument来检查我的应用程序中的Leaks。它有1个新的泄漏[SKPaymentQueuecanMakePayments]每次启动甚至没有调用支付代码。 最佳答案 根据这个日期,SKPaymentQueue的CanMakePayments有内存泄漏,你不能用它做任何事情,因为它是Apple的。有很多在Apple中打开的票都有同样的问题。它也存在于iOS10上。希望他们能解决这个问题。引用:https://forums.developer.apple.com/thread/22312