【问题标题】:In-app purchase issue with Mac appMac 应用的应用内购买问题
【发布时间】:2013-05-28 10:02:22
【问题描述】:

我正在 Mac 和 iOS 应用中进行应用内购买。

当根据https://buy.itunes.apple.com/verifyReceipt 验证沙盒环境收据时,我们了解到的情况是 21007:CargoBayStatusSandboxReceiptSentToProduction

这在 iOS 中完美运行,但对于 Mac 应用程序,结果就不同了。

我的 Mac 应用程序中有一个有效的沙盒环境收据,我使用 https://sandbox.itunes.apple.com/verifyReceipt 进行了验证。

当我使用https://buy.itunes.apple.com/verifyReceipt 验证同一张收据时,我需要取回状态码为 21007,但这并没有发生。相反,我得到以下响应:

<html><head><title>Error</title></head><body>Your request produced an error.  <BR>[newNullResponse]</body></html>

基本上,如果我在 Mac 应用商店中提交此应用进行验证,并且 Apple 人员使用测试 ID,我将获得一个沙盒收据,该收据将失败并显示生产 URL 收据验证的状态代码,然后我可以回退到沙盒 URL用于收据验证。但如前所述,响应不包含有效的状态代码。

我在终端中执行了以下命令:

  1. 使用base 64编码对收据进行编码,其中receipt是收据文件的路径:

      base64 -i receipt
    
  2. 发布数据以验证收据:

    curl -d '{ "receipt-data": "<your b64 string here>" }' https://sandbox.itunes.apple.com/verifyReceipt
    

    curl -d '{ "receipt-data": "<your b64 string here>" }' https://buy.itunes.apple.com/verifyReceipt
    

生产 URL 的响应是:

<html><head><title>Error</title></head><body>Your request produced an error.  <BR>[newNullResponse]</body></html>

理想情况下应该是{status code = 210007}。以前有人遇到过这个问题吗?还是我错过了什么?

【问题讨论】:

  • 您可能需要清理问题的格式。很难理解你在问什么。

标签: macos


【解决方案1】:

在 MAC 应用程序中实现 IAP 与在 iOS 中相同,但有以下更改。在

中添加以下代码后,您需要制作二进制文件

-(void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    NSString *receiptPath = [[[NSBundle mainBundle] appStoreReceiptURL] path];

   // Test whether the receipt is present at the above path
    if (![[NSFileManager defaultManager] fileExistsAtPath:receiptPath]) {

       // Validation fails
        exit(173);
    }
}

此代码将为您的 MAC 创建收据。因此,在它之后,您可以在您的应用程序中检查 IAP。请检查您是否也这样做。

【讨论】:

  • 我已经在进行应用内购买,也可以获得收据。基本上,我的查询与根据生产 URL 验证沙箱收据有关。我希望我会得到正确的返回码,但目前没有发生。
【解决方案2】:

沙盒收据不同于 iTunes 收据。您说当您将沙盒收据发送到https://buy.itunes.apple.com/verifyReceipt 时会发生错误。但这项服务是为 iTunes 商店收据而设计的。不要混淆它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多