Я выпускаю обновленную версию своего приложения и перехожу с платной версии на бесплатную. Чтобы предоставить существующим пользователям работу без рекламы, я хочу отслеживать, когда они первоначально приобрели приложение.
Я смотрю в RMStore, но мне не ясно, как проверить чтение исходной даты покупки из чека. Я придумал простой код, который, по моему мнению, должен работать, но у меня нет хорошего способа его протестировать.
[[RMStore defaultStore] refreshReceiptOnSuccess:^{
NSURL *url = [RMStore receiptURL];
NSData *data = [NSData dataWithContentsOfURL:url];
RMAppReceipt* r =[[RMAppReceipt alloc] initWithASN1Data:data];
// Cheap and easy conversion to a float...
// IRL do a real comparison with the strings...
if ([[r originalAppVersion] floatValue] < 2.0)
{
// Do something for early-adopters
}
} failure:^(NSError *error) {
// Ruh-roh!
}];
У меня есть две проблемы:
У меня нет действительной квитанции. Какова процедура его получения? Нужен ли уже действующий идентификатор пакета приложений? Есть ли где-нибудь квитанции об испытаниях?
Если я хочу основывать логику на датах, а не на номерах версий, могу ли я это сделать? На
RMAppReciept
нет собственностиoriginalPurchaseDate
. (Я зарегистрировал проблему на GitHub.)