J'ai compris comment fonctionnaient tous les trucs de StoreKit et j'ai testé le code de travail ... mais j'ai un problème.Où dois-je attacher le délégué et l'observateur de StoreKit dans une application Cocos2d?
J'ai fait ma couche/scène "magasin" le SKProductsRequestDelegate
. Est-ce la bonne chose à faire? Je reçois l'information initiale du produit comme ceci:
SKProductsRequest *productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: productIDs];
[productRequest setDelegate: self];
[productRequest start];
Le problème est que si je transition vers une nouvelle scène lorsqu'une demande est en cours, la couche actuelle est retenue par le productRequest. Cela signifie que les touches sur ma nouvelle scène/couche sont gérées à la fois par la nouvelle couche et l'ancienne couche.
je pouvais annuler la productRequest au moment de quitter la scène, mais:
- Je ne sais pas si elle est en cours à ce moment-là.
- Je ne peux pas le libérer, car il a peut-être été libéré par les délégués de la demande.
Il doit y avoir une meilleure façon de procéder. Je pourrais rendre le délégué une classe externe à la couche actuelle, mais je ne sais pas comment mettre à jour facilement la couche avec les informations sur le produit lorsque le gestionnaire est appelé.