У меня есть три плана подписки в in-app-purchase
1 месяц , 6 месяцев , 1 год , поэтому я хочу проверить текущую подписку пользователей план и дата истечения срока действия , так что я сейчас делаю с получения квитанции latest_receipt_info
в том смысле, что я использую последний объект.из последнего объекта я беру product_id
и использую его в качестве текущей подписки плана и expires_date
используется для проверки активности или нет.Ниже блок code
, который я использую.Так это правильный подход?
if([dict[@"status"] integerValue] == 0) {
if([dict.allKeys containsObject:@"latest_receipt_info"]) {
NSArray *iapReceipts = dict[@"latest_receipt_info"];
if(iapReceipts) {
if(iapReceipts.count > 0) {
NSDictionary *latestReceipt = [iapReceipts lastObject];
if(latestReceipt) {
_currentIAPID = latestReceipt[@"product_id"];
NSDate *expireDate = latestReceipt[@"expires_date"];
if(expireDate) {
NSInteger days = DaysBetween(NSDate.date, expireDate);
if(days >= 0) {
NSLog(@"days %ld",(long)days);
status = SubscriptionStatusActive;
} else {
NSLog(@"Subs :NEGATIVE DAYS");
status = SubscriptionStatusExpired;
}
}
}
}
}
}
}
Любые предложения будут более полезными.