Ваш первый вопрос в представлении действий во время медленной обработки.
Вы можете перехватить состояние «SKPaymentTransactionStatePurchasing» в очереди платежей, чтобы создать представление предупреждений с индикатором активности. Отключить представление в состояниях «Закуплено», «Восстановлено» и «Не выполнено» после завершения обработки. Сгенерированные StoreKit предупреждения будут делать один исчезнет и снова появится, как требуется на протяжении всего процесса.
case SKPaymentTransactionStatePurchasing:
purchaseActivityIndicator = [[UIAlertView alloc] initWithTitle:@"Processing purchase" message:@"Please wait..." delegate:self cancelButtonTitle:nil otherButtonTitles:nil,nil];
UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[activity setFrame:CGRectMake(121.0f, 80.0f, 36.0f, 36.0f)];
[purchaseActivityIndicator addSubview:activity];
[activity startAnimating];
[activity release];
[purchaseActivityIndicator show];
[purchaseActivityIndicator release];
break;
Что касается второго вопроса, я запускаю загрузку элементов моего магазина во время запуска приложения, чтобы они были готовы к тому времени, когда пользователь попадет в магазин. Поскольку они загружают асинхронно, они должны быть готовы к тому времени, когда пользователь перейдет в представление магазина.
Не уверен в последнем вопросе.
Steve