Клиент ЛЭРС УЧЁТ под iOS для работы при плохом интернете
Написал нативное приложение под iOS (в первую очередь для себя) для работы с ЛЭРСом при плохом и даже отсутствующем интернете. Основная концепция: использовать только публичный REST API v1 для гарантированной работы с любой (почти) версией сервера и минимум запросов к серверу, максимально всё держим в кэше, кэш обновляется в фоне. Поэтому, когда в подвале будет едва ловить пара палочек EDGE, приложение не зависнет при открытии, можно будет открыть нужную точку, или посмотреть номера приборов и места их установки полностью оффлайн и только для получения последних данных уйдёт пара коротких http-запросов на сервер, у которых больше шансов успешно отработать.
объекты, точки, оборудование — из кэша, мгновенно и в авиарежиме; поиск и фильтры тоже по кэшу;
фоновое обновление справочников силами iOS, интервалы отдельно для Wi-Fi и сотовой;
ручной опрос прибора;
датчики по магистралям, каналы связи, НС точки;
PDF-ведомости параметров
в справочнике оборудования — данные поверки и ссылка на запись в ФГИС «Аршин»;
права пользователя учитываются (опрос, отчёты, НС);
пароль не хранится, только токен в хранилище OC; никакой аналитики, соединение происходит только с указанным сервером, никакие данные не передаются разработчику или третьим лицам.
В планах
графики потребления;
скан QR-кода со свидетельства о поверке → поиск прибора в справочнике;
вкладка «Работы на объектах учёта»;
push по НС;
несколько серверов (в т. ч. разных версий) в одном приложении;
нормальный интерфейс под iPad.
Квартирный учёт не делаю и не планирую — только обычные точки. Технически реализация возможна по запросу.
Исходники
Код полностью открытый, без внешних зависимостей и библиотек — только стандартные средства iOS. Лицензия MIT: делайте что хотите, только укажите авторство. Разработчик — ООО «СОФТКЛАБ».
iPhone с iOS 18+ (также запускается на iPad и Mac на M1+), сервер с доступом к API по HTTPS/HTTP. Без своего сервера можно потыкать demo на my.lers.ru — кнопка «Демо-доступ» на экране входа.
Добрый день! Да, к сожалению на данный момент нужно переустанавливать каждые 7 дней (AltServer можно установить на ПК, он будет это делать автоматически когда iPhone подключится к одной сети с ПК).
Касательно iMazing - я не уверен что он умеет подписывать ipa файлы, постараюсь это проверить в ближайшее время и отписаться в этой теме.
Сейчас идёт процесс проверки моей организации в Apple для возможности публиковать приложение, если будет интерес к приложению со стороны пользователей планирую всё же оплатить аккаунт разработчика и опубликоваться в AppStore.
Вчера успешно завершился процесс регистрации компании в Apple Developer, принял решение оплатить аккаунт разработчика и публиковаться в AppStore.
Сейчас идёт проверка релиза 1.0 со стороны Apple.
Огромное нечеловеческое спасибо! Те эмоции что вызывает веб версия на айфоне или айпаде не передать словами, иногда хочешь что-то глянуть и думаешь…дааа, сейчас я буду страдать. Удачи в разработке!
p.s Если будет возможность, оптимизируйте под айпад…
У меня нет айпада для тестирования на реальном устройстве, только эмулятор.
Если действительно есть потребность нормального интерфейса для айпада - мне нужна будет помощь в тестировании
Если нужна помощь в тестировании, я всегда за. Ставить ipa я могу без ограничений, поэтому можно и до выгрузки в магазины этим заниматься. tg @PlainPerson
В вашем приложении добавить ручной опрос. И практически не будет по функционалу отличаться. Но сам интерфейс намного лучше порадовал официального клиента
В App Store доступна версия 1.1
В новой версии:
• Графики и архив потребления: часы, сутки, месяцы, переход к нужной дате.
• Фильтры в списках: по состоянию, группе, потребителю, системе и другим признакам.
• Больше сведений в карточках объекта и точки: потребитель, пользовательские атрибуты, незавершённые работы, оборудование объекта.
• Звонок и SMS на модем прямо из вкладки «Связь».
• Подсказка, почему нет связи: нет интернета, белые списки или сервер не отвечает.