我是IOS的新手。目前正在我的报亭应用程序中进行应用程序购买实施。我已经在我的报亭应用程序中实施了自动更新订阅。我如何检查应用程序购买自动更新订阅是否有效?
问问题
1716 次
2 回答
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]);
}];
于 2013-02-19T12:40:00.263 回答
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);
希望这有帮助。
于 2016-09-16T10:23:14.447 回答