Покупка в приложении занимает слишком много времени, чтобы отобразить окно с уведомлением о подтверждении
Я столкнулся со следующей проблемой: когда мое приложение запускается на устройстве, и я нажимаю кнопку «КУПИТЬ», которая запускает механизм покупки внутри приложения, для отображения стандартного подтверждения требуется до десяти секунд.UIAlertView
тот, который говорит: «Вы хотите купить...", Я никогда не видел такого поведения раньше. Обычно это происходит сразу. Итак, сначала я подумал, что это может быть связано с плохим интернет-соединением или чем-то в этом роде, но симулятор использует ту же сеть Wi-Fi и работает отлично, представление предупреждений отображается мгновенно, как и должно быть. Так что проблема, вероятно, лежит где-то еще. Кто-нибудь уже решил эту проблему?
Это нажатие кнопки:
- (void)buyItemTapped:(id)sender
{
[[InAppPurchaseManager sharedInstance] buy:[NSString stringWithFormat:@"com.mycompany.myapp.unit%d", [sender tag] + 1]];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(transactionFailed)
name:TRANSACTION_FAILED_NOTIFICATION
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(productPurchased:)
name:PRODUCT_PURCHASED_NOTIFICATION
object:nil];
}
метод покупки:
- (void)buy:(NSString *)identifier
{
SKProduct *product = [self.products objectForKey:identifier];
if (product)
[self purchaseProduct:product];
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Invalid Product Identifier"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
Метод покупки продукта:
- (void)purchaseProduct:(SKProduct *)product
{
if ([SKPaymentQueue canMakePayments])
{
SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
else
NSLog(@"Cannot make purchase");
}