Почему приложение ведёт себя именно так и чем платят настройки
Приложение умеет складывать ваши показания в хранилище «Здоровье» на айфоне. По умолчанию это выключено, и включать не обязательно: на работу приложения запись не влияет никак.
«Здоровье» — общее хранилище, из которого читают другие программы: дневники, приложения врачей, фитнес-трекеры. Положив туда сахар, вы даёте им его увидеть, не пересылая ничего вручную.
Если ничем таким вы не пользуетесь — включать незачем.
Сахар — только посчитанное значение. Сырое во время прогрева не уходит: см. почему число иногда помечено «сырым».
Инсулин — болюсы. Углеводы — то, что вы записали как еду.
Временный базал петли. В единицах его не существует, пока не известна профильная ставка; мы это число считаем сами, и класть свой расчёт в чужое хранилище нечестно.
Длинный инсулин. В «Здоровье» нет отдельного вида для него. Положенный рядом с коротким, он сложится с ним в одно «активное» число — и программа, которая это прочитает, посчитает вашу дозу по неверному фону.
Неподтверждённые дозы. Эхо помпы иногда не подтверждается её же историей. В «Здоровье» осталась бы доза, которой не было.
Отметки о заменах сенсора и канюли — инсулина они не несут, а места для них там нет.
«Здоровье» хранит записи неизменяемо. Положенное нельзя отредактировать — только удалить и положить заново, руками, по одной.
Поэтому туда уходит лишь то, что мы уже не переиграем. Там, где в Nightscout мы бы исправили запись, здесь исправлять нечем.
Право на запись мы просим в момент первой отправки, а не при включении. Разрешение, которым не пользуются, со временем вызывает справедливый вопрос «а зачем оно им» — и человек отзывает всё разом, включая нужное.
В разделе разрешений про «Здоровье» вы увидите честный ответ про запись — дано или нет — и уклончивый про чтение. Это не наша недоделка.
iOS не сообщает приложению, разрешили ли ему читать. Сделано нарочно: если бы отказ был отличим от «данных нет», приложение узнавало бы, что именно вы от него скрыли. Поэтому на запрос чтения без разрешения система отвечает пустотой — ровно так же, как если бы данных действительно не было.
Так что про чтение честно можно сказать только: «спросили; ответит ли система, нам не сообщают». Другие приложения в этом месте показывают то же самое — просто не всегда об этом пишут.
Там своё хранилище — Health Connect. Это не то же самое под другим именем: другие правила и другие разрешения. Будет отдельной строкой, когда сделаем.