Да, вы правы.Когда пользователь удаляет приложение, NSUserDefaults также удаляется.Однако в магазине приложений есть удобная функция восстановления покупок, где вы можете запросить уведомление о покупках, которые Apple записала для текущего пользователя.
Кажется, нет хорошего метода определения необходимости восстановления покупок (по крайней мере из того, что я видел здесь), большинство разработчиков, кажется, просто предлагают кнопку, которая запускает процесс восстановлениявручную.
Существует альтернатива, которая заключается в сохранении пользовательских покупок в связке ключей, которая (по крайней мере, прямо сейчас) не удаляется при удалении приложения.Я подтвердил, что это относится к iOS 4.3 - хотя, возможно, так не будет вечно.
Вот пример примера кода, который демонстрирует как восстановление покупок, так и использование цепочки для ключей для сохранения покупок