Domanda

Sto cercando di attuare in app acquisti in un'applicazione gratuita.

Ho creato un productd id "test1" all'interno in app acquisti manager in iTunes Connect portale.

Quando faccio la richiesta del prodotto nel seguente modo:

- (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 risposta è sempre 0. Non capisco quello che sto facendo di sbagliato. Questo codice è venuto da un tutorial. La documentazione relativa a app acquisti tendono ad essere molto confusa e l'intero processo in iTunes Connect doesnt darmi fiducia.

Ho pensato che l'applicazione necessaria per essere on-line per la vendita per in app acquisti di lavorare. Tuttavia, ho deciso di non inclusi in app acquisti, ma lasciare che il in app purchase in iTunes Connect per la revisione. Durante il processo di revisione, la domanda è stata respinta perché dovrebbe lavorare con l'in app acquisti per il test.

Ma come fare test che in app acquisti se il prodotto viene sempre messa a zero?

Se qualcuno con più esperienza potrebbe darmi un consiglio su questo, dal momento che sto già ricevendo pazzo con essa!

Grazie,

Con i miei migliori saluti,

Nuno

È stato utile?

Soluzione

La soluzione più coerente, che ho trovato a questo problema è stata questa lista di controllo. Va vasta spreaded al fine di evitare chiunque passando per lo stesso problema che è davvero lunga e desperating:

  • Hai attivato acquisti in-app per il vostro App ID?
  • Hai controllato eliminato in vendita per il vostro prodotto?
  • Hai trasmesso (e facoltativamente respinto) il vostro binario di applicazione?
  • Fa la partita di progetto .plist Bundle ID l'ID applicazione?
  • Avete generato e installato un nuovo profilo di provisioning per il nuovo App ID?
  • Hai configurato il vostro progetto per firmare il codice utilizzando questo nuovo profilo di provisioning?
  • State voi costruendo per iPhone OS 3.0 o superiore?
  • Si sta utilizzando l'ID prodotto completo quando quando si effettua una SKProductRequest?
  • Hai atteso diverse ore in quanto l'aggiunta del prodotto per iTunes Connect?
  • I tuoi dati bancari attivi su iTunes Connect? (Via Marco)
  • Hai provato cancellando l'applicazione dal dispositivo e reinstallare? (Via Ettore, S3B, Alex O, Joe, e Alberto)
  • È il vostro dispositivo jailbroken? Se è così, è necessario ripristinare il jailbreak per IAP al lavoro. (Via oh mio dio, romana, e xfze)
  • Sei disconnesso da vero e proprio conto iTunes?
  • Hai provato a riavviare dispositivo?
  • Sei sul dispositivo? (Non funziona su Simulator)

Crediti vanno a Troy Brant

Altri suggerimenti

Date un'occhiata qui, che ha risposto a tutte le mie domande (e il quadro è semplice da usare, anche: -):

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

Ma devo dire che l'intera cosa di acquisto in-app è una valle di lacrime - la mia app appena stato rilasciato, e, naturalmente, ho scaricato e controllato la schermata di acquisto in-app. Indovinate un po ', è venuto completamente vuoto!

Dopo qualche lettura fino sembra che anche se tutto è accettato e pronti per la vendita, l'in-app acquisto di prodotti ancora bisogno di un po 'per diventare disponibili online - dopo 3 ore finalmente ha funzionato ...

EDIT:

È necessario creare l'acquisto in-app per la vostra applicazione e impostare per cancellare in vendita in iTunes Connect. Non è necessario caricare uno screenshot ancora o lo hanno già rivista al fine di essere in grado di provarlo in modalità di sviluppo.

Come hai nome l'acquisto in iTunes Connect? Normalmente è necessario utilizzare un nome com.companyname.productname.purchasename, e il nome è richiesta dalla tua app ha per essere esattamente lo stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top