gpt4 book ai didi

ios - 如何让生产签名的应用程序从 iOS 上的测试环境获取收据?

转载 作者:行者123 更新时间:2023-12-03 19:48:51 46 4
gpt4 key购买 nike

我有一个应用程序被拒绝并显示此消息:

“在服务器上验证收据时,您的服务器需要能够处理从 Apple 测试环境获取收据的生产签名应用程序。建议的方法是让您的生产服务器始终首先根据生产 App Store 验证收据。如果验证失败并显示错误代码“生产中使用的沙盒收据”,您应该改为针对测试环境进行验证。”

当我使用测试帐户从 Xcode 运行应用程序时,购买在沙箱中运行良好。我还尝试测试一个临时构建,它也可以使用测试帐户运行。我已经通过应用内购买提交了其他应用,它们基本上使用相同的代码并且获得了批准。

我也不确定“让您的生产服务器始终验证收据”在说什么。应用内购买完全在应用内完成,不需要访问我的服务器进行任何操作。

我有一个实现 SKPaymentTransactionObserver 的 StoreObserver 类

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
// this is where it goes when I test it
break;
case SKPaymentTransactionStateFailed:
// somehow Apple review is getting here
break;

}
}
}

在 View Controller 中进行应用内购买:

- (void)viewDidLoad {
[super viewDidLoad];
storeObserver = [[StoreObserver alloc] init];
storeObserver.delegate = self;
[[SKPaymentQueue defaultQueue] addTransactionObserver:storeObserver];
}

- (void) viewDidAppear:(BOOL)animated {
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:@“productid”,nil]];
request.delegate = self;
[request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
product = [response.products objectAtIndex:0];
// show button for in-app purchase
}

// handle button click to make in-app purchase
- (IBAction) purchaseClick:(id)sender {
[SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}

我需要做什么才能使这项工作成功?

最佳答案

您应该验证您收到的交易收据。建议的方法是将收据上传到您的服务器,然后从那里进行服务器到服务器的验证。这可以让您避免某些类型的黑客攻击,这些黑客攻击可能会欺骗您的应用程序相信已进行有效的购买。

详细信息在这里:Validating App Store Receipts

Apple 告诉您上述指南的内容。首先将收据提交到生产服务器。如果失败并出现 21007 错误,您需要将收据提交到沙箱服务器。

关于ios - 如何让生产签名的应用程序从 iOS 上的测试环境获取收据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47780887/

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