2013-08-13 1 views
3

Моя компания недавно передала разработку приложения iOS стороннему разработчику. Приложение включило много покупок в приложении, и разработчик прислал нам различные сборки, многие из которых были предварительно альфа и содержали ошибки. В результате у моего телефона (iPhone 4S) появилось много недействительных попыток покупки в приложении, которые заставляют его постоянно всплывать запрос на пароль много раз в день.Как удалить очень старую, несуществующую покупку в приложении из очереди транзакций

Тестовая учетная запись для покупок была удалена. Приложение было удалено с моего телефона.

Некоторые поисковые запросы и поиск в stackoverflow, похоже, предполагают, что в очереди есть несколько покупок, которые продолжают пытаться закончить, когда я использую другое приложение, которое имеет покупки в приложении. Однако я не знаю, как очистить эту очередь и удалить эти неприятные всплывающие окна.

Есть ли надежный метод или краткое извлечение кода, которое я могу использовать, чтобы это сделать? Я имею доступ к Xcode и Xamarin Studio и имею средние технические знания, хотя я не являюсь экспертом в разработке iOS.

Заранее спасибо.

ответ

6

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

Вы уверены, что удалили это приложение? Вы уверены, что вы не с помощью приложения, возможно, с другим именем, с тем же пакетомID, что и в старом приложении?

Редактировать: По предложению Нанде, я добавляю код к фактическому ответу, чтобы люди могли видеть его без необходимости проверять мою ссылку.

// take current payment queue 
SKPaymentQueue* currentQueue = [SKPaymentQueue defaultQueue]; 
// finish ALL transactions in queue 
[currentQueue.transactions enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
    [currentQueue finishTransaction:(SKPaymentTransaction *)obj]; 
}]; 
+0

Да, вы абсолютно правы. Приложение было заменено совершенно новым приложением, написанным другой командой, но, насколько мне известно, идентификатор пакета одинаковый. Можно ли закрыть транзакции с помощью этого нового приложения? Я вводил пароль каждый раз, когда всплывающее окно появляется в надежде, что оно будет закрывать транзакции один за другим, но это, похоже, не происходит. Кроме того, я понятия не имею, как он аутентифицирует пароль, потому что тестовая учетная запись больше не существует. Изменить: я должен добавить, что ни одно приложение еще не было отправлено в хранилище приложений - обе песочницы. – Nande

+0

Если вы не боитесь потерять все транзакции для своего приложения, я предлагаю вам выполнить этот код: http://pastebin.com/82K0pQiC (не забудьте включить ) –

+0

Спасибо, я попробую - приложение замены, использующее тот же идентификатор bundleID, было сделано в Xamarin, поэтому мне нужно попробовать и выяснить, как сделать этот код на C# - я буду отмечать вас как принятый ответ, если я могу получить его Работа. – Nande

Смежные вопросы