web-dev-qa-db-fra.com

Je reçois une erreur en demandant des produits auprès de l'App Store pour IAP

Dans IOS6, je effectuais avec succès des achats intégrés dans mon application.

J'ai téléchargé IOS/et Xcode 5 Beta et essayé d'ouvrir le même projet.

Mon code pour obtenir des produits de l'App Store est:

- (void)requestProductsWithIdentifiers:(NSSet*)identifiers
{
        @synchronized(self)
    {
            DebugLog(@"requesting products with identifiers: %@", identifiers);

            self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers] ;
            self.productsRequest.delegate = self;
            [self.productsRequest start];
    }
}

Mais cela retourne une erreur:

[IAPHelper request:didFailWithError:](114): request did fail with error: <SKProductsRequest: 0xb846a10> / Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0xb846b10 {NSLocalizedDescription=Cannot connect to iTunes Store}

Où peut être le problème?

36
Burak

Apple a bloqué le test des achats intégrés à l'application ... 

Voici le lien vers les notes de publication https://developer.Apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//Apple_ref/doc/uid/TP40001051 -CH1-SW578

Voir: section simulateur iOS

StoreKit (achats intégrés) ne fonctionnera pas dans le simulateur. 13962338

Très triste...

58
Arkady

J'ai rencontré le même problème récemment après l'installation de xcode 5 et du simulateur iOS 7.

Auparavant, SKProductRequests fonctionnait dans le simulateur, mais échoue maintenant avec le code d'erreur 2 . (Ils fonctionnent toujours sur les périphériques).

Je ne suis pas sûr de la cause, mais ma solution consistait à télécharger le simulateur iOS 6.1 . Préférences xcode-> Téléchargements-> Composants et à sélectionner le simulateur iOS 6.1.

Après cela, j'ai dû sélectionner le simulateur iOS 6.1 comme cible pour mon appareil, supprimer l'application du simulateur, puis compiler et l'exécuter à nouveau. Maintenant, SKProductRequests a renvoyé les informations sur le produit comme prévu.

J'ai essayé de revenir au simulateur iOS 7, mais SKProductRequests a de nouveau échoué.

12
adrian

Mise à jour : Le test des achats intégrés au simulateur semble fonctionner dans la version bêta de Xcode 6

6
benzguo
  1. Vérifiez que vous êtes déconnecté d'iTunes et d'App Store (Paramètres -> iTunes et App Store -> appuyez sur l'identifiant Apple -> Déconnexion).

  2. Retournez à votre application, effectuez à nouveau l'achat et connectez-vous avec un compte d'utilisateur test, car les versions de développement accèdent au magasin Sandbox et non au magasin de production.

2
Tafkadasoh

Comme l'a dit Arkady avec la version GM de XCode 5, vous ne pouvez pas tester les achats intégrés dans le simulateur. Cependant, j'ai pu tester les achats in-app sur mon iPad 2 sous iOS 7.0.2 en me déconnectant d'iTunes et d'App Store (comme le dit Tafkadasoh), puis en exécutant l'application sur l'appareil depuis XCode. Lorsque je suis arrivé à l'achat intégré à l'application, on m'a demandé d'entrer un identifiant Apple et lorsque j'ai saisi les informations du compte d'utilisateur test (que j'avais créées dans iTunes Connect), j'ai réussi à exécuter un achat intégré à l'application dans Mode bac à sable.

1
hypermiler

Les notes de publication n'indiquent pas qu'ils ont bloqué les achats intégrés, le texte indique qu'il existe un bogue connu: "StoreKit (achats intégrés) ne fonctionnera pas dans le simulateur. 13962338", si je le lis correctement. Vraisemblablement 13962338 est le numéro de bogue. Remarquez que si c'était un politicien qui faisait cette déclaration, je pourrais être d'accord avec vous :-)

PS Comme ils ont supprimé les paramètres iTunes, il est difficile de faire des achats in-app.

PPS Peut-être devrions-nous tous commencer à générer des rapports de bogue sur les fichiers.

0
user667522