沙箱环境要求登录两次



我正在为我们的新版本的应用测试应用内购买,应用内购买代码之前测试过,它工作正常,但现在它要求itunes登录两次之前购买确认警报。它仍然可以正常工作,并在双重登录后正确购买物品,但它有点令人不安。最近有没有人在沙盒服务器上遇到类似的问题?

为了提供更多的信息,实际交易验证发生在我们的服务器上,我使用RMStore在客户端进行默认虚拟验证,它实际上什么也不做,只是检查productID是否存在于应用收据中,酷的一面是它刷新应用收据,如果它是nil或productID不存在于收据中。在我们的应用程序中只有自动更新订阅,在测试新购买之前,我会退出appstore。

我的代码大致是这样的:

-(void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction * transaction in transactions) {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
            {
                RMStoreAppReceiptVerificator *verificator = [RMStoreAppReceiptVerificator new];
                [verificator verifyTransaction:transaction success:^{
                    NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
                    NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
                    NSString *receiptStr = [receipt base64EncodedStringWithOptions:kNilOptions];
                    [self sendReceiptToServer:receiptStr];
                }
                failure:^(NSError *error) {
                     ...
                }];
            }
                break;
            case ... : ...
            default: ...
        }
    };
}

要让登录工作,你必须注销设置> itunes。然后当应用程序提示你使用测试帐户(在itunes connect上创建)时登录。

最新更新