iOS还原订阅按钮不总是工作

iOS还原订阅按钮不总是工作,ios,objective-c,in-app-purchase,app-store,subscription,Ios,Objective C,In App Purchase,App Store,Subscription,我有一个非自动订阅的iOS应用程序。我在应用程序中添加了一个恢复按钮,允许用户在另一部手机上安装应用程序时恢复订阅。但是,用户正在经历异常行为 一些用户可以恢复他们的订阅,而对于一些用户来说,恢复按钮什么也不做,似乎苹果甚至从未调用paymentQueue()回调 我打电话来 SKPaymentQueue.defaultQueue().restoreCompletedTransactions() 我发现了这个,似乎表明你需要先打电话给这个 let receiptRefreshRequest:

我有一个非自动订阅的iOS应用程序。我在应用程序中添加了一个恢复按钮,允许用户在另一部手机上安装应用程序时恢复订阅。但是,用户正在经历异常行为

一些用户可以恢复他们的订阅,而对于一些用户来说,恢复按钮什么也不做,似乎苹果甚至从未调用paymentQueue()回调

我打电话来

SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
我发现了这个,似乎表明你需要先打电话给这个

let receiptRefreshRequest: SKRequest = SKReceiptRefreshRequest()
receiptRefreshRequest.delegate = self
receiptRefreshRequest.start()

同样在我们自己的测试中,在我们订阅之后,我们转到iPhone设置/Apple ID/订阅,它是空的??还是苹果只管理自动续费订阅,而你自己管理非自动订阅

另一个奇怪的行为是,我正在将订阅记录存储在iCloud中,因此根据我的理解,如果同一用户在另一部手机上登录,他们应该仍然可以看到他们的订阅,即使不调用restore。但事实似乎并非如此??在同一部手机上重新启动应用程序后,在iCloud中存储似乎都不起作用

NSUbiquitousKeyValueStore *storage = [NSUbiquitousKeyValueStore defaultStore];

因此,我们转而在服务器上管理订阅跟踪


“跟踪和恢复非续费订阅是您的责任。Apple只处理自动续费订阅的恢复。”

跟踪和恢复非续费订阅是您的责任。Apple只处理自动续订订阅的恢复。