如何找出用户第一次购买应用程序/安装它时(可能没有UDID?)

Dai*_*jan 6 subscriptions storekit ios

我想知道用户何时第一次购买我的应用...到目前为止,我还没有找到一个干净的方式,UDID似乎是唯一的选择.

理想情况下,我可以通过StoreKit获得收据,但到目前为止.. nada

我错过了什么吗?有人有想法吗?


情况是我有订阅和FIRST问题(从您购买应用程序时应该是免费的).如果我以后重新安装..我应该总是得到原始问题)

示例:我在10.2010购买应用程序我安装并运行它并从10.2010免费获得订阅问题(没有应用程序内购买)现在我删除了我安装它的应用程序1.2013我只能从10.2010免费获得订阅!不是新的

小智 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;
}
Run Code Online (Sandbox Code Playgroud)