gpt4 book ai didi

ios - SKReceiptRefreshRequest 每次都询问密码

转载 作者:行者123 更新时间:2023-11-29 05:11:39 24 4
gpt4 key购买 nike

我正在使用SKReceiptRefreshRequest来验证来自服务器的收据。问题是每次提示密码时它都会询问我。任何人都可以帮我建议一种更好的方法来验证用户收据

这就是我正在做的事情(应用程序启动时我使用 refreshReceipt)

- (void)refreshReceipt {
SKReceiptRefreshRequest *refresh = [[SKReceiptRefreshRequest alloc] initWithReceiptProperties:nil];
refresh.delegate = self;
[refresh start];
}

- (void)requestDidFinish:(SKRequest *)request API_AVAILABLE(ios(3.0), macos(10.7)) {
if ([request isKindOfClass:[SKReceiptRefreshRequest class]]) {
NSLog(@"Got a new receipt...");
[self verifyReceipt:self.loadingView :NO :^{

} :^{
[app_delegate jumpToLogin];
}];
}
}

- (void)verifyReceipt :(UIView *)view1 :(BOOL)showHUD : (void (^)(void)) complete : (void (^)(void)) incomplete
{
if (showHUD) {
[UtilityManager showHUD:view1];
}

/* Load the receipt from the app bundle. */

NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];

if (!receipt) {
/* No local receipt -- handle the error. */
[UtilityManager hideHUD:view1];
incomplete();
return;
}

/* Create the JSON object that describes the request */
NSError *error;

// Verify the recipt

最佳答案

在您的情况下,它要求输入密码,因为您的设备上缺少沙箱收据。它正在尝试刷新现有收据,但找不到它。因此它将获得新的收据,这就是它要求输入密码的原因。

在生产环境中(当从 App Store 下载应用程序时)总会有一张收据,因此不需要密码。

为什么要使用SKReceiptRefreshRequest?仅“恢复购买”按钮需要它。

这是来 self 们博客的文章:https://blog.apphud.com/receipt-validation/

关于ios - SKReceiptRefreshRequest 每次都询问密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59625868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com