2

я не завершил сделку в моем приложении, поэтому, когда я пытаюсь купить в приложениях с этим ID я получил это сообщение:сделка не завершена с помощью SKPayment

это в покупке приложения уже купило это восстановить для бесплатно

Но когда я нажимаю кнопку ok, методы делегата никогда не вызываются.

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{ 
} 

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { 
} 

Как я могу поймать какое-либо событие, чтобы завершить эту транзакцию?

+0

Это случай, когда вы смотрите, где вы делаете покупку, но заново запускаете приложение перед его завершением? –

ответ

2

Когда пользователь пытается что-то купить, почему бы не сначала проверить, находится ли эта покупка уже в очереди?

BOOL alreadyInProgress = NO; 
for (SKPaymentTransaction *tx in [[SKPaymentQueue defaultQueue] transactions]) 
{ 
    alreadyInProgress |= [tx.transactionIdentifier isEqualToString:productId]; 
} 
if (alreadyInProgress) 
{ 
    // Alert that the purchase is already active 
} 
else 
{ 
    // Your purchase flow 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^