Да, я на это рассчитывал.
У кого-нибудь есть понимание шаблона проектирования, который объединяет CloudKit (для хранения идентификаторов SKProduct) и StoreKit?
Это то, что яразработан.Я знаю, что может быть лучше
AppDelegate.m
- В
application:didFinishLaunchingWithOptions
переместите связанный список продуктов по умолчанию в каталог документов приложений, если он не существуетне существует, тогда позвоните fetchProductsFromCloudKit
. - В
fetchProductsFromCloudKit
запросите CloudKit в блоке для активных идентификаторов продукта.Если CloudKit возвращает идентификаторы продуктов, сохраните массив в списке продуктов каталога приложений. - Использование идентификаторов продуктов из
fetchProductsFromCloudKit
, вызов fetchStoreKitProductsWithProductIdentifiers
для запроса продуктов из StoreKit. - В StoreKitделегируйте
productsRequest:didReceiveResponse
, если [response.products count] > 0
, затем сохраните все возвращенные продукты в свойство AppDelegate products
. applicationWillEnterForeground
также вызывает fetchProductsFromCloudKit
.
StoreViewController.м
- В
viewDidLoad
тест для _appDelegate.products == nil
.Если YES
, то посмотрите в списке продуктов идентификаторы продуктов.Запустите запрос продукта в StoreViewController (StoreVC).Если NO
, тогда загрузите представление таблицы продуктов StoreVC из _appDelegate.products
. - В
productsRequest:didReceiveResponse
тесте StoreVC для response.products count
> 0. Если YES
, сохраните эти продукты в _appDelegate.products
и перезагрузитеПредставление таблицы продуктов StoreVC.Если NO
, то показать контроллер представления предупреждений с сообщением о выходе из магазина.