2013-02-19 75 views
1

我是IOS新手。目前正在应用购买实施在我的报亭app.i已实施自动更新订阅在我的报亭app.how我可以检查应用程序购买自动更新订阅是否有效?check in应用商店自动更新订阅有效

+0

此链接https://stackoverflow.com/questions/22680059/auto-renewable-subscription-in-ios7/45220204#45220204 可能会帮助你。 – 2017-07-27 12:46:32

回答

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]); 
}]; 
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); 

希望得到这个帮助。