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