Wie sicher ist NSUserDefaults auf iOS 8,9?

8

In-App Purchase Programming Guide schlägt vor, dass Sie den In-App-Kauf in NSUserDefaults beibehalten können hier . Ich fand jedoch diesen Artikel und sagte, dass es unsicher ist und die darin enthaltenen Daten leicht zugänglich und änderbar sind :

  

NSUserDefaults werden in plist im Binärformat ohne Verschlüsselung gespeichert und im Verzeichnis Ihrer App gespeichert. Das bedeutet, dass jeder Benutzer, selbst der "nüchternste", mit seinen NSUserDefaults mit 5 Minuten ihrer Zeit basteln kann.

Wenn es zutrifft, kann der Nutzer leicht alles kostenlos erhalten, was als In-App-Kauf bereitgestellt wird, der mit NSUserDefaults beibehalten wird.

Stimmt der Artikel für iOS 8,9 noch? Wenn ja, wie halten Sie Ihre In-App-Käufe aufrecht? Ich bevorzuge eine einfache Lösung. Ich bestätige (und möchte) keine Quittungen usw.

    
drasto 09.03.2016, 19:11
quelle

1 Antwort

16

Wie andere bereits gesagt haben, ist es wahrscheinlich besser, keine sensiblen Daten in UserDefaults wie In-App-Käufen oder offensichtlich Dingen wie Passwörtern zu speichern. Sogar Dinge wie hohe Punktzahlen werden besser im Schlüsselbund gespeichert, damit die Leute nicht schummeln können.

Ich denke, dass ein Teil der Apple-Dokumentation veraltet ist und geändert werden sollte, da UserDefaults nicht die Art sind, sensible Daten zu speichern, die bei App-Käufen definitiv IMO sind.

Speichern Sie einfach grundlegende Dinge in UserDefaults wie Spracheinstellungen, Lautstärkeeinstellungen usw.

Wenn Sie vertrauliche Daten speichern möchten, sollten Sie Schlüsselbund verwenden. Nun, die Keychain-API finde ich sehr schwierig, aber es gibt 2 großartige Helfer auf GitHub, die du verwenden kannst:

1) Ссылка

2) Ссылка

Ich persönlich benutze das erste als einfacher und einfacher zu verwenden. Es macht buchstäblich die Aufgabe, Ihre Daten mit UserDefaults identisch zu speichern. Kopieren Sie einfach die Swift-Datei in Ihr Projekt oder verwenden Sie CocoaPods und Sie sind bereit.

Der zweite ist fortgeschrittener und komplexer, aber immer noch großartig. Es ist nur eine Auswahl dessen, was Sie brauchen und wie gut Sie die Keychain API verstehen.

Eine Sache, die Sie beim Schlüsselbund beachten sollten, ist, dass die Daten auch dann bestehen bleiben, wenn Sie Ihre App löschen, was ich für eine gute Sache halte.

Der gesamte Kredit geht an beide Autoren ihrer jeweiligen Wrapper.

Hoffe, das hilft

    
crashoverride777 09.03.2016, 19:26
quelle