Question

Je suis en train de mettre en œuvre des achats d'applications dans une application gratuite.

J'ai créé un identifiant productd « test1 » dans le gestionnaire des achats d'applications dans itunes connecter portail.

Quand je fais de la manière suivante la demande du produit:

- (id)init {

     NSSet *productIdentifiers = [NSSet setWithObjects:
                             @"test1",
                             nil];

     if ((self = [self initWithProductIdentifiers:productIdentifiers])) {                

}

return self;

}

- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers
{    
if ((self = [super init]))
{
    // Store product identifiers
    _productIdentifiers = [productIdentifiers retain];

    // Check for previously purchased products
    NSMutableSet * purchasedProducts = [NSMutableSet set];

    for (NSString * productIdentifier in _productIdentifiers)
    {
        BOOL productPurchased = [[NSUserDefaults standardUserDefaults] boolForKey:productIdentifier];

        if (productPurchased)
        {
            [purchasedProducts addObject:productIdentifier];
            NSLog(@"Previously purchased: %@", productIdentifier);
        }

        NSLog(@"Not purchased: %@", productIdentifier);
    }

    self.purchasedProducts = purchasedProducts;
}

return self;

}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {

NSLog(@"Received products results...");   
self.products = response.products;
self.request = nil;    

[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:_products]; 

NSLog(@"%d",[self.products count]);
NSEnumerator *e = [self.products objectEnumerator];

id object;

while(object=[e nextObject])
{
    NSLog(@"item");
    NSLog(@"%s",(char*)object);
}

}

- (void)requestProducts {

self.request = [[[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers] autorelease];
_request.delegate = self;
[_request start];

}

La réponse est toujours 0. Je ne comprends pas ce que je fais mal. Ce code est venu d'un tutoriel. La documentation relative à l'achat d'applications ont tendance à être assez déroutant et tout le processus itunes connecter ne marche pas donner la confiance de moi.

Je pensais que l'application devait être en ligne pour la vente dans les achats d'applications à travailler. Cependant, j'ai décidé de ne pas inclure dans les achats d'applications, mais laissez-le dans l'achat d'une application à se connecter itunes pour examen. Au cours du processus d'examen, la demande a été rejetée parce qu'elle doit travailler avec l'application des achats de fins de test.

Mais comment testons I dans les achats d'application si la liste des produits est toujours à zéro?

Si quelqu'un avec plus d'expérience pourrait me donner un avis à ce sujet, puisque je suis déjà devient fou avec elle!

Merci,

Avec mes meilleures salutations,

Nuno

Était-ce utile?

La solution

La solution la plus cohérente que j'ai trouvé à ce problème était cette liste. Il devrait être large spreaded pour quiconque éviter de passer par le même problème qui est vraiment beaucoup de temps et désespérant:

  • Avez-vous activé Achats In-App pour votre ID App?
  • Avez-vous vérifié autorisé à la vente de votre produit?
  • Avez-vous présenté (et éventuellement rejeté) votre binaire d'application?
  • Votre projet correspond .plist ID de Bundle votre ID App?
  • Avez-vous généré et installé un nouveau profil de provisionnement pour le nouvel ID App?
  • Avez-vous configuré votre projet signe de code en utilisant ce nouveau profil de provisionnement?
  • Êtes-vous construire pour iPhone OS 3.0 ou supérieur?
  • Utilisez-vous l'ID complète du produit lorsque lorsque vous faites un SKProductRequest?
  • Avez-vous attendu pendant plusieurs heures depuis l'ajout de votre produit à iTunes Connect?
  • Vos coordonnées bancaires actifs sur iTunes Connect? (Via Mark)
  • Avez-vous essayé de supprimer l'application de votre appareil et de réinstaller? (Via Hector, S3B, Alex O, Joe, et Alberto)
  • Votre appareil est jailbreaké? Si oui, vous devez revenir le jailbreak pour l'IAP au travail. (Via oh mon dieu, romain, et xfze)
  • Êtes-vous déconnecté de compte réel iTunes?
  • Avez-vous essayé de redémarrer appareil?
  • Êtes-vous sur le périphérique? (Ne fonctionne pas sur simulateur)

Crédits vont Troy Brant

Autres conseils

Jetez un coup d'oeil ici, qui a répondu à toutes mes questions (et le cadre est simple à utiliser, aussi: -):

http: // blog. mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/

Mais je dois dire que le tout-app chose d'achat est un PITA - mon application tout est sorti, et bien sûr je l'ai téléchargé et vérifié l'application dans l'écran d'achat. Devinez quoi, il est venu complètement vide!

Après quelques lecture.Jusqu'à il semble que même si tout est accepté et prêt à vendre, l'in-app acheter des produits encore besoin d'un certain temps pour être disponible en ligne - au bout de 3 heures, il a finalement travaillé ...

EDIT:

Vous devez créer l'achat en application pour votre application et définir pour effacer à vendre à itunes connecter. Vous n'avez pas besoin de télécharger une capture d'écran ou encore ont déjà examiné afin de pouvoir le tester en mode développement.

Comment avez-vous appelé l'achat dans itunes se connecter? Normalement, vous devez utiliser un nom de com.companyname.productname.purchasename, et le nom que vous demandez à votre application ha à être exactement la même chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top