我正在开发具有笔芯的生活,每5分钟一个应用程序。 什么是检查自上次充值,使用户无法通过改变时间在其设备上欺骗系统的最佳方法是什么?
举一个例子,看看糖果粉碎。 更改系统时间在那里给你额外的生命,而这正是我需要的预防。
我正在开发具有笔芯的生活,每5分钟一个应用程序。 什么是检查自上次充值,使用户无法通过改变时间在其设备上欺骗系统的最佳方法是什么?
举一个例子,看看糖果粉碎。 更改系统时间在那里给你额外的生命,而这正是我需要的预防。
如何运行的[NSTimer scheduledTimerWithTimeInterval:300.0 target:self selector:@selector(giveLife:) userInfo:nil repeats:YES];
应该执行giveLife
每5分钟有你可以给额外的生活。 据我所知,的NSTimer不会被改变时钟时间,一旦已经开始受到影响。
我会建议你做同样的事情,因为它是笨拙的忍者。
短
长
(什么我可以区分基于)
每当应用程序被激活 - 你试图让互联网的时间。 在这一点上 - 你并不需要检查的时间了,而应用程序被打开,直到下一次应用程序变得活跃起来。
在笨拙的忍者,他们允许使用的应用程序,即使网络不可用。 所以 - 如果我激活飞行模式(例如),调整时间要前进几个小时,和开放式应用 - 它认为互联网是不可用,因此无法比较的时间。 而且 - 我有东西(沙袋,球等)等进行修复 - 现已修复。 好极了。
但如果我再次做同样的事情很多很多次,最后我想设置回原来的日期和时间 - 和开放的应用程序,它就会知道是不对的事情。 它可能存储一些上次打开的时间戳,如果该时间比实际设备时大 - 那么用户可能正在做坏事。 和-出现警报- 应用程序必须连接到服务器才能继续 。
向前移动时的另一个垮台(用户,但是伟大的开发者)是 - 有一些事情,一段时间后,将自动重新生成,但需要以启动再生再次被“挑选”。 在笨拙的忍者,鸡在一段时间后产生一个鸡蛋。 如果卵子没有回升,但仍持有时间戳,应该生成时/。 所以 - 想象一下,用户成功转发时多次(直到它已经提前原始时间1天) - 现在他要设定时间回到原来的时间,使时钟实际上显示正确的时间。 用户后这是否 - 应用程序打开时,时间同步,但发电鸡蛋现在将显示,它将在1天之后准备 - 最后一次保存的时间戳。 但是,这也可用于所有的项目,这需要时间可用。 为什么笨拙忍者还没有用过这个东西来的所有项目? 也许他们害怕的是,如果用户看到,没有什么事是可以很长一段时间 - 用户将停止播放。 因此 - 最好有一个骗子的用户,超过任何用户都没有。
NSURL *url = [NSURL URLWithString:@"http://www.timeapi.org/utc/now"];
NSString *str = [[NSString alloc] initWithContentsOfURL:url usedEncoding:Nil error:Nil];
str = [str stringByReplacingOccurrencesOfString:@"T" withString:@" "];
str = [str stringByReplacingOccurrencesOfString:@"+01:00" withString:@""];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *date = [dateFormat dateFromString:str];