评价我们的精灵应该在24小时后显示,从第一次启动应用程序开始算起。我怎样才能做到这一点?
答案 0 :(得分:0)
你需要照顾的一些事情。
第一次启动应用时,获取当前时间并将该对象保存到NSUserDefaults。 每当用户再次打开应用程序时,在NSUserDefaults中获取保存的对象,看看它是否已经24小时。如果是,则显示RateUs,否则为剩余时间设置计时器。
更好的是,使用像iRate这样的开源解决方案。
答案 1 :(得分:0)
NSDate * installedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@" FirstLaunchTime"];
if (installedDate == nil) { // runs for the first time
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"FirstLaunchTime"];
printf("\n First time \n");
}
else{
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"is24hoursFinished"])
{
NSDate *presentDate = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger units = NSDayCalendarUnit;
NSDateComponents *Components = [gregorian components:units fromDate:installedDate toDate:presentDate options:0];
NSInteger days = [Components day];
printf("Number of days %ld",(long)days);
if (days > 0)
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"is24hoursFinished"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
}