1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
1 | |
Фоновый режим25.06.2018, 11:42. Показов 2874. Ответов 23
Метки нет (Все метки)
Здравствуйте уважаемые форумчане!
Возник такой вопрос, можно ли в iOs сделать так, чтобы программа работала в фоновом режим и ОС не убивала это процесс после закрытия программы?
0
|
25.06.2018, 11:42 | |
Ответы с готовыми решениями:
23
Фоновый режим Фоновый режим Фоновый режим Фоновый режим |
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
25.06.2018, 12:04 | 2 |
Что ты понимаешь, под "закрытием программы" в ios?
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
25.06.2018, 12:48 [ТС] | 3 |
ExFau$t, даже не знаю, когда пользователь её закрывает, не сворачивает, а именно закрывает.
0
|
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
|
|
26.06.2018, 20:35 | 4 |
Нельзя оставить приложение в фоновом режиме, только какое-то время приложение сможет поработать в фоне, а затем система iOS его завершит принудительно в любом случае. Apple заботится об энергоэффективности, и любые лишние процессы исключаются. Но возможно разбудить приложение с помощью пуша.
Возможно стоит рассмотреть другое решение реализации. Хоть скажите какую задачу решает ваше приложение?
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
26.06.2018, 20:45 [ТС] | 5 |
Задача такая, что-то вроде Яндекса на Android. У Яндекса в Foreground висит виджет, где изменяются значения погоды и кусов валют, всё это работает в фоне и Android'ом не убивается. А как также сделать в iOs, мне это жизненно необходимо!
0
|
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
|
|
26.06.2018, 22:35 | 6 |
Если я правильно понял, вам необходимо создать приложение с расширением. Для этого в iOS есть Widgets
можно узнать о них здесь https://developer.apple.com/de... s/widgets/ а подробнее что это и как создать простое такое приложение см. здесь https://developer.apple.com/li... index.html либо ищите туториалы по ключевым словам из ссылок выше.
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
19.07.2018, 13:34 [ТС] | 7 |
Митя800, я внимательно изучил, всё что связанно с виджетами, но столкнулся с тем, что они обновляются только тогда, когда пользователь принудительно хочет это сделать, а нельзя-ли сделать так, чтобы виджет автоматически обновлялся всегда, допустим, с периодичностью в 5 минут?
0
|
29 / 28 / 8
Регистрация: 06.10.2012
Сообщений: 133
|
|
23.07.2018, 16:54 | 8 |
Пользователь взаимодействует с виджетом -> виджет живой, данные обновляются, кэш/БД синхронизируются -> пользователь уходит на другой экран -> всё засыпает (willResignActive/didEnterBackground)
Какой смысл обновлять виджет, если он неактивен, т.е. юзер с ним не взаимодействует?
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
23.07.2018, 17:10 [ТС] | 9 |
cin_cout, дело в том, что мне нужна подпрограмма, которая будет работать после закрытия основной программы. Я думал это сделать через виджет, но он срабатывает только после взаимодействия с пользователем. Нет ли способа сделать рабочую подпрограмму, которая будет активизироваться хотя бы раз в пять минут?
Добавлено через 8 минут Предположим, если взять программу Будильник, коих на AppStore очень много, почему бы не сделать так, чтобы просыпалась только часть подпрограммы? И как я уже ранее сказал, каждые 5 минут, неужели так сделать нельзя и это будет противоречить политики Apple?
0
|
29 / 28 / 8
Регистрация: 06.10.2012
Сообщений: 133
|
|
23.07.2018, 17:12 | 10 |
Мне кажется, что-то не так с постановкой задачи изначально. Читайте App Programming Guide от Apple, что можно и что нельзя, чтобы было четкое понимание.
Приоритет iOS app = взаимодействие юзера и UI. Есть четко определенный круг задач, которые допускают background performance (навигация и тд).
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
23.07.2018, 17:15 [ТС] | 11 |
cin_cout, давайте опустим, что можно, а что нельзя. Кто-нибудь может объяснить, как работает будильник в ios или дать ссылку на хороший гайд?
0
|
29 / 28 / 8
Регистрация: 06.10.2012
Сообщений: 133
|
|
23.07.2018, 17:38 | 12 |
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
23.07.2018, 17:55 [ТС] | 13 |
cin_cout, спасибо
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
24.07.2018, 13:21 [ТС] | 14 |
А тогда по какому принципу работают программы "Найти Друзей", "Найти Айфон", ведь после разрешения слежения, я могу наблюдать за ними в реальном времени и им не нужно, чтобы программа была всё врем в оперативной памяти или висела в фоне, она может быть закрыта(именно закрыта). К тому же данные программы обладают именно тем функционалом, который мне нужен. Никто не знает как это реализовать?
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
25.07.2018, 12:35 [ТС] | 15 |
Дабы не создавать новую тему ответе, пожалуйста, на пару вопросов.
1. Можно ли после закрытия программы(именно закрытия) отправить локальный нотификейшин. На андроиде например, если пользователь закрывает программу, то есть блок onDestroy(), где можно вызвать свой блок кода перед завершением программы, это может быть также notification; 2. Можно ли напрямую из программы перейти в эту настройку телефона?
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
25.07.2018, 17:50 | 16 |
onDestroy это часть жц активити (кстати не всегда вызывается при завершении), по аналогии контроллеры тоже имеют свои жц.
Mожно.
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
25.07.2018, 21:15 [ТС] | 17 |
У меня к Вам ещё такой вопрос, я уже смирился с тем, что на айфоне нельзя сделать так, чтобы часть программы работала после освобождения из оперативной памяти, в AppStore я нашёл программу trackerometer, которая запрашивает разрешение на геопозицию, там есть пункты "разрешить во время работы программы", "разрешить всегда" и "никогда". Я выбираю "разрешить всегда" и программа работает в фоновом режиме, передавая беспрерывно геолокацию пользователя, если вдруг программы высвобождается из ОЗУ, а именно я её закрываю сам, то программа использует нотификейшин для предупреждения о завершении передачи данных. Я сделал также у себя в программе, но отработав 15 минут программ перестаёт передавать геолокацию(нотификейшины пока не делал), не могу понять почему. Если кто знает напишите пожалуйста решение этой проблемы.
0
|
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
|
|
26.07.2018, 09:11 | 18 |
serSeventin, отправь нотивикейшн с сервера, тогда приложение проснется. Необязательно все нотификации алертить пользователю.
0
|
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 155
|
|
26.07.2018, 09:55 [ТС] | 19 |
Митя800, это понятно, что с сервера отправить нотификейшин, но нужно сначала узнать, когда отправлять, а для этого нужно отследить закрытие программы, но меня пока интересует другой вопрос, почему программа не работает в фоне.
Добавлено через 15 минут С геопозицией кажется разобрался, если не двигаться она умирает, а после начала движения опять работает. Тогда другой вопрос, можно ли создать свой механизм в iphone, чтобы там крутились мои функции и работали после сворачивания приложения в фон, самое главное чтобы этот сервис работал всегда, пока приложение не закроют.
0
|
29 / 28 / 8
Регистрация: 06.10.2012
Сообщений: 133
|
|
26.07.2018, 19:33 | 20 |
NSThread. У потока свой RunLoop. Сколько угодно создать можно.
Можно не возиться с потоками, а на уровне абстракции чуть повыше порулить GCD. Еще повыше - NSOperationQueue
0
|
26.07.2018, 19:33 | |
26.07.2018, 19:33 | |
Помогаю со студенческими работами здесь
20
Фоновый режим Фоновый режим в C# Фоновый режим фоновый режим Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |