Я пытаюсь разрешить промо-коды для моего приложения (в основном, для вознаграждения моих бета-тестеров :). У меня есть продукты IAP (в основном расходные материалы) и промо-коды для этих продуктов (мое приложение в настоящее время работает с версией 1.0 - это для 1.1 - поэтому коды действительны, и приложение находится в производстве). Я могу выкупить коды в App Store (и они показывают, что они были успешно завершены), но эти транзакции не отображаются в моем приложении. Я думал, что App Store создал незавершенную транзакцию, которая будет представлена приложению при запуске, но я застрял - я не вижу транзакций, поступающих в мое приложение при запуске.
Несколько вещей:
- Я создал синглтон IAPHelper для обработки транзакций (это делегат SKPaymentTransactionObserver)
- В методе AppDelegate applicationDidFinishLaunchingWithOptions добавляю IAPHelper в качестве наблюдателя очереди транзакций в SKPaymentQue по умолчанию * *
- Приложение запускается, но неполные транзакции не загружаются.
- Я использую одно и то же устройство и учетную запись для доступа к App Store, чтобы получить промо-код и запустить приложение (с помощью отладчика в Xcode).
Вот код для AppDelegate:
m_Helper = [IAPHelper sharedIAPHelper];
[m_Helper initHelper]; // Just initializes internal members (NSMutableArrays)
[[SKPaymentQueue defaultQueue] addTransactionObserver:m_Helper];
[m_Helper restoreTransactions]; // Forcing a call to restoreCompletedTransactions
NB: я пробовал это, не сохраняя его как член, но подумал "что за хрень, я попробую что-нибудь в этом пункте ". Это одноэлементный файл, поэтому он должен существовать независимо от области действия AppDelegate.
Я пробовал несколько вещей - добавление методов для КАЖДОГО метода SKPaymentTransactionObserver, чтобы увидеть, вызывается ли SOMETHING, - это не так. Я не получаю никаких вызовов ни для каких методов делегата.
Я попытался принудительно восстановить restoreCompletedTransactions в очереди по умолчанию - получил вызов paymentQueueRestoreCompletedTransactionsFinished, но транзакций в уведомлении нет.
Пока я не НУЖНО иметь промо-коды, я хочу, чтобы люди потенциально могли покупать товары IAP в App Store. И я очень расстроен, что не могу понять, почему я не получаю НИКАКОГО погашения кода.
Я ищу какие-то странные впечатления, которые вы, возможно, испытали с этим материалом. Любое руководство по его устранению (просмотр незавершенных транзакций, какой аккаунт, какие промо-коды и т. Д. c.). Я, честно говоря, в растерянности, почему я не получаю никаких транзакций в свое приложение.
Заранее спасибо.