【发布时间】:2014-07-09 07:45:21
【问题描述】:
我正在发布我的应用的更新版本,并且我正在从付费过渡到免费增值。为了给现有用户提供无广告的体验,我希望跟踪他们最初购买该应用的时间。
我正在调查 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!
}];
我有两个问题:
我没有有效收据。领取流程是怎样的?我需要一个已经存在的应用程序包 ID 吗?哪里有测试收据?
如果我想根据日期而不是版本号来建立逻辑,我可以这样做吗?
RMAppReciept上没有originalPurchaseDate属性。 (我确实提交了issue on GitHub。)
【问题讨论】:
-
Apple 文档中(某种程度上)回答了您的所有问题。 RMStore 可以帮助您避免编写样板代码,但我完全建议您在使用之前阅读 Store Kit 文档。
标签: ios objective-c cocoa-touch app-store rmstore