Pull to refresh

Comments 15

Разве публикация картинки без указания авторства не нарушает лицензию CC?
Автор David Revoy.
Справедливо, дописал в конце attribution
Так если у вас VOIP приложение, зачем вам пуши? Слушайте себе сокет и стартуйте сервис по запросу извне.
В iOS это больше не работает
Не совсем. Все работает при компляции с SDK 9.x и ниже — оставлено в целях совместимости, потому что нельзя просто отключить что-то, что раньше всегда работало. Более того, можно компилировать на SDK 10.x, а потом пропатчить заголовок бинарника, где как раз указана версия SDK. В итоге и старое поведение работает, и SDK свежий используется. Методы все эти рабочие и последний даже есть вероятность, что в AppStore сможет попасть.
Как вы думаете зачем в Apple решили сделать не так как раньше? Вряд ли от нечего делать :)
Я прекрасно понимаю, зачем они это сделали, и новое поведение даже выглядит более правильным. Но здесь есть и другая сторона — внезапно они оставляют часть разработчиков за бортом без всякой альтернативы. На форумах эпл уже начитался людей, чьи приложения просто не могут обращаться на push сервера и что-то оттуда качать. И сейчас им говорят очень просто — их кейс более не поддерживается и им нужно решать вопрос самостоятельно. Уговаривать клиентов пропустить трафик на чужой сервер. Там же посоветовали первый способ. Если речь об in-house приложениях, то это отличный вариант. Остается только вопрос, будет ли эпл полностью удалять старое поведение из iOS, ведь это сломает приложения.
iOS 11 прекратит поддержку 32 битных приложений, прогресс не остановить
Это не прогресс, когда функциональность становится хуже. Новое решение не покрывает те задачи, которые решало прошлое.
ну тогда и электромобили — не прогресс, и вообще FlashPlayer это, оказывается, было добро.
Мимо по обоим аналогиями. Электромобили не запрещают продажу всех остальных автомобилей и даже если бы запретили, то полностью покрывают их функциональность. FlashPlayer заменен целым ворохом современных технологий.

Что было — открытый приложением сокет в фоне, можно работать полностью в изолированной сети без подключения к серверам эпл и вообще интернета. Стало — подключения в фоне запрещены, приложение пробуждается только через push уведомление, что требует доступа в интернет к серверам эпл.

Налицо ухудшение функциональности. Да, старый вариант хуже в плане энергопотребления и именно по этой причине его сменили. Но новый вариант так же и не умеет того, что умел старый, а значит некоторые виды приложений теперь просто невозможно (!!) написать честными прямыми способами. Нужно извращаться с версиями сдк и патчингом бинарников и неизвестно еще, сколько это будет работать, потому что эпл не предоставила решения тех проблем, о которых она не подумала, выпиливая старый функционал, но уже поспешила все отключить.

Работает ли это, если пользователь смахнул приложение из списка открытых или перезагрузил устройство?

В процессе есть свои сложности, но в целом да, работает.
Насколько помню «content-available» перестают обрабатываться ( система перестает будить приложение), если пользователь умышленно прибил его.
Есть извлечение данных в фоновом режиме (Background fetch), описываемое UIBackgroudnModes. Оно также привязывается ко времени и может будить приложение для скачивания и обновления данных в нужный момент времени.

К сожалению и даже в этом случае все непросто.
iOS оптимизирует свои процессы, отслеживает как часто пользователь обращается к приложению и подгадывает фоновую загрузку данных к этим моментам.
Столкнулись с этим во время написания корп.приложения для трекинга мобильных сотрудников в рабочее время.
Пришлось реализовывать довольно хитрый сценарий, чтобы каждые 10 минут в фоне получать геопозицию и отправлять её на сервер.
Sign up to leave a comment.