2016-04-22 12 views
0

Ich frage mich, ob es eine Möglichkeit gibt, zum ursprünglichen Kaufdatum eines konsumierbaren, einmaligen In-App-Kaufs zu gelangen. Die IAPs in meiner App sind für 3 Monate gültig. Wenn jedoch ein Nutzer die App löscht und seinen Kauf wieder herstellt, kann ich keine Möglichkeit finden, das ursprüngliche Kaufdatum abzurufen, um zu sehen, ob die drei Monate vergangen sind. Irgendwelche Ideen?Erhalten IAP original Kaufdatum?

[[RMStore defaultStore] restoreTransactionsOnSuccess:^(NSArray *transactions) { 
    [[Game user] boughtFish]; 
    NSLog(@"Transactions restored"); 
} failure:^(NSError *error) { 
    NSLog(@"Something went wrong"); 
}]; 

Antwort

2

Ich schaute in die Dokumentation und source code.

Der Erfolgsblock von restoreTransactionsOnSuccess nimmt ein Array von Transaktionen.
Es kommt natürlich auf den neugierigen Verstand, nach seinem Grund zu fragen, um zu sein.

Es ist easily found, dass das Array mit Objekten des Typs SKPaymentTransaction

Eine nette Eigenschaft dieser Klasse gefüllt ist transactionDate vom Typ NSDate, das ist das, was Sie wollen.


Ein einfacher Proof of Concept [Erstellung und Test benötigt] ist hier

[[RMStore defaultStore] restoreTransactionsOnSuccess:^(NSArray* transactions) 
{ 
    NSLocale* dateLocale = [NSLocale autoupdatingCurrentLocale]; 

    for (SKPaymentTransaction* t in transactions) 
     NSLog(@"%@", [t.transactionDate descriptionWithLocale: dateLocale]); 
} 
failure:^(NSError* error) 
{ 

}]; 
+0

Danke für die Antwort. Sie sollten sich nicht zum Gericht beeilen. Ich habe mich lange damit beschäftigt, bevor ich hier gefragt habe. Vielleicht habe ich nur an den falschen Stellen nachgesehen. – user4992124

+1

@ user4992124 Wahr, tut mir leid. Ich war ein Idiot. Bitte akzeptiere meine Entschuldigung. Happy Coding und froh zu helfen :) –