iPhone - покупка в приложении: запись покупки - PullRequest
2 голосов
/ 24 марта 2011

Я прочитал здесь и в другом месте следующее:

Наконец, после предоставления функции, Вы должны «помнить», что пользователь купил приложение. Apple, рекомендуемый способ заключается в использовании NSUserDefaults, так же, как вы храните ваши настройки.

Но ... Если я не ошибаюсь, когда вы удаляете приложение с телефона (но не из iTunes) и восстанавливаете его позже из iTunes, префы удаляются и возвращаются к значениям по умолчанию. Это правильно ? Так что я правильно сказал, что, если пользователь удалит приложение со своего телефона и через несколько недель переустановит его из своей библиотеки iTunes, его покупки в приложении будут потеряны?

1 Ответ

5 голосов
/ 24 марта 2011

Да, вы правы.Когда пользователь удаляет приложение, NSUserDefaults также удаляется.Однако в магазине приложений есть удобная функция восстановления покупок, где вы можете запросить уведомление о покупках, которые Apple записала для текущего пользователя.

Кажется, нет хорошего метода определения необходимости восстановления покупок (по крайней мере из того, что я видел здесь), большинство разработчиков, кажется, просто предлагают кнопку, которая запускает процесс восстановлениявручную.

Существует альтернатива, которая заключается в сохранении пользовательских покупок в связке ключей, которая (по крайней мере, прямо сейчас) не удаляется при удалении приложения.Я подтвердил, что это относится к iOS 4.3 - хотя, возможно, так не будет вечно.

Вот пример примера кода, который демонстрирует как восстановление покупок, так и использование цепочки для ключей для сохранения покупок

...