2010-07-19 29 views
6

Das mag eine dumme Frage sein, aber ich konnte die Antwort nicht finden. Wo sollen InApp-Käufe auf dem Gerät gespeichert werden? Werden sie auf das Bundle heruntergeladen?Wo werden InAPP-Käufe gespeichert?

+0

Sie können Ihre App-Bundle auf dem Gerät nicht ändern, während es läuft, aber man kann (ungewollt) auf dem Simulator, da es dem Computer des lokalen Dateisystems verwenden, so vorsichtig sein. –

Antwort

5

Sie müssen sie selbst speichern. Ich würde NSUserDefaults zur Vereinfachung verwenden.

Sie werden nicht in Ihrem App-Bundle gespeichert, da dies die Signatur ungültig machen würde.

+1

Beachten Sie auch, dass Sie nicht verbrauchbare Käufe, die im App Store gespeichert sind, "wiederherstellen" können. Sie sollten dies jedoch nur tun, wenn der Benutzer dies anfordert (die Server würden bei jedem Start überlastet werden). –

+1

Steht 'NSUserDefaults' zur Verfügung, um über iTunes zu basteln? –

+1

@Yar: Nicht direkt, aber der Benutzer kann immer das Gerät sichern, die Sicherung bearbeiten und eine Wiederherstellung durchführen. Jailbreaking ist auch einfach. Es gibt verschiedene Abwehrmechanismen (z. B. eine MAC verwenden) und verschiedene Möglichkeiten dafür (z. B. Kopieren von "bekannt guten" Einstellungen von einem Gerät, das den Kauf getätigt hat). Wenn das Fälschen eines Kaufs niemandem wirklich schadet, ist es nicht die Mühe wert, sich dagegen zu wehren; Wenn nicht, ist iPhone DRM einfach zu umgehen. –

4

Ich habe ein ziemlich nützliches Beispiel erstellt, das das Speichern Ihrer Einkäufe in NSUserDefaults wie oben beschrieben enthält. Ich stimme zu, das ist der Weg, es zu tun.

Lassen Sie mich wissen, wenn Sie Fragen zum Beispielcode haben.

The App Tree - In App Purchase Sample - Free

+0

Der oben genannte Link in der Post ist nicht aktiv ... –

Verwandte Themen