Ich verwende in meiner App die SKStoreProductViewController
. Es erscheint korrekt, aber mit ein paar Sekunden Verzögerung, was die Benutzerfreundlichkeit verlangsamt.SKStoreProductViewController erscheint mit Verzögerung
Ist in meinem Code etwas nicht in Ordnung? Oder sollte ich den Benutzer informieren, dass der VC geladen wird? Denn jetzt kann man glauben, dass nichts passiert nach Drücken der Taste (die den folgenden Code auslöst):
-(void)launchApp:(id)sender {
// Recall on main thread if necessary
if (![NSThread isMainThread]) {
[self performSelectorOnMainThread:@selector(launchApp:)
withObject:sender
waitUntilDone:NO];
return;
}
// Initialize Product View Controller
SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewController alloc] init];
// Configure View Controller
[storeProductViewController setDelegate:self];
[storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : @"*********"}
completionBlock:^(BOOL result, NSError *error) {
if (error) {
NSLog(@"Error %@ with User Info %@.", error, [error userInfo]);
} else {
// Present Store Product View Controller
[self presentViewController:storeProductViewController animated:YES completion:nil];
}
}];
}
Danke, ich habe für eine Sekunde die Logik hinter den Blöcken vergessen .. Ich habe die erste Lösung verwendet und es ist in Ordnung, da der VC sein eigenes "Laden" -Label hat. Vielen Dank ! – rdurand
@Matthias - Gibt es eine Idee, ob es möglich ist, für den Aufruf von loadProductWithParameters ein Timeout zu setzen? – runamok
Eine Anmerkung - Apple sagt, dass Sie Ihre Geschäftskennung als NSNummer und nicht als NSString übergeben sollten. – Zack