Size: a a a

iOS Developers — русскоговорящее сообщество

2021 January 19

ЖБ

Женя Баян in iOS Developers — русскоговорящее сообщество
timis
Он длинный и чтобы чат не загружать я закинул на гит хаб, если хочешь могу скрин скинуть
Скажи где искать хотя бы. Ссылку на файл и номер строки
источник

Bh

Boss huang in iOS Developers — русскоговорящее сообщество
Do you have an apple enterprise certificate? I want to buy a test
источник

t

timis in iOS Developers — русскоговорящее сообщество
view controller viewdidLoad есть циклы for но он не работает вроде как когда он срабатывает он пустов массив но не знаю куда его поставить
источник

DK

Dmytro Khutornoi in iOS Developers — русскоговорящее сообщество
Всем привет 🙂
Подскажите, пожалуйста, может кто в курсе. Есть необходимость запускать задачи в бэкграунде по четкому расписанию. Т.е. есть приложение, которое может быть запущено, пользователь авторизируется с использованием WebView, получает свое расписание. Дальше апка может быть свернута или экран может быть заблокирован. В течении нескольких часов нужно по четкому расписанию запускать задачи, которые будут в течении нескольких минут проигрывать аудио из сети и управлять сторонним приложением через его SDK. Далее ждать следующего ивента в расписании. Нет нужды запускать задачи после закрытия приложения или перезагрузки телефона. Минимально необходимая версия iOS: 14, желательно с 12, ранее 12 поддержка не нужна
Проблема в выполнении бэкграунд задач по расписанию. Что было рассмотрено:
- Запуск бэкграунд задачи при переходе апки из активного состояния. Однако,  iOS убивает задачу через пару десятков секунд, соответственно, нужные вещи не могут быть запущены через несколько часов
- Планирование бэкграунд задачи на выполнение через определенный интервал времени. Однако, iOS меняет этот интервал на свое усмотрение в зависимости от состояния батареи, загруженности системы, истории использования апки и т.д.
- Удержание апки от закрытия аудиоплеером, который проигрывает тишину. Однако, боюсь, что апка не пройдет ревью на App Store. Да и расход батареи неоправданно возрастет
- Использование виджета. Однако, его задачи тоже ограничены во времени, а планирование новых имеет минимальный интервал в 5 минут. Это не дает возможности выполнить задачу в любой нужный момент. Также есть вероятность, что слишком активный виджет прибьет система. Плюс непонятно, можно ли запустить из виджета бэкграунд задачу в апке, непонятно как быть с авторизацией в стороннем SDK, если выполнять нужный функционал в виджете
- Использование локальных уведомлений. Идеальное соответствие расписанию. Однако didReceiveNotificationResponse не отрабатывает в бэкграунде, а задача должна быть запущена без участия пользователя
- Использование удаленных уведомлений. Кажется, единственный рабочий вариант. Имеет недостатки, такие как подключение сервиса пушей, вовлечение в функционал расписания бэк-энда, возможные задержки в доставке
Исследуя как пишут приложения, например, будильников, понял, что используют или создание ивентов в календаре/ремайндере или локальные уведомления, что не решает моих задач
Подскажите, пожалуйста, ничего ли я не упускаю? Как по-красоте реализовать такой функционал?
Спасибо всем дочитавшим 🙂 И спасибо всем, кто поможет пролить свет на этот вопрос 🙂
источник

AB

Alexandr Belkovsky in iOS Developers — русскоговорящее сообщество
Dmytro Khutornoi
Всем привет 🙂
Подскажите, пожалуйста, может кто в курсе. Есть необходимость запускать задачи в бэкграунде по четкому расписанию. Т.е. есть приложение, которое может быть запущено, пользователь авторизируется с использованием WebView, получает свое расписание. Дальше апка может быть свернута или экран может быть заблокирован. В течении нескольких часов нужно по четкому расписанию запускать задачи, которые будут в течении нескольких минут проигрывать аудио из сети и управлять сторонним приложением через его SDK. Далее ждать следующего ивента в расписании. Нет нужды запускать задачи после закрытия приложения или перезагрузки телефона. Минимально необходимая версия iOS: 14, желательно с 12, ранее 12 поддержка не нужна
Проблема в выполнении бэкграунд задач по расписанию. Что было рассмотрено:
- Запуск бэкграунд задачи при переходе апки из активного состояния. Однако,  iOS убивает задачу через пару десятков секунд, соответственно, нужные вещи не могут быть запущены через несколько часов
- Планирование бэкграунд задачи на выполнение через определенный интервал времени. Однако, iOS меняет этот интервал на свое усмотрение в зависимости от состояния батареи, загруженности системы, истории использования апки и т.д.
- Удержание апки от закрытия аудиоплеером, который проигрывает тишину. Однако, боюсь, что апка не пройдет ревью на App Store. Да и расход батареи неоправданно возрастет
- Использование виджета. Однако, его задачи тоже ограничены во времени, а планирование новых имеет минимальный интервал в 5 минут. Это не дает возможности выполнить задачу в любой нужный момент. Также есть вероятность, что слишком активный виджет прибьет система. Плюс непонятно, можно ли запустить из виджета бэкграунд задачу в апке, непонятно как быть с авторизацией в стороннем SDK, если выполнять нужный функционал в виджете
- Использование локальных уведомлений. Идеальное соответствие расписанию. Однако didReceiveNotificationResponse не отрабатывает в бэкграунде, а задача должна быть запущена без участия пользователя
- Использование удаленных уведомлений. Кажется, единственный рабочий вариант. Имеет недостатки, такие как подключение сервиса пушей, вовлечение в функционал расписания бэк-энда, возможные задержки в доставке
Исследуя как пишут приложения, например, будильников, понял, что используют или создание ивентов в календаре/ремайндере или локальные уведомления, что не решает моих задач
Подскажите, пожалуйста, ничего ли я не упускаю? Как по-красоте реализовать такой функционал?
Спасибо всем дочитавшим 🙂 И спасибо всем, кто поможет пролить свет на этот вопрос 🙂
Проще сказать никак.
айос не даст тебе возможности стабильно раз в час запускать задачки ибо все это вличет на акум и система сама решает когда можно а когда нет
источник

AB

Alexandr Belkovsky in iOS Developers — русскоговорящее сообщество
НО. можешь посмотреть в сторону пушей и notification extension в котором ты в фоне сможешь что-то сделать, но пользователь скорее всего увидет пуш ибо сайлент пуши тоже имеют свои ограничения
источник

t

timis in iOS Developers — русскоговорящее сообщество
Женя Баян
Скажи где искать хотя бы. Ссылку на файл и номер строки
Цикл for добавляет в модель текст с сайта  а item там ссылки на статьи и в цикле я парсю description для модели
источник

DK

Dmytro Khutornoi in iOS Developers — русскоговорящее сообщество
Alexandr Belkovsky
НО. можешь посмотреть в сторону пушей и notification extension в котором ты в фоне сможешь что-то сделать, но пользователь скорее всего увидет пуш ибо сайлент пуши тоже имеют свои ограничения
Спасибо за ответы) Снова подтверждается, что пуши - единственно возможный вариант, хотя очень бы хотелось обойтись как-то локально
источник

VC

Vladislav Chugunkin in iOS Developers — русскоговорящее сообщество
всем привет, есть кто-то с опытом PassKit, в частности добавление платежной карты в воллет?
источник

NK

Nameless King in iOS Developers — русскоговорящее сообщество
Dmytro Khutornoi
Спасибо за ответы) Снова подтверждается, что пуши - единственно возможный вариант, хотя очень бы хотелось обойтись как-то локально
где то выше чел спрашивал, можно ли как то будить аппку через полчаса, и выполнять какие то задачи, пуш был единственным вариком

от себя добавлю что лично мне как пользователю например не хотелось бы, чтобы аппка сама просыпалась, без моего ведома, чет делала, жрала батарею… закрыл значит закрыл
источник

К

Константин in iOS Developers — русскоговорящее сообщество
Nameless King
где то выше чел спрашивал, можно ли как то будить аппку через полчаса, и выполнять какие то задачи, пуш был единственным вариком

от себя добавлю что лично мне как пользователю например не хотелось бы, чтобы аппка сама просыпалась, без моего ведома, чет делала, жрала батарею… закрыл значит закрыл
Привет мессенжерам?
источник

DK

Dmytro Khutornoi in iOS Developers — русскоговорящее сообщество
Nameless King
где то выше чел спрашивал, можно ли как то будить аппку через полчаса, и выполнять какие то задачи, пуш был единственным вариком

от себя добавлю что лично мне как пользователю например не хотелось бы, чтобы аппка сама просыпалась, без моего ведома, чет делала, жрала батарею… закрыл значит закрыл
Это тот функционал, ради которого ее будут устанавливать, так что тут все по-честному 🙂
источник

NK

Nameless King in iOS Developers — русскоговорящее сообщество
Константин
Привет мессенжерам?
так это тоже самое что я где то выше вчера предлагал, она просто срет уведомлением
источник

NK

Nameless King in iOS Developers — русскоговорящее сообщество
я слышал что приложения по типу "искусственная печень" используют как раз проигрывание аудиодорожки с тишиной, чтобы аппка не падала
это для диабетиков… телефон греется, пыхтит пердит, батарейка садится резко
источник

DK

Dmytro Khutornoi in iOS Developers — русскоговорящее сообщество
Я сегодня видел, не знаю на сколько можно верить, что Фейсбук одно время тишину проигрывал тоже
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
подскажите, как я могу присвоить противоположное значение isActive?
источник

DK

Danil Kurilo in iOS Developers — русскоговорящее сообщество
Дима Воронин
подскажите, как я могу присвоить противоположное значение isActive?
toggle()?
источник

SK

Steven Kirke in iOS Developers — русскоговорящее сообщество
Всем добрый вечер, а есть возможность удалить элемент массива по UUID?
Пробую заменить стандуртную функцию на кастомную кнопочку
func removeItems(as offsets: IndexSet) {
       exspenses.items.remove(atOffsets: offsets)
   }
источник

V

Vlad in iOS Developers — русскоговорящее сообщество
Steven Kirke
Всем добрый вечер, а есть возможность удалить элемент массива по UUID?
Пробую заменить стандуртную функцию на кастомную кнопочку
func removeItems(as offsets: IndexSet) {
       exspenses.items.remove(atOffsets: offsets)
   }
firstIndexOf
источник

AD

Anna Datzenko in iOS Developers — русскоговорящее сообщество
Добрый вечер! Нужен разработчик для приложения на flutter. Пишите в личку
источник