web-dev-qa-db-fra.com

StoreKit In App Achetez des identifiants de produits invalides

Duplicata possible:
iPhone StoreKit - ID de produit non valides

Je reçois un tableau vide d'identifiants de produits de SKProductsRequest.

J'ai fait les étapes suivantes:

  1. Création d'un compte d'utilisateur de test d'achat intégré sous "Gérer les utilisateurs" dans iTunes Connect

  2. Création de certains produits d'achat via l'application sous "Gérer vos achats via l'application".

  3. A chargé l'application sur l'iPhone, est allé dans Paramètres → Store et s'est déconnecté du magasin normal

  4. Définissez un point d'arrêt dans le (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response rappeler

Tous les ID de produit soumis se trouvent dans la propriété invalidProductIdentifiers de la réponse. Lors de la soumission de la demande, j'ai essayé à la fois les ID de produit créés à l'étape 2 ainsi que les ID préfixés avec l'ID de bundle.

Merci d'avance,

Raghu

82
Sridhar Bollam

J'ai essayé tout ce qui était suggéré dans les forums Apple et ici, et je n'ai toujours pas pu le faire fonctionner. J'ai trouvé la solution - votre application doit être transférée par Xcode pour que le bac à sable soit activé.

Évident, non? Eh bien, si vous travaillez avec une mise à jour d'une application existante, l'appareil la traitera toujours comme une application installée sur l'App Store.

Supprimez donc l'application de votre appareil. Ensuite, réinstallez l'application sur l'appareil à l'aide de Build & Run avec votre appareil attaché à votre Mac. Cela devrait fonctionner maintenant :)

171
Héctor Ramos

J'ai compilé une liste des raisons pour lesquelles les identifiants de produits ne sont plus valides. Voici une liste de contrôle des causes potentielles:

http://troybrant.net/blog/2010/01/invalid-product-ids/

69
Troy Brant

Le contrat pour les applications payantes doit être en vigueur afin de recevoir des données sur les achats intégrés configurés.

Cela a fonctionné pour moi. J'ai eu exactement le même problème.

31
user247503

Je suis l'une des victimes ici. Eh bien, je l'étais. Hier, j'ai eu le problème et j'ai révisé plusieurs fois toutes les étapes. Aujourd'hui, j'ai passé en revue toute la liste de troybrant.

1) ok mon erreur, j'ai oublié de créer le bon profil de distribution: corrigé

2) a téléchargé un binaire et a rejeté immédiatement: ils disent que cela fonctionne mieux que pas de téléchargement

3) ok, autre correctif: supprimé les 10 chiffres avant mon nom de domaine de partout dans xcode (XXXXXXXXXX.com.company.app à com.company.app)

Ne fonctionne toujours pas.

4) Vérifiez que mon appareil n'est pas connecté à un compte iTunes.

5) Nettoyez la construction à chaque fois et supprimez parfois l'application de l'appareil

Ne fonctionne toujours pas.

6) Enfin, lors de la demande de produits, j'ai utilisé uniquement le productID, pas l'ensemble com.company.app.productID.

ET cela a fonctionné.

Je pense que parfois nous avons plus d'une erreur, et quand vous les corrigez toutes, il est difficile de savoir quelle était exactement la cause du problème.

Maintenant je suis content

21
LRM

Notre problème était le dernier point de la FAQ d'Apple, " Pourquoi mes identifiants de produits sont-ils retournés dans le tableau invalidProductIdentifiers? ":

  • Vous n'avez pas rempli toutes les exigences financières (voir la section "Contrats, informations fiscales et bancaires" de ce document).
  • Vous n'avez pas utilisé d'ID d'application explicite.
  • Vous n'avez pas utilisé le profil d'approvisionnement associé à votre ID d'application explicite.
  • Vous n'avez pas utilisé l'identifiant de produit correct dans votre code. Voir Q&R technique, QA1329, "Identifiants de produit d'achat intégré" pour plus d'informations sur les identifiants de produit.
  • Vous n'avez pas effacé vos produits d'achat In App à vendre dans iTunes Connect.
  • Vous avez peut-être modifié vos produits, mais ces modifications ne sont pas encore disponibles pour tous les serveurs de l'App Store.
  • Si vous ou App Review avez rejeté votre dernier fichier binaire dans iTunes Connect.

J'ai changé la version la plus récente (qui avait été rejetée) en "Waiting for Upload" en cliquant sur "Ready to Upload Binary" dans iTunes Connect et le problème a été résolu après environ 10 minutes.

17
Phil Calvin

Il semble que les gens soient confus sur les ID de produit.

Vous n'avez PAS besoin d'ajouter le domaine entier (ex. Com.company.product.inappname) pour qu'InApp fonctionne.

Vous DEVEZ utiliser l'ID de produit EXACT que vous créez sur iTunes Connect. Dans mon cas, je viens de créer "Product1", utilisé lorsque SKProductsRequest est appelé et c'est tout.

Plus aucune douleur.

Ce lien contient de nombreuses informations utiles, mais il manque ce petit détail: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

12
Colnaghi

Vous êtes-vous déconnecté de l'AppStore depuis Settings.app? Ce n'est que lorsque vous vous déconnectez que vous serez invité à vous reconnecter.

Les achats intégrés sont-ils activés pour votre ID d'application? L'ID d'application avec caractère générique (*) ne peut pas être activé pour les achats intégrés. Pour votre application, vous devez créer un nouvel ID d'application.

Mes deux cents ici ... http://blog.mugunthkumar.com/coding/iphone-tutorial-%e2%80%93-in-app-purchases/

2
Mugunth

Mon problème était le premier problème décrit ici:

https://devforums.Apple.com/thread/23344?start=0&tstart=

"Tout d'abord, vous devez vous assurer que votre ID d'application dans le portail est correct."

2
morgancodes

Juste au cas où quelqu'un aurait toujours du mal à obtenir un "identifiant de produit invalide" ... En plus de tout ce qui est publié dans cette rubrique, je viens d'installer le bon profil de mise à disposition de débogage, de supprimer l'application de mon iPhone, de redémarrer mon appareil et de faire des bangs, d'obtenir les informations sur le produit . J'ai essayé cela après avoir obtenu les informations sur le produit via le simulateur (avec le dernier XCode maintenant c'est possible). J'étais sur le point de télécharger le binaire, puis de le rejeter, mais j'ai ensuite essayé ce qui précède et je l'ai obtenu. J'espère que ça aide!

1
Wolf

Définir le nom du produit sur le même nom soumis à iTunes Connect l'a résolu pour moi.

1
aegzorz

J'ai constaté que si votre application a un titre différent dans une autre langue, vous rencontrerez ce problème, sauf si vous définissez la langue de votre iPhone sur l'anglais. Cela n'arrive qu'en développement; il ne semble pas y avoir de problème de production.

1
Sjors Provoost

Votre achat intégré est-il "autorisé à la vente"? C'est le réglage que je n'ai pas vérifié la première fois.

1
Stephen Darlington

J'ai découvert aujourd'hui une autre chose qui peut causer ce genre de problème. Parfois, pour des raisons étranges, l'application est corrompue et tous essaient d'acheter quelque chose se terminent par erreur. J'ai résolu mon problème en supprimant l'application de l'appareil, en nettoyant la version sur Xcode et en la reconstituant sur l'appareil.

1
SpaceDog

J'ai 15 produits non consommables.

Soudainement, tous les 15 d'entre eux ont commencé à apparaître comme "invalides" dans l'un de mes appareils (iPod Touch 4G), mais valides dans l'autre (iPhone 4S); très bizarre en effet.

J'ai supprimé/réinstallé et maintenant cela fonctionne bien.

Quelqu'un a dit que vous devez lancer depuis Xcode, mais ce n'est pas nécessairement vrai. J'ai de nombreux bêta-testeurs avec des versions AdHoc et des comptes d'utilisateurs de test, et la plupart du temps, ils semblent pouvoir acheter OK.

Cela dit, tout l'environnement Sandbox est toujours fragile et a beaucoup de "temps d'arrêt". Parfois, l'attente est la réponse.

1
Nicolas Miari

Assurez-vous que votre "Nom du produit" dans xcode est le même que l'application envoyée à iTunes Connect.

0
Tracy Platt

Après avoir lutté pendant un jour ou deux avec des produits non valides retournés, ma solution s'est résumée à m'assurer que l'article acheté était "Développeur approuvé pour la vente". Même s'il y avait une marque verte à côté de l'article disant "autorisé à la vente", je devais toujours télécharger une capture d'écran et sélectionner approuver.

Cela semble être une façon de faire les choses à l'envers et illogique étant donné que je teste toujours mon application et que je ne suis pas encore prête à la mettre en vente.

0
jumponadoughnut