36 votes

J'obtiens un message d'erreur lorsque je demande des produits à l'App Store pour l'IAP.

Dans IOS6, je réussissais à faire des achats in-app dans mon application.

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

Mon code pour obtenir les produits de l'app store est le suivant :

- (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 il renvoie 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ù se situe le problème ?

58voto

Arkady Points 1136

Apple a bloqué les tests d'achats in-app...

Voici le lien vers les notes de version 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 In-App) ne fonctionnera pas dans le simulateur. 13962338

Très triste...

12voto

adrian Points 101

J'ai rencontré le même problème récemment après avoir installé xcode 5 et le simulateur iOS 7.

Auparavant, les SKProductRequests fonctionnaient dans le simulateur, mais maintenant ils échouent avec le code d'erreur 2. (Elles fonctionnent toujours sur les appareils).

Je ne suis pas sûr de la cause de ce problème, mais ma solution a été de télécharger le simulateur iOS 6.1. xcode Préférences->Téléchargements->Composants et sélectionnez le simulateur iOS 6.1.

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

J'ai essayé de revenir au simulateur iOS 7 mais les SKProductRequests ont recommencé à échouer.

6voto

benzguo Points 129

Mise à jour : Le test des achats in-app dans le simulateur semble fonctionner dans la version bêta de Xcode 6

2voto

Tafkadasoh Points 1958
  1. Vérifiez que vous êtes déconnecté d'iTunes et de l'App Store (Réglages -> iTunes et App Store -> touchez l'identifiant Apple -> Déconnexion).

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

1voto

hypermiler Points 53

Avec la version GM de XCode 5, comme l'a dit Arkady, vous ne pouvez pas tester les achats dans l'application 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 de l'App Store (comme le mentionne Tafkadasoh) puis en lançant l'application sur l'appareil à partir de XCode. Lorsque je suis arrivé à l'achat in-app, j'ai été invité à entrer un identifiant Apple et lorsque j'ai entré les informations du compte utilisateur de test (que j'avais créé dans itunes connect), j'ai pu exécuter avec succès un achat in-app en mode bac à sable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X