Ios 如何使IAP在所有设备上都可用?

Ios 如何使IAP在所有设备上都可用?,ios,in-app-purchase,in-app-billing,Ios,In App Purchase,In App Billing,我的应用程序提供了应用程序内购买,以获取一些新闻提醒作为推送通知。推送通知应发送到与用于购买的相同Apple ID关联的所有设备 目前,我想在“设置”屏幕上放置一个按钮来恢复应用程序内购买,以检查该功能是否在其他设备上购买 有没有更好的方法来处理这项任务?如果是这样的话,任何提示/建议都将不胜感激 恢复购买选项是正确的选择,可能应该在用户删除并重新安装应用程序时出现。您应该使用恢复购买功能: [[SKPaymentQueue defaultQueue] restoreCompletedTrans

我的应用程序提供了应用程序内购买,以获取一些新闻提醒作为推送通知。推送通知应发送到与用于购买的相同Apple ID关联的所有设备

目前,我想在“设置”屏幕上放置一个按钮来恢复应用程序内购买,以检查该功能是否在其他设备上购买


有没有更好的方法来处理这项任务?如果是这样的话,任何提示/建议都将不胜感激

恢复购买选项是正确的选择,可能应该在用户删除并重新安装应用程序时出现。

您应该使用
恢复购买功能:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
它将恢复用户在该帐户上的所有购买、在同一ios设备上的天气状况,或在不同的ios设备上的天气状况


另外,作为补充说明,如果您在应用程序内购买
而不包括
恢复
功能,您的ios应用程序将不会被Apple接受,或者在iOS7中,使用SKReceiptRefreshRequest

self.refreshRequest = [[SKReceiptRefreshRequest alloc] init];
self.refreshRequest.delegate = self;
[self.refreshRequest start];
还要注意,这种简单的恢复过程并不一定适用于所有类型的产品。例如,至少在iOS6上,restoreCompletedTransactions不会恢复不可续费的订阅。但在iOS7中,情况似乎更为复杂(请参阅)。

无论如何,您都需要一个“恢复”按钮。