iPhone Store Kit de retour de produit non valide erreurs d'identification
Je suis en train de tester les Achats In-App sur mon iPhone et en cours d'exécution dans un problème où l'Id de produit je demande des renseignements pour finir par être retournés pour moi en tant que produit non valide Id dans la "didRecieveResponse" la méthode.
J'ai:
- Créé un magasin de produit associé à cette application. C'est l'ID de l'offre correspond à tout le reste. Il a été nettoyé pour la vente et approuvés par le développeur.
- Fait sûr de mon nouveau profil de configuration a dans le magasin d'app achats activée et il a le nom de l'application: "com.domaine.appname"
- Fait sûr que c'est le profil de configuration utilisé pour signer l'application sur mon iPhone.
- Fait en sorte que "com.domaine.appname" est l'ID de l'application utilisée pour construire le profil de configuration.
- Fait en sorte que "com.domaine.appname" est utilisé dans mon fichier plist comme l'identifiant de lot.
Tout semble être en place, mais je reçois toujours mes produits retournés pour moi comme non valide Id.
C'est le code, je suis en utilisant:
- (void)requestProductData {
SKProductRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: @"com.domain.appname.productid"]];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProducts = response.products;
NSArray *myInvalidProducts = response.invalidProductIdentifiers;
for(int i = 1; i < myInvalidProducts.count; ++i)
{
std::cout <<"invalid product id = " << [[myInvalidProducts objectAtIndex:i] UTF8String] << std::endl;
}
for(int i = 0; i < myProducts.count; ++i)
{
SKProduct * myProduct = [myProducts objectAtIndex:i];
std::cout << "Product Info:" << std::endl;
std::cout << "\tlocalizedTitle = " << [[myProduct localizedTitle] UTF8String] << std::endl;
std::cout << "\tlocalizedDescription = " << [[myProduct localizedDescription] UTF8String] << std::endl;
std::cout << "\tproductIdentifier = " << [[myProduct productIdentifier] UTF8String] << std::endl;
std::cout << "\tprice = " << [[myProduct price] doubleValue] << std::endl;
std::cout << "\tpriceLocale = " << [myProduct priceLocale] << std::endl;
}
[request autorelease];
}
Tous mes Id de produit montre dans l'invalide impressions et aucun d'entre eux montrent dans les "Infos Produit:" est affiché.
Toutes les suggestions sont grandement appréciés...
P. S. Oui, c'est construit comme Objective-c/c++.
peut-être une question stupide, mais avez-vous fait aller à iTunes Connect et ajouter le in-app-achat de produit que vous interrogez?
Pas une question stupide. J'ai ajouté le in-app-achat. J'ai vérifié son identité, et il tous les matches. Il a été nettoyé pour la vente et validé par le développeur.
ce n'est probablement pas non plus, mais j'ai remarqué que dans votre exemple de code que vous appelez "initWithProductIndentifiers" au lieu de "initWithProductIdentifiers"....
C'est juste une faute de frappe, désolé.
essayer InAppPurchase dans Cocos2d-x.en attente de quelqu'un pour me guider.pouvez-vous en mesure de me guider pour ce PEI.je suis nouveau à cela.Merci à l'Avance.
Pas une question stupide. J'ai ajouté le in-app-achat. J'ai vérifié son identité, et il tous les matches. Il a été nettoyé pour la vente et validé par le développeur.
ce n'est probablement pas non plus, mais j'ai remarqué que dans votre exemple de code que vous appelez "initWithProductIndentifiers" au lieu de "initWithProductIdentifiers"....
C'est juste une faute de frappe, désolé.
essayer InAppPurchase dans Cocos2d-x.en attente de quelqu'un pour me guider.pouvez-vous en mesure de me guider pour ce PEI.je suis nouveau à cela.Merci à l'Avance.
OriginalL'auteur EToreo | 2009-10-27
Vous devez vous connecter pour publier un commentaire.
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 à un compte existant, l'appareil restera le traiter comme un App Store d'application installée.
Supprimer, puis transférez-les à nouveau. Il devrait fonctionner maintenant 🙂
Ouais, je me demande ce que trop.
Il signifie l'exécution de l'application sur votre appareil à partir de l'intérieur de Xcode, plutôt que sur le simulateur. @Hector - merci, vous m'avez sauvé de toutes sortes de frustrations!
Vous devez supprimer l'application de votre appareil, puis créer et Exécuter sur l'Appareil de nouveau. Mon problème surgissent de faire un Build and Run contre un iTunes (Production) version de l'application, ce qui signifie que ma nouvelle version est encore en pointant à Apple de production iTunes serveurs, au lieu d'un bac à sable.
OriginalL'auteur Héctor Ramos
De supprimer l'application sur les tests de l'iPhone et de le réinstaller travaillé. Aussi, j'ai eu aussi attendu 8 heures depuis le dépôt de l'achat dans l'application de l'élément.
Eu ce problème, encore une fois - apparemment il tourne presque à chaque fois que j'en œuvre du PEI dans encore une autre application. La suppression de l'application, de faire une clean + réinstaller à partir de XCode, il fixe. Je crois que ce qu'il est corrigé fois précédentes.
OriginalL'auteur Henry
S'il vous plaît Aller à travers les étapes ci-dessous:
Connectez-vous à iTunes vous connecter en utilisant votre compte de développeur (https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wo/).
Allez à l'Onglet - "Contrats de, Fiscale et Bancaire"
Vérifier la Demande de Contrats et de Contrats dans le Processus de sections.
Découvrez la "iOS Applications payantes" et il y a des informations de Contact , des informations Bancaires et Fiscales Info sont besoin de mettre en place.
Lorsque "iOS Applications payantes" cellule va se déplacer vers les Contrats en Vigueur de la section, je vais être en mesure d'utiliser des Produits de Achat in-App.
S'il vous plaît aller à travers le lien ci-dessous pour plus d'informations:
http://developer.apple.com/library/ios/#technotes/tn2259/_index.html
OriginalL'auteur Kavita Mevada
Veuillez noter que lorsque l'iPhone est jailbreaké l' AppSync paquet pauses in-app-achat de tester complètement.
AppSync est installé avec Install0us comme une dépendance.
Vous n'avez pas à restaurer iOS complètement, il vous suffit de désinstaller AppSync dans Cydia pour tester in-app-achats avec succès.
Toutes les astuces de tous les forums, des tutoriels et des commentaires au sujet de fixind non valide se produit " n'a pas fonctionné pour moi jusqu'à ce que j'ai enlevé AppSync.
OriginalL'auteur Heps
J'ai eu un problème similaire avec une nouvelle application (v1.0 n'est pas encore sorti en magasin) que j'ai essayé d'ajouter des achats in-app. J'ai mis tout en haut, ajoutée des produits, etc. et mes produits revenait TOUJOURS comme non valide lorsque j'ai fait un SKProductsRequest.
J'étais sur le point de renoncer à l'ensemble du processus, quand j'ai vu un tangentiellement liés à poster sur les forums des développeurs Apple. Elle a suggéré de supprimer l'application à partir de l'appareil de test et de et de faire une nouvelle build+installer. Qui a fait le tour.
Juste pour être sûr, je l'ai essayé sur un autre appareil qui me donnait le même problème, et il a fixé là aussi.
C'est juste une supposition, mais je pense que si l'appareil dispose d'une construction qui a été faite avec un profil de configuration qui a été créé AVANT d'ajouter PEI, vous devez supprimer que de construire et de mettre sur un nouveau à l'aide de l'IAP profil. (Qui est, le remplacement de l'app en place ne suffit pas.)
OriginalL'auteur StevenDiz
si rien de mal dans votre code,
parfois, il est de retour invalide productId
tout simplement parce que, vous pourriez avoir besoin d'un temps de plus de 10 heure, pour vos changement de info. prise d'effet.
Ou, la référence du produit non valide, car quelque chose de mal sont restées sur votre appareil, de sorte que vous pouvez essayer une fois de plus avec les supprimer de votre application et de le créer encore une fois.
avec mon expérience,
l'espoir qu'il sera utile.
OriginalL'auteur istander
OK, donc après avoir fait tout ce que je pourrais peut-être penser à et la lecture à chaque forum, voici ce qui a fonctionné:
Refaire EVERYHING.
C'est ce qu'il a fallu pour obtenir mon magasin de travail. Ma meilleure supposition est que l'Apple serveurs back-end se faire défoncer jusqu'à et parfois vous avez juste besoin de commencer à partir de zéro.
Espère que cela aide tout le monde!
OriginalL'auteur EToreo
iTunes Connect interface pour le PEI a été récemment mis à jour qui peuvent causer des Invalides : < ID > erreur.
Vous pouvez maintenant ajouter un PEI dans iTunes connect, sans fixer le prix qui est par défaut en USD 0 et il va vous faire économiser de l'entrée.
L'ancienne version de l'INTERFACE utilisateur puisse se plaindre lorsque vous appuyez sur enregistrer si vous ne souhaitez pas modifier le champ prix à l'avance.
Il est très facile de rater ce domaine complètement et toute tentative d'obtenir de l'information à l'aide de ce Produit ID via n'importe quel iOS appel aurait pour résultat non Valide : < ID > plutôt que de vous dire qu'il a trouvé < ID > prix en USD 0.
OriginalL'auteur John