我是IOS的新手。目前正在我的报亭app.i中进行应用购买实施工作已经在我的报摊app中实现了自动续订订阅。我可以签入应用购买自动续订订阅是否有效?
答案 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);
希望得到这个帮助。