Локальное уведомление, когда удаленный сервер недоступен

#ios #objective-c #push-notification #uilocalnotification

#iOS #objective-c #push-уведомление #uilocalnotification

Вопрос:

Я знаю, что iOS допускает только несколько фоновых режимов, так можно ли пинговать веб-сайт, когда приложение работает в фоновом режиме, а затем использовать локальное уведомление, чтобы предупредить пользователя о том, что сервер теперь недоступен?

Я могу пинговать сайт, но я не уверен в фоновых уведомлениях.

Ответ №1:

Я использую фоновую выборку с удаленным сервером, где я обновляю некоторую информацию для приложения или отправляю локальное уведомление, если сервер недоступен. Полезно использовать доступные типы частоты обновления для BGfetch и не устанавливать точный интервал времени, приложение будет адаптироваться к потребностям пользователей и проверять сервер через соответствующие промежутки времени, что экономит заряд батареи.

Некоторые полезные ресурсы: http://code.tutsplus.com/tutorials/ios-7-sdk-background-transfer-service—mobile-20595
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:performFetchWithCompletionHandler:

Ответ №2:

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

То, что вы описываете, гораздо лучше обрабатывается сервером с быстрым и надежным подключением к сети, который использует push-уведомления для оповещения пользователей о сбоях.

Комментарии:

1. Спасибо! Я не думал о проблемах, которые вы подняли здесь.