Как хранить покупки в приложении для автономной доступности для каждого пользователя

Кажется, что keychain в iOS хранит данные на основе каждого приложения, а не для каждого пользователя.

Поэтому, если я храню информацию о покупках в приложении в цепочке ключей, эти продукты будут оставаться на устройстве, независимо от того, какой идентификатор Apple уже зарегистрирован.

Я мог бы потребовать сетевого доступа и выполнить восстановление, чтобы узнать, какие продукты должны быть доступны, но, похоже, плохой практикой делать реестр, инициированный не пользователем. Кроме того, приложение должно функционировать должным образом в автономном режиме.

Мой вопрос: как защитить покупки в приложении от доступа к пользователям, отличным от Apple-id, который их купил?

One Solution collect form web for “Как хранить покупки в приложении для автономной доступности для каждого пользователя”

Для этого вам необходимо организовать аутентификацию пользователя – сделайте своих пользователей создавать учетные записи в своей службе и предоставить в своем приложении возможность входа и выхода для них. После запуска приложения он должен проверить, какой пользователь вошел в систему и обеспечить покупки в приложении для этого пользователя.

  • Должен ли я вызвать finishTransaction, когда проверка получения подтверждения сервером не удалась?
  • Проблема, связанная с iOS9 SKPaymentQueue - транзакция неожиданно завершена, когда приложение возвращается на передний план
  • SKProductsRequest не работает в iOS 11 Симуляторы
  • iOS In-App Purchasing пошаговое руководство
  • Проверьте, отменен ли пользователь SKPaymentTransaction
  • При покупке приложения с размещенным контентом не работает, когда
  • Как восстановить правильную транзакцию при использовании автообновляемых покупок в приложении?
  • Доступ к квитанциям StoreKit непосредственно с сервера
  • iOS автоматически обновляемая подписка не будет возобновлена
  • Вопросы о покупке в приложении: автоматические возобновляемые подписки
  • Каков правильный тип продукта In-App Purchase?
  • Ошибка SKStoreProductViewController ITMLKITErrorDomain 101
  • Interesting Posts

    UICollectionView, прокрутите список до любого нижнего колонтитула или заголовка

    Предотвратить развертывание (отключить) приложение WatchKit с iOS iPhone App в Xcode

    Uptime iOS Цель C – миллисекундная точность

    ImageIO: <ERROR> JPEG Коррумпированные данные JPEG: преждевременный конец сегмента данных iphone – как его поймать?

    Укладка белой панели инструментов над панелью инструментов QLPreviewController выглядит серым

    Изменить шрифт заголовка TabBarItem для жирного шрифта в Swift для iOS

    Разница между диапазонами полного диапазона (420f) и видео (420v) для форматов пикселей YCrCb на iOS

    Модальная цепочка Segue

    Как преобразовать изображение в формат PVRTC

    Как я могу заставить CocoaPods использовать двоичные версии Facebook и Parse SDK?

    Почему классы iOS не используют протокол copyWithZone для поощрения активного mem mgt?

    Не удалось выполнить команду Apple Mach -O Linker

    Соединение CoreBluetooth XPC недействительно при запуске viewcontroller

    Настройки iOS AudioUnit для сохранения входа микрофона в исходный файл PCM

    UILocalNotification с различными элементами предупреждения

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.