iosiphonensdatensnotification

How to prevent cheaters beating NSDate for iPhone games?


I'm currently playing around with NSNotification (or local notifications in general terms) for a product management game which relies heavily upon the user's NSDate/Time and then use local notifications to give an alert for when a product is ready.

However, in my experiments with similar games one can beat this system by simply moving the system clock forward and thus speed up the game.

I've noticed some games have stopped this, but I think thy did it by having an internal clock which syncs with an online clock and never uses the iPhone's clock, but this is just a guess as obviousily such a system doesn't work if you have no internet access.

Anyway, and am hopeful someone who has gone down this road can clarify;

Is there an article or framework, or something that can explain the best methodologies on this subject?

I found Similar question for Virtual Pet Games, but I am still interested in other suggestions.


Solution

  • Local notification will rely on the user's clock to be set accurately. You could compare the user's clock with a server time before delivering any rewards. If the user's clock is off by more than a few minutes, you could alert the user and not allow the reward until it is fixed.