2011-09-01 1 views
4

저는 현재 사용자의 NSDate/Time에 크게 의존하는 제품 관리 게임에 대해 NSNotification (또는 일반 알림으로 현지 알림)을 사용하고 로컬 알림을 사용하여 제품 준비시기에 대한 경고를 제공합니다.사기꾼이 iPhone 게임용 NSDate를 때리는 것을 방지하는 방법은 무엇입니까?

그러나 비슷한 게임을 사용한 실험에서 단순히 시스템 시계를 앞쪽으로 이동하여 게임 속도를 높임으로써이 시스템을 이길 수 있습니다.

일부 게임에서이 문제가 발생했음을 알았지 만 온라인 시계와 동기화되는 내부 시계를 사용하고 iPhone 시계를 사용하지 않는 것으로 생각합니다. 그러나 이것은 분명히 그런 시스템이 아닙니다. 인터넷에 접속할 수 없다면 일하지 마십시오.

어쨌든,이 길로 내려간 누군가가 분명히 밝힐 수 있습니다.

  • NSDate/Time 사용자에게 의존하는 게임의 경우 로컬 알림 (또는 푸시 알림)이 충분히 성숙한 상태 여야합니까?

  • 사용자/부정 행위자가 NSNotification/NSDates를 (를) 치는 것을 방지하는 방법은 무엇입니까?

이 주제에 대한 최상의 방법론을 설명하는 기사 또는 프레임 워크가 있습니까?

찾을 수 없습니다. 비슷한 질문이 Virtual Pet Games,하지만 난 여전히 다른 제안에 관심이 있어요.

답변

5

로컬 알림은 사용자의 시계를 사용하여 정확하게 설정됩니다. 어떤 보상을주기 전에 사용자의 시계를 서버 시간과 비교할 수 있습니다. 사용자의 시계가 몇 분 이상 꺼져있는 경우 사용자에게 경고하고 수정 될 때까지 보상을 허용하지 않을 수 있습니다.

+0

예, 저는 이것이 다양한 게임에서 사용되는 해결책이라고 생각합니다. 그러나 인터넷에 연결되어 있지 않거나 단순히 무선 스위치를 끄면 게이머가 게임을 할 수 없습니다. 다른, 또는 더 나은 솔루션이 있는지 궁금하네요. 버추얼 펫 포스트는 이벤트를 저장하고 그것을 확인/감소시키는 것에 대해 이야기하지만, 앱이 유휴 상태로 남아 있고 재생되지 않는 시간을 고려한 것인지 확실하지 않습니다. 하나는 시간 기반 앱이 마지막 플레이 이후 경과 된 시간을 계산하고 주식 등을 조정하는 데 필요합니다. – zardon

+0

시간이 아닌 "전환"과 같은 다른 측정 항목을 사용할 수 있다고 생각합니다. 하지만 거기에는 해결책이있을 수 있습니다. 지금 나는 너의 대답을 받아 들일 것이다. – zardon