Ios 如何从最新收据信息列表中获取最新收据?

Ios 如何从最新收据信息列表中获取最新收据?,ios,objective-c,xcode,Ios,Objective C,Xcode,我有三种类型的订阅,分别为1个月、6个月和1年。在沙盒urlhttps://sandbox.itunes.apple.com/verifyReceipt我收到了一张关于242的长长的收据清单,而且随着时间的推移,收据数量不断增加 我想通过所有订阅的最新到期日。我怎么能说这是特定订阅的最新收据,并且超过了订阅我的web服务的到期日期 { environment = Sandbox; "latest_receipt" = "MILFMwYJKoZIhvcNAQcCoILFJD

我有三种类型的订阅,分别为1个月、6个月和1年。在沙盒url
https://sandbox.itunes.apple.com/verifyReceipt
我收到了一张关于242的长长的收据清单,而且随着时间的推移,收据数量不断增加

我想通过所有订阅的最新到期日。我怎么能说这是特定订阅的最新收据,并且超过了订阅我的web服务的到期日期

    {
    environment = Sandbox;
    "latest_receipt" = "MILFMwYJKoZIhvcNAQcCoILFJDCCxSACAQExCzAJBgUrDgMCGgUAMIK05AYJKoZIhvcNAQcBoIK01QSCtNExgrTNMAoCAQgCAQEEAhYAMAoCARICAQEEAhYAMAoCARMCAQEEAgwAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADA””;
    "latest_receipt_info" =     (
{
     "expires_date" = "2014-03-12 10:18:05 Etc/GMT";
                "expires_date_ms" = 1394619485000;
                "expires_date_pst" = "2014-03-12 03:18:05 America/Los_Angeles";
                "is_trial_period" = false;
                "original_purchase_date" = "2014-03-12 10:15:06 Etc/GMT";
                "original_purchase_date_ms" = 1394619306000;
                "original_purchase_date_pst" = "2014-03-12 03:15:06 America/Los_Angeles";
                "original_transaction_id" = 1000000093384828;
                "product_id" = “myapp.1";
                "purchase_date" = "2014-03-25 12:21:23 Etc/GMT";
                "purchase_date_ms" = 1395750083000;
                "purchase_date_pst" = "2014-03-25 05:21:23 America/Los_Angeles";
                quantity = 1;
                "transaction_id" = 1000000104232856;
                "web_order_line_item_id" = 1000000027948608;
}
  {
            "expires_date" = "2013-11-14 10:23:43 Etc/GMT";
            "expires_date_ms" = 1384424623000;
            "expires_date_pst" = "2013-11-14 02:23:43 America/Los_Angeles";
            "original_purchase_date" = "2013-11-14 10:20:44 Etc/GMT";
            "original_purchase_date_ms" = 1384424444000;
            "original_purchase_date_pst" = "2013-11-14 02:20:44 America/Los_Angeles";
            "original_transaction_id" = 1000000093384828;
            "product_id" = "myapp.2";
            "purchase_date" = "2014-03-29 05:37:36 Etc/GMT";
            "purchase_date_ms" = 1396071456569;
            "purchase_date_pst" = "2014-03-28 22:37:36 America/Los_Angeles";
            quantity = 1;
            "transaction_id" = 1000000093384828;
            "web_order_line_item_id" = 1000000027562376;
        },
  );

您可以使用kVC来实现这一点,类似的东西可能会起作用

NSDictionary *dictLatestReceiptsInfo = response[@"latest_receipt_info"];
long expirationDateMs = [dictLatestReceiptsInfo valueForKeyPath:@"@max.expires_date_ms"];

请粘贴代码您是如何尝试解决此问题的。不,仍然没有。json数据随时间增加,无法识别哪一个是特定订阅的最新收据。最近的一个将在“transaction_id”属性上具有最高值。就拿那个东西?这样行吗?是的,但有可能得到特定订阅的收据。在ios6中,TransactionReceive将仅为特定订阅提供服务。但现在appStoreReceiptURL随时间提供大量数据。现在1小时前是142,现在是780,我建议使用
valueForKeyPath:
而不是
valueForKey:
如果有错误:是的,这实际上是我想首先建议的,谢谢你指出