Я пишу приложение для Mac для Mac App Store, которое используется при покупке приложения. Я дважды проверил, и я думаю, что все реализовал правильно. Поэтому, когда я делаю запрос продукта, метод делегата
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
вызывается с правильным идентификатором продукта. Затем я делаю платеж, используя
[[SKPaymentQueue defaultQueue] addPayment:payment];
Проблема появляется в этой точке. В первые 10-15 минут диалог покупки вообще не появляется, и я также не получаю уведомление updatedTransactions
. Через некоторое время, если я попытаюсь снова, все работает правильно, через 1-2 секунды мне будут предложены мои учетные данные. Это кажется очень странным для меня, потому что они должны работать с самого начала.
Из-за этого мое приложение было отклонено несколько раз, заявив, что в приложении покупки не работают.
Да, я добавил код подтверждения квитанции, и, если он не существует, я выхожу из приложения с кодом 173, у меня запрашивают учетные данные, затем приложение открывается, но входящие приложения не работают даже после , И да, я проверил это со сборкой, которая была создана с профилем распространения. Я использую XCode 4.2, и моя ОС - Lion.
После добавления платежа в очередь я попытался запустить таймер, чтобы периодически проверять свойство transactions
SKPaymentQueue
. transactionIdentifier
является правильным, и transactionState
является SKPaymentTransactionStatePurchasing
. Это говорит мне, что существует некоторая проблема связи между StoreKit
и серверами Apple.
Кто-нибудь еще сталкивался с этой проблемой? Буду признателен за любую помощь, я борюсь с этим уже 3 дня и не могу найти решение для этого, и это сводит меня с ума.