Не имея его на месте заранее, вы никогда не узнаете о прошлом, но ничто не мешает вам помещать отметку времени, когда пользователь сначала открыл ваше приложение, например. пользовательские настройки. Что-то вроде
[[NSUserDefaults standardUserDefaults]
setObject:[NSDate date]
forKey:@"install_date"];
которое вы могли бы затем использовать, чтобы решить, как «лечить» (я думаю) пользователя. Единственный улов в том, что если пользователь когда-либо удаляет приложение и затем переустанавливает его, его ранний усыновитель бонуса или что-то еще будет потеряно. Единственный другой параметр, который у вас есть, - это отправить идентификатор устройства на выделенный сервер где-нибудь, например. PHP-скрипт с простым MySQL db, где идентификаторы устройств хранятся вместе с датами. Вы могли бы сделать что-то вроде
NSDate *purchaseDate = [[NSUserDefaults standardUserDefaults]
objectForKey:@"purchase_date"];
if (nil == purchaseDate) {
// we need to get the date for this user from the server, or
// we need to register the user as it's the first time
} else {
// we know when this user installed the app, and they did so
// (approximately) at the purchaseDate time.
}
вопросов Даты формата в стороне, выше должно быть довольно просто, но, как сказали, не требуете серверов где-то (что может быть медленным мо, потому что выше происходит только на первой установку и Переустановка).
Редактировать: вы можете использовать [[UIDevice currentDevice] uniqueIdentifier]
(устаревший с iOS 5) или [[UIDevice currentDevice] identifierForVendor]
(новый как iOS 6 .. lol), чтобы получить идентификатор устройства.
Спасибо за это - это имеет смысл в отношении установки. Это был лучший ответ в конце. –