Я собираюсь использовать модель подписки с IAP.
AFAIK, вы НЕ ДОЛЖНЫ использовать уникальный идентификатор телефона, такой как IMEI телефона, для идентификации пользователя на вашем сервере. Согласно документации Apple, вы ДОЛЖНЫ предоставить способ, чтобы пользователь мог восстановить свои подписки на нескольких устройствах!
Кроме того, вызов restoreCompletedTransactions из SKPaymentQueue восстановит ТОЛЬКО непотребляемых продуктов! Подписки не поддерживаются этим методом.
Смотрите эти ссылки:
http://developer.apple.com/library/ios/#technotes/tn2009/tn2259.html (раздел «Часто задаваемые вопросы», пункт 10)
iPhone - Как узнать пользователя iTunes моего приложения
Единственный способ, которым я знаю, - это использовать логин / пароль для идентификации пользователя на веб-сервере, но это может быть довольно уродливо ...
Однако, если кто-то знает другой способ, он мог бы описать свое решение?