iPhone StoreKit - produit non valide id
Je suis en train de tester, d'Achat In-App au sein de l'environnement sandbox.
Afin de tester le code que j'ai fait la suivante:
-
Créé un Achat In-App Test de compte d'Utilisateur sous "Gérer les Utilisateurs" dans iTunes Connect
-
Créé certaines d'achat in-app produits sous "Gérer Vos Achats App'. J'ai utilisé des valeurs numériques et alphanumériques des valeurs de l'Id de Produit.
-
Chargés de l'appli sur l'iPhone, est allé dans Paramètres->Magasin et déconnecté de le magasin régulier et dans le compte de test créé à l'étape 1
-
Définir un point d'arrêt dans le
(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
rappel
Tous le Produit présenté ID sont dans le response.invalidProductIdentifiers
de la propriété.
Lors du dépôt de la demande, j'ai d'abord essayé le Produit exact Id créé lors de l'étape 2. J'ai aussi essayé les préfixant avec le Bundle ID:
NSString *id2 = @"com.super.duper.8";
NSSet *productList = [NSSet setWithObjects:id2, @"8", nil];
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:productList];
Ai-je raté quelque chose d'évident?
Toute aide est appréciée.
Achim
- Dans mon cas, le précédent compte en banque n'était plus valable.
Vous devez vous connecter pour publier un commentaire.
Si vous êtes encore en train de produit non valide id, j'ai accumulé une liste de toutes les diverses causes:
http://troybrant.net/blog/2010/01/invalid-product-ids/
J'ai passé deux jours aux prises avec tous mes productsRequest (pour AppID) ont fini en réponse.invalidProductIdentifiers liste, au lieu d'en réponse.liste des produits. Apple n'a certainement une F de qualité de l'emploi dans le traitement de leur storekit. Il est source de confusion, imbriquées et complexes.
J'ai finalement résolu. Une très importante leçon que j'ai apprise comme indiqué par quelques-uns dans les forums: Il peut prendre de nombreuses heures que vous avez entré sur le itunesconnect.apple.com pour prendre effet.
Il y a deux parties: le nom de l'application et AppID dans votre xcode et ce que vous avez saisi dans itunesconnection, ils doivent correspondre exactement (sensible à la casse). Si vous avez enregistré ou modifié dans votre Application identifiant apple (j'ai aussi terminé tous mes contrats et de la banque d'informations comme il est suggéré par certains que les actes d'achat ne fonctionne pas sans l'obtention de cette partie), vous pouvez aussi bien aller au lit avant de tester à nouveau parce que ça prend des heures dans mon cas, pour prendre effet. J'étais tellement frustré prises avec ce problème avant mes 9 ans m'a traîné de l'heure du coucher histoire alors surpris de trouver le problème a disparu quand je me suis réveillé.
J'ai trouvé les suggestions par Eddy71 dans http://www.iphonedevsdk.com/forum/iphone-sdk-development/21035-problems-creating-test-user-app-purchase.html vraiment utile. Avant de le résoudre j'ai fait tout ce que je pouvais faire à Eddy de la liste de vérification et encore zéro produits, une de mes craintes était que si sans télécharger le code binaire de remplir la demande d'inscription dans itunesconnect était ok (pas besoin d'aller vivre comme cela est enseigné dans http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/). C'est en effet sur ok. Assurez-vous que le "autorisé à la vente" est la vérification et de l'icône est verte (vous avez besoin d'une étape supplémentaire pour l'approuver après le remplissage de la forme). L'autre crainte est que si je peux utiliser développeur provisoire (pas de distribution provisoire) en mode de débogage, il est aussi ok. J'espère que cela peut aider certains d'entre vous. Bonne chance et avoir la foi. Il travaillera par la suite.
Notre problème était la dernière puce d'Apple, FAQ, "Pourquoi mes identificateurs de produit renvoyé dans le
invalidProductIdentifiers
array?":J'ai changé la version la plus récente (qui avait été rejeté) pour "en Attente pour Télécharger" en cliquant sur "Prêt à Télécharger Binaire" dans iTunes Connect et le problème a été résolu après environ 10 minutes.
c'est OK que le téléphone est jailbreaké, vous avez juste à désinstaller appSync dans Cydia, puis il travaille
Apple a une fantastique document qui n'est pas bien connue, qui couvre à la fin. Il a également dissiper quelques mythes à propos de choses qui n'aident pas (eg. la soumission d'une binaire).
Technote 2259 "l'Ajout de l'Achat In-App pour votre iOS et Mac Applications"
Nous avons terminé la création d'un nouveau profil de configuration, il y avait une ligne quelque part (ne me souviens pas où, pas dans les docs pour l'achat in-app) qui dit que vous devez vous permettre d'achat in-app dans le profil de configuration. Nous ne pouvions pas le faire avec notre profil existant, nous avons donc créé une nouvelle, puis nous avons pu l'activer.
Essayer de réinitialiser les réglages de l'iphone et de supprimer l'application de l'iphone et de l'utilisation de la demande de l'id de produit directement sans le Bundle ID
Pour quelqu'un d'autre qui a ces questions, je recommande fortement la lecture de ce fil sur le Forum Apple.
J'ai essayé tout ce qui est suggéré dans l'Apple forums et ici, et encore ne pouvait pas le faire fonctionner. Trouvé la solution à votre application doit être transféré par Xcode pour le bac à sable pour être activé.
Évident, non? Eh bien, si vous travaillez avec une mise à jour pour une application existante, l'appareil restera le traiter comme un App Store d'application installée.
Afin de supprimer l'application de votre appareil. Puis installer l'application sur l'appareil à l'aide de Build & Run avec votre appareil connecté à votre Mac. Il devrait fonctionner maintenant 🙂
Dans mon cas, je n'ai pas terminé la banque info, la taxe d'infos, et des informations de contact.Une fois que j'ai fini cette manière, je peux obtenir mon productID, j'espère que ça aidera quelqu'un.
C'est là que vous allez mal, vous avez besoin de ces dans votre code:
NSSet *productList = [NSSet setWithObjects:product id]
Vous pouvez obtenir ce produit id from iTunes connect.
Et vous devez vous assurer que vous avez créé un utilisateur de test, et ont signé de l'original de votre compte iTunes. Veuillez voir ne pas se connecter avec le compte d'utilisateur test, indépendamment de ce que la documentation d'apple dit, juste l'utiliser quand un pop-up s'affiche.
Qu'est-ce que @"8" pour? votre produit est nommé com.super.duper.8 droit?
http://blog.mugunthkumar.com/coding/iphone-tutorial-%e2%80%93-in-app-purchases/
Un autre problème que j'ai eu était que je devais aller à la Fenêtre > Organisateur dans Xcode et supprimer mon application et le profil de configuration(s) et de rajouter mon profil d'approvisionnement de développement. J'ai redémarré l'appareil et xcode comme une mesure supplémentaire.
J'ai essayé toutes les solutions qui sont disponibles sur internet, et rien n'a fonctionné, absolument rien. Mon problème: Mon appareil est jailbreaké et avait Cydia sur elle. J'ai restauré les paramètres d'usine (Non jailbreaké) et cela a fonctionné la première fois et renvoyé à l'ID de produit, pas de problème.
Pour moi le problème était que j'avais choisi l'option "Activer le Contenu d'Hébergement" lorsque mis en place l'achat In-App. Donc j'ai dû l'éteindre et le problème a été résolu.
Il faut le stocker quelque temps, de rendre les produits disponibles pour tous les serveur (voir la documentation). Donc, vous pouvez rencontrer un délai entre la création d'un produit dans iTunes Connect et de voir que les produits id comme un valide lors de l'essai de l'appareil. Pour moi, il a fallu environ 12 heures jusqu'à ce que mon produits montré.
Une note pour les autres: ne pas utiliser un NSMutableSet pour l'Id de produit. Elle doit être un NSSet!
Si vous souhaitez conserver vos données d'application, mais vous voulez essayer la suppression de votre application pour résoudre ce problème, la synchronisation de votre périphérique. Puis de les supprimer de votre application et de la réinstaller à partir de Xcode -- cela a réglé le problème pour moi. Une fois qu'il fonctionne, vous pouvez restaurer votre appareil à partir de la sauvegarde -- cela ne prend que quelques minutes et les demandes de produit encore du travail après la restauration.
Pas exactement pourquoi, mais quand j'ai changé la demande de l'ID de produit à partir de 'com.mycompany.myapp.produit' le 'produit' il a commencé à travailler. Peut-être que c'est parce que de la façon dont j'ai le produit configuré dans iTunes Connect.
Lui donner un essai, pourrait fonctionner pour certains d'entre vous...
remplacer:
avec:
Un autre problème qui pourrait être. Si le nom de votre projet xCode n'est pas écrite de l'anglais, ou a d'autres caractères, ID de lot aura "------" lorsque le nom de votre application doit être. Je pensais que c'est juste une convention pour l'id de l'offre, d'avoir cette dans xCode. S'avère, c'était mon problème, le nom de votre projet xCode sur l'anglais ) je sais que ce n'est pas le cas pour la plupart, mais de toute façon)
J'ai tout essayé, tout le monde en parle. J'ai fini par faire un compte invité d'abord voir si l'ID de produit a pu être trouvé.... Il était. Alors j'ai commencé à arrêter de fumer tout dans le moniteur d'activité et de trouvé le problème. J'ai dû quitter la "boutique" processus ci-dessous. Tout d'un coup, j'ai arrêté l'obtention de la non valide ID de produit. Espère que ça aide quelqu'un là-bas.