Я выяснил, как все вещи StoreKit работают и действительно протестировали рабочий код ... однако у меня есть проблема.Где я могу присоединить делегата StoreKit и наблюдателя в приложении Cocos2d?
Я сделал свой «магазин» слой/сцену SKProductsRequestDelegate
. Это правильная вещь? Я получаю начальную информацию о продукте, как так:
SKProductsRequest *productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: productIDs];
[productRequest setDelegate: self];
[productRequest start];
Проблема заключается в том, что если я перейти на новую сцену, когда запрос идет, текущий слой удерживается productRequest. Это означает, что прикосновения к моей новой сцене/слою обрабатываются как новым слоем, так и старым слоем.
Я мог бы отменить productRequest, покидая сцену, но:
- Я не знаю, если он находится в прогрессе в этой точке.
- Я не могу освободить его, потому что он может быть или не быть выпущен делегатами запроса.
Должен быть лучший способ сделать это. Я мог бы сделать делегата классом, внешним для текущего слоя, но тогда я не знаю, как легко обновлять слой информацией о продукте при вызове обработчика.