Wir können sqlite, nsuserdefaults oder das normale Dateisystem zum Speichern von Spieldaten auf dem iPhone verwenden. Diese Daten werden normalerweise im Documents-Verzeichnis gespeichert, aber Dateien unter dem Documents-Verzeichnis können ohne JailBreak leicht verändert werden. (Tatsächlich wurden einige gemogelte Spielstände bereits auf dem Server gepostet)
Es gibt einige Ideen, die ich in Betracht gezogen habe, um Betrug durch Änderung der Speicherdaten zu verhindern.
Datei verschlüsseln
Verschlüsseln Sie einfach die Datei und entschlüsseln Sie sie beim Lesen. Es scheint sicher, aber die Leistung wird geopfert werden, wenn das Spiel gamedata häufig aktualisieren müssen.
SQLite-Verschlüsselung
Es gibt einige verschlüsselte Erweiterungsbibliotheken für Sqlite. Das Problem sind die Kosten und die Lizenzen.
Prüfer / Prüfsumme
Speichern Sie die Prüfsumme der gespeicherten Daten und erkennen Sie Betrug anhand dieser Prüfsumme. Es kann zu einem FALSCH POSITIVEN Ergebnis führen, wenn das Speichern der Prüfsumme aus irgendeinem Grund fehlgeschlagen ist.
Schlüsselanhänger
Daten im Schlüsselbund speichern. Aber wir können nicht Sqlite verwenden. Und ist es in Ordnung, große Daten im Schlüsselbund zu speichern?
Jede Idee hat einen Makel. Können Sie mir eine Idee geben?