check In App Purchase Auto Renewable Subscription有效

时间:2013-02-19 12:29:16

标签: xcode in-app-purchase

我是IOS的新手。目前正在我的报亭app.i中进行应用购买实施工作已经在我的报摊app中实现了自动续订订阅。我可以签入应用购买自动续订订阅是否有效?

2 个答案:

答案 0 :(得分:2)

创建订阅时,您需要存储收据对象。您可以使用收据来确定它所代表的订阅是否有效。

我正在使用CargoBay(https://github.com/mattt/CargoBay)来帮助StoreKit处理。它有一个方法:

[[CargoBay sharedManager] verifyTransaction:transaction password:nil success:^(NSDictionary *receipt) {
  NSLog(@"Receipt: %@", receipt);
} failure:^(NSError *error) {
    NSLog(@"Error %d (%@)", [error code], [error localizedDescription]);
}];

答案 1 :(得分:0)

今天,我遇到了这个问题。 在这里关注Apple doc,我用这种方式检查订阅是否已过期。

这是我在Objective-C中的代码。

NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:resData options:0 error:&error]; 
// this is response from AppStore
NSDictionary *dictLatestReceiptsInfo = jsonResponse[@"latest_receipt_info"];
long long int expirationDateMs = [[dictLatestReceiptsInfo valueForKeyPath:@"@max.expires_date_ms"] longLongValue];
long long requestDateMs = [jsonResponse[@"receipt"][@"request_date_ms"] longLongValue];
isValidReceipt = [[jsonResponse objectForKey:@"status"] integerValue] == 0 && (expirationDateMs > requestDateMs);

希望得到这个帮助。