我想知道用户何时第一次购买我的应用程序...到目前为止,我还没有找到一个干净的方式,UDID似乎是唯一的选择。
理想情况下,我可以通过StoreKit获得收据,但到目前为止.. nada
我错过了什么吗?有人有想法吗?
情况是我有订阅和FIRST问题(从您购买应用程序时应该是免费的)。如果我以后重新安装..我应该总是得到原始问题)
例如: 我在10.2010买了这个应用程序 我安装并运行它并免费获得10.2010的订阅问题(没有应用程序内购买) 现在我删除了应用程序 我安装它1.2013,我只从10.2010免费获得订阅!不是新的
答案 0 :(得分:7)
您只需在钥匙串中存储一个标志即可。在重新安装应用程序时,会保留钥匙串的内容。
要获取应用的首次安装时间,请检查应用二进制文件首次写入磁盘的时间:
if (flag_in_keychain_not_present()) {
// installed for the first time
set_flag_in_keychain();
struct stat st;
stat([NSBundle mainBundle].executablePath.UTF8String, &st);
time_t installed = st.st_mtime;
}
答案 1 :(得分:1)
我还没有使用Store Kit,但告诉我我是不是错了,
1)它需要一个或另一个点的服务器
2)当我们使用它来“购买”(不是订阅或消费品)时,我们可以使用相同的iTunes帐户在所有设备上检索此购买
我的观点是,创建一个应用内购买免费项目,当它通过您的服务器时,第一次将其存储在数据库中,然后下次使用相同的帐户“启用”与第一次免费购买相对应的问题< / p>