Frage

Ich versuche in App -Käufen in einer kostenlosen Anwendung zu implementieren.

Ich habe eine ProductD -ID "Test1" im In -App -Kaufmanager im iTunes Connect -Portal erstellt.

Wenn ich die Produktanfrage auf folgende Weise mache:

- (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];

}

Die Antwort ist immer 0. Ich verstehe nicht, was ich falsch mache. Dieser Code kam aus einem Tutorial. Die Dokumentation zu In -App -Käufen ist in der Regel sehr verwirrend und der gesamte Prozess in iTunes Connect gibt mir kein Vertrauen.

Ich dachte, die Bewerbung müsste online zum Verkauf in App -Einkäufen stehen, um zu arbeiten. Ich habe mich jedoch entschlossen, nicht in App -Einkäufe einbezogen zu werden, sondern den In -App -Kauf in iTunes zur Überprüfung verbinden. Während des Überprüfungsprozesses wurde die Anwendung abgelehnt, da sie mit den In -App -Einkäufen zum Testen zusammenarbeiten sollte.

Aber wie teste ich in App -Einkäufen, wenn die Produktliste immer bei Null liegt?

Wenn mir jemand mit mehr Erfahrung einen Rat dazu geben könnte, da ich schon verrückt damit werde!

Vielen Dank,

Mit freundlichen Grüßen,

Nuno

War es hilfreich?

Lösung

Die kohärenteste Lösung, die ich dieses Problems gefunden habe, war diese Checkliste. Es sollte weit verbreitet werden, um zu vermeiden, dass jemand das gleiche Problem angeht, das wirklich zeitaufwändig und verzweifelt ist:

  • Haben Sie In-App-Käufe für Ihre App-ID aktiviert?
  • Haben Sie überprüft, ob Sie für Ihr Produkt zum Verkauf angeboten wurden?
  • Haben Sie Ihre Bewerbung binär eingereicht (und optional abgelehnt)?
  • Stimmt die .plist -Bundle -ID Ihres Projekts zu Ihrer App -ID überein?
  • Haben Sie ein neues Bereitstellungsprofil für die neue App -ID generiert und installiert?
  • Haben Sie Ihr Projekt mithilfe dieses neuen Profiling -Profils mit dem Codezeichen konfiguriert?
  • Erstellen Sie für iPhone OS 3.0 oder höher?
  • Verwenden Sie die vollständige Produkt -ID, wenn Sie eine SkProdRequest erstellen?
  • Haben Sie mehrere Stunden gewartet, seit Sie Ihr Produkt zu iTunes Connect hinzufügen?
  • Sind Ihre Bankdetails in iTunes Connect aktiv? (über Mark)
  • Haben Sie versucht, die App von Ihrem Gerät aus zu löschen und neu zu installieren? (über Hector, S3B, Alex O, Joe und Alberto)
  • Ist Ihr Gerät Jailbreak? In diesem Fall müssen Sie den Jailbreak zurückkehren, damit IAP arbeiten kann. (Über oh mein Gott, Roman und Xfze)
  • Sind Sie vom echten iTunes -Konto ausgeloggt?
  • Haben Sie versucht, Geräte neu zu starten?
  • Sind Sie auf dem Gerät? (Funktioniert nicht auf Simulator)

Credits gehen zu Troy Brant

Andere Tipps

Schauen Sie sich hier an, das beantwortete alle meine Fragen (und das Framework ist auch einfach zu bedienen :-):

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

Aber ich muss sagen, dass das gesamte In-App-Kauf eine Pita ist-meine App wurde gerade veröffentlicht, und natürlich habe ich sie heruntergeladen und den In-App-Kaufbildschirm überprüft. Ratet mal was, es kam völlig leer auf!

Nach einigen Lesen scheint es, dass die In -App -Kaufprodukte, selbst wenn alles akzeptiert und zum Verkauf angeboten wird, noch eine Weile benötigt, um online verfügbar zu werden - nach 3 Stunden funktionierte sie endlich ...

BEARBEITEN:

Sie müssen den In-App-Kauf für Ihre App erstellen und so einstellen, dass es in iTunes Connect zum Verkauf steht. Sie müssen einen Screenshot noch nicht hochladen oder bereits überprüft werden, um es im Entwicklungsmodus zu testen.

Wie haben Sie den Kauf in iTunes Connect benannt? Normalerweise sollten Sie einen Com.comPanyname.ProductName.PurchaseName -Namen verwenden, und der Name, den Sie von Ihrer App anfordern, ist genau das gleiche.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top