Одно и то же приложение, тот же тестовый пользователь, два разных устройства с разным содержимым SKPaymentQueue. Что могло вызвать это?

У меня есть два iPhone, которые я использую для тестирования своего приложения.

На устройстве A:

NSLog(@"Unfinished Transactions: [%i]", [[SKPaymentQueue defaultQueue].transactions count]);

Какие результаты: «Незавершенные транзакции: [0]»

Когда я выполняю:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]

, функция

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

вызывается с 17 элементами в массиве транзакций, каждый из которых помечен как ВОССТАНОВЛЕННЫЙ. Итак, я перебираю набор и вызываю [[SKPaymentQueue defaultQueue] finishTransaction: transaction] для каждого.

После обработки каждого элемента (void) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentQueue *) вызывается очередь , и [[количество транзакций в очереди]] равно 4, а не 17, что это что-то вроде сюрприза.

Если я повторно запустил [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] на этом устройстве, я неоднократно получаю тот же результат - несмотря на то, что я сказал каждой транзакции, что я хочу, чтобы она была удалена из очереди, updateTransactions вызывается с 17 элементы для обработки.

На устройстве B,

$NSLog(@"Unfinished Transactions: [%i]", [[SKPaymentQueue defaultQueue].transactions count]);

по-прежнему выводит «Незавершенные транзакции: [0]»

Когда я запускаю

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]

, функция

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

НИКОГДА не вызывается. В конце концов вызывается

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue

, где

[[queue transactions] count]

равно 0.

Что может быть причиной этого? Это похоже на то, как очередь платежей связана с идентификатором устройства, а не с Apple ID тестовой учетной записи. Также прошу прощения за ужасное форматирование этого вопроса, я все еще привыкаю к ​​StackOverflow. :)

5
задан Scott McCoy 9 August 2011 в 02:33
поделиться