IPHONE: Storekit - прерывание восстановления транзакций (покупка в приложении) - PullRequest
0 голосов
/ 09 ноября 2009

В соответствии с предложением Apple, я приложил кнопку к своему приложению для восстановления старых успешных транзакций в приложении для покупок в приложении.

Проблема заключается в следующем. Пользователь нажимает кнопку, и приложение начинает восстановление транзакций. Если приложение по какой-либо причине закрыто во время этого процесса, процесс продолжится при следующем запуске приложения.

В моем случае восстановление всех транзакций может занять некоторое время, особенно если у пользователя много транзакций. Итак, когда приложение запускается снова, я вижу черный экран, и приложение не загружается, пока не будет восстановлена ​​последняя транзакция.

Видимо, процесс восстановления транзакций приводит к зависанию приложения, которое не загружается, пока не завершится.

Как рекомендует Apple, у меня это есть в начале моего приложения ...

CustomStoreObserver *observer = [[CustomStoreObserver alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];

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

Я хотел бы иметь возможность прервать любое восстановление старых транзакций, которые могли бы выполняться при запуске программы, и просто разрешить их во время работы приложения.

Есть ли способ сделать это?

1 Ответ

1 голос
/ 09 ноября 2009

Не можете ли вы создать обозреватель хранилища в другом потоке / цикле выполнения, чтобы он не блокировал поток пользовательского интерфейса?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...