Ответ 1
После некоторых исследований я могу ответить на свой вопрос и поднять еще одну связанную с этим проблему. App Store вызывает payQueue и отправляет транзакцию. Транзакция отправляется с транзакцией .transactionState == SKPaymentTransactionStateRestored, not transaction.transactionState == SKPaymentTransactionStatePurchased.
Проблема в том, что, к сожалению, это отправляется только на одно устройство. Второе устройство не получает проводку. Поэтому, чтобы обнаружить автоматическое обновление или, скорее, обнаружить отсутствие автообмена и запретить устройству постоянную подписку, вам необходимо выполнить восстановлениеCompletedTransaction или "HTTP-сообщение с 64-битным кодированным JSON, содержащим последнюю транзакцию". Если fomer, пользователь должен указать свой пароль; это навязчивое. Если последнее, требуется много дополнительного кодирования. Итак, мой вопрос: почему у StoreKit нет команды:
(не существует) - [[SKPaymentQueue defaultQueue] restoreAttachedTransactions: (NSArray *) транзакции];
Эта команда будет протекать так же, как restoreCompletedtRansactions, но она только восстановит присоединенные транзакции и, самое главное, не потребует входа пользователя. Он обладает той же защитой безопасности, что и "HTTP-сообщение с 64-битным кодированным JSON, содержащим последнюю транзакцию", и позволяет полностью обрабатывать процесс покупки приложений в StoreKit, вместо того, чтобы требовать код веб-публикации.
Если это имеет смысл для вас, пожалуйста, предложите, как получить это в Apple.... спасибо.