Блокировка экрана на момент совершения покупки в приложении

swift
in-apppurchase

#1

Вопрос от чайника. Как заблокировать экран, то есть сделать его темнее добавить активитииндикатор отключить кнопку “назад”, на момент совершения встроенной покупки? Ни как не могу разобраться в каком месте это все запускать и в каком сбрасывать.


#2

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


#3

Вот в том то и беда что не автоматом, то есть я могу нажать “Купить” а потом уйти с экрана магазина и перейти на третий экран, и в этот момент выводится экран покупки.
Попробую иначе объяснить, хочу создать видимость что процесс покупки идет после того как юзер нажал “купить”


#4

Теперь более понятно. Если до завтра не ответят, то напишу. Возможности сесть за ноут нету, а у меня подобное решение было одном проекте


#5

Показывайте вью на весь экран поверх всех остальных и всего делов то.


#6

Вот как раз загвоздка в том, что не получается даже банальный активитииндикатор (АИ) грамотно запустить и остановить. Поясню, что делаю по принципу видео уроков “встроенные покупки”.
Я нашел в какой момент можно включить и выключить АИ при условии успешной покупки, так как и начало и конец покупки происходят в коде вью контроллера, но вот при условии что возникает ошибка (даже банальный отказ от покупки), остановить АИ не получается, потому что ошибка обрабатывается в классе IAPManager и при обращении оттуда к элементам контроллера магазина вылезает ошибка
Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value:


#7

Ещё пытаюсь вызывать алертконтроллер с текстом ошибки (если не отмена), но опять же напрочь отказывается это делать


#8

при обработке ошибок можно слать уведомления через NotificationCenter и ловить уведомления в любом контроллере.

Данная ошибка связана исключительно с тем, что вы небезопасно (форсите yourOptional ! ) разворачиваете опционал только и всего.


#9

Сработало, спасибо!)