SKReceiptRefreshRequest
全部标签 我在设备上本地使用收据验证并针对iOS7+我正在沙盒环境中测试应用购买中的自动续订订阅,我注意到了这种情况。-用户A在设备上登录iTunes帐户,在应用程序中购买订阅,获得应用程序收据。-用户A在设备上注销iTunes帐户,用户B登录-用户B启动应用程序-用户B将继续使用用户A的订阅,因为[[NSBundlemainBundle]appStoreReceiptURL]有效并将返回用户A的收据。为什么不返回用户B的收据? 最佳答案 必须刷新收据。SKReceiptRefreshRequest*request=[[SKReceiptRe
我在设备上本地使用收据验证并针对iOS7+我正在沙盒环境中测试应用购买中的自动续订订阅,我注意到了这种情况。-用户A在设备上登录iTunes帐户,在应用程序中购买订阅,获得应用程序收据。-用户A在设备上注销iTunes帐户,用户B登录-用户B启动应用程序-用户B将继续使用用户A的订阅,因为[[NSBundlemainBundle]appStoreReceiptURL]有效并将返回用户A的收据。为什么不返回用户B的收据? 最佳答案 必须刷新收据。SKReceiptRefreshRequest*request=[[SKReceiptRe
我正在iOS7上实现Apple的“Grandunifiedreceipt”,它允许应用程序在本地检查应用程序的购买收据,而无需联系Apple的服务器进行验证和验证。如果用户在应用程序中存储了收据,这将非常有效。如果应用缺少收据,最佳做法是请求应用刷新其收据,如下所示:SKReceiptRefreshRequest*request=[[SKReceiptRefreshRequestalloc]init];[requestsetDelegate:self];[requeststart];问题是调用此代码将要求用户使用他或她的AppleID登录。我不能100%确定这种情况是一直发生,还是仅在
我正在iOS7上实现Apple的“Grandunifiedreceipt”,它允许应用程序在本地检查应用程序的购买收据,而无需联系Apple的服务器进行验证和验证。如果用户在应用程序中存储了收据,这将非常有效。如果应用缺少收据,最佳做法是请求应用刷新其收据,如下所示:SKReceiptRefreshRequest*request=[[SKReceiptRefreshRequestalloc]init];[requestsetDelegate:self];[requeststart];问题是调用此代码将要求用户使用他或她的AppleID登录。我不能100%确定这种情况是一直发生,还是仅在
我的应用启动并检查收据。因为是沙盒,app第一次从Xcode运行,需要向AppStore索取回执。所以我使用SKReceiptRefreshRequest来请求它。弹出一个窗口,要求提供AppStore凭据。如果我输入凭据,应用会加载收据,我会对其进行验证,然后应用会正常运行。如果我取消该凭据窗口,问题就会出现。然后我遇到了第一个问题。此时应用程序没有收据,所以我无法验证副本是否是盗版。该怎么办?我尝试了以下方法:当用户尝试使用该应用程序时,我没有禁用该应用程序,而是显示一个窗口,显示“无法验证该应用程序,现在输入OK进行验证”。当用户键入OK时,我第二次触发SKReceiptRefr
我的应用使用订阅模式,我收到一些用户无法通过SKPaymentQueue.restoreCompletedTransactions恢复订阅的投诉。他们必须删除应用程序并从AppStore重新下载。我不太确定为什么它只发生在某些用户身上,其中一个用户告诉我他通过iTunes取消并重新激活,另一个是关于付款问题。那么为什么他们需要重新下载应用程序呢?我猜收据上的一些信息没有正确刷新,所以我在考虑使用SKReceiptRefreshRequest而不是restoreCompletedTransactions,或者两者都用。有人可以解释这两个过程之间的区别吗? 最佳