Apple, к сожалению, отклонила мое приложение из-за отсутствия кнопки восстановления. Я хотел, чтобы у пользователя был беспроблемный опыт, но есть некоторые проблемы.
- (void)purchaseProUpgrade
{
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
// User is prompted for iTunes username and password here (1)
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
// Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
if( queue.transactions.count == 0 ) {
[self setUpgradeProductId];
// User is prompted for iTunes username and password here (2)
SKPayment *payment = [SKPayment paymentWithProductIdentifier:kInAppPurchaseProUpgradeProductId];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}else {
[[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerTransactionSucceededNotification object:self userInfo:NULL];
}
}
Является ли вышеуказанное хорошим решением? Логика будет следующей:
Проблемы с этим подходом: 1. Дополнительный вызов сервера 2. Пользователь должен ввести данные дважды.
Кто-нибудь реализовал кнопку «Восстановить», которую можно продемонстрировать?