Требуется вход в систему? Проблема с покупкой всплывающего окна в приложении?

Я интегрирую покупки в приложении в свое приложение, оно отлично работает для покупки и восстановления элементов. Но есть одна проблема,

Когда я покупаю товар с помощью [email protected], он успешно покупает товар, а также восстанавливаю работоспособность.

Теперь я удалил приложения со своего устройства, а также удалил учетные данные из iTunes и App Store. и снова установил.

Когда я нажимаю кнопку восстановления, появляются два всплывающих окна: одно с [email protected], а второе - Выход или создание пользователя.

Каждый раз, когда я перехожу с заднего плана на передний план, каждый раз отображается всплывающее окно входа.

ПРИМЕЧАНИЕ. Я ТАКЖЕ ВЫЗЫВАЮ метод finishTransaction. Но для меня это не работает.

При отображении всплывающего окна входа в систему не вызывается ни один метод.

введите описание изображения здесь

Как я мог это решить?


person Kirit Modi    schedule 28.03.2017    source источник
comment
Вы реализовали автоматическое продление подписки в приложении?   -  person Sagar Thummar    schedule 03.04.2017
comment
Пользователь должен войти в систему, чтобы совершить покупку в приложении. Это системный диалог, отображаемый ОС, не имеющий ничего общего с вашим приложением и не обеспечивающий обратных вызовов для вашего кода через делегата.   -  person Lefteris    schedule 06.04.2017
comment
@Lefteris, но пользователь пока не хочет покупать или восстанавливать. хотя всплывающее окно отображается постоянно.   -  person Kirit Modi    schedule 06.04.2017
comment
Очевидно, вы инициализируете что-то из StoreKit, которое это запускает. Вы можете не вызывать метод, но даже выполнение инициализации чего-либо из StoreKit вызовет этот   -  person Lefteris    schedule 06.04.2017
comment
@Lefteris, если пользователь хочет приобрести товар с другим Apple ID. затем инициализирую, в это время есть два всплывающих окна. одно всплывающее окно с идентификатором электронной почты, я уже купил с этим идентификатором электронной почты. и другое всплывающее окно с новым входом. После отмены Оба, хотя одно всплывающее окно с идентификатором электронной почты при входе в систему постоянно.   -  person Kirit Modi    schedule 06.04.2017
comment
Я уже несколько месяцев веду такое же поведение. Я даже подумываю об удалении моего собственного бета-приложения со своего устройства. Я даже не хочу представлять, что думают об этом мои пользователи. Я хочу, чтобы они протестировали приложение, а система выдает несколько всплывающих окон каждый час. Даже когда мое приложение работает в фоновом режиме.   -  person zirinisp    schedule 23.10.2017
comment
Вы все должны понимать, что приложение ведет себя по-разному в режиме песочницы. Он не будет просить пользователя так много раз войти в систему, когда приложение работает. Я нашел отличную статью кого-то, кто указал на эту вещь, но я не могу найти эту статью для ссылки здесь. В этой теме даже есть кто-то, говорящий, что после того, как его приложение было одобрено и он выставил его на продажу, надоедливые всплывающие окна прекратились: github.com/bizz84/SwiftyStoreKit/issues/307   -  person Starsky    schedule 17.02.2019


Ответы (3)


Насколько мне известно, это происходит в двух случаях.

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

  2. Некоторые автоматически возобновляемые подписки должны быть продлены. iOS также автоматически запускает транзакцию покупки для транзакции с автоматическим продлением, если включена настройка автоматического продления и срок подписки истек.

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

[[SKPaymentQueue defaultQueue] addTransactionObserver: yourTransactionObserver];

В любом случае вы можете установить точку останова в своем наблюдателе транзакций.

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

и понять, какая транзакция обрабатывается.

По сути, SKPaymentQueue не имеет функции отмены текущей транзакции приложением, поэтому вы должны продолжить эту транзакцию.

person taka    schedule 19.01.2019

Как вы упомянули: «Теперь я удалил приложения со своего устройства, а также удалил учетные данные из iTunes и App Store. и снова установлен. ', вам необходимо войти в систему с учетной записью Apple в itunes на устройстве, чтобы удалить это всплывающее окно.

person Tejas Chauhan    schedule 05.08.2019

Иногда это происходит в среде песочницы, но не всегда. Как только ваше приложение будет запущено и покупки в приложении будут одобрены Apple, все будет работать нормально автоматически.

Однако поток кода покупки в приложении должен быть правильным. iOS автоматически запрашивает параметры входа в систему, если вы еще не вошли в систему, в противном случае будет отображаться всплывающее окно только для ввода пароля, а имя пользователя / адрес электронной почты будут автоматически заполнены.

person Rajender Kumar    schedule 28.03.2017
comment
Да, но это тоже в прямом эфире. - person Kirit Modi; 28.03.2017
comment
Здесь та же проблема, я даже не могу проверить, как это работает в производственной среде, потому что Apple отклоняет мою сборку из-за всплывающего окна. - person fruechtemuesli; 22.01.2018