Оно всегда работает на Android, симуляторах iOS и Windows.
Но на физическом устройстве iOS (как в режиме выпуска, так и в режиме отладки) та же история:
- Первый запуск проходит отлично .
- В последующих запусках отсутствуют данные/отсутствуют фрагменты карты.
- В отладчике я видел подобные ошибки (возможно, куриное яйцо):
- li>
Код: Выделить всё
Error: SocketException: Failed host lookup: 'site.com' (OS Error: nodename nor servname provided, or not known, errno = 8)
Error: SocketException: Connection failed (OS Error: Too many open files, errno = 24), address = site.com, port = 443
Однако более ранние http-запросы (около 10) к тому же «site.com» (API) /JSON) не терпят неудачу.
Тем не менее, я выполнил проверку сети на верхнем уровне приложения и распечатал успех для того же «сайта», для которого он заявляет «Ошибочный поиск хоста».
- Нет заметной разницы во времени при запуске приложения.
- Я установил приложение непосредственно на устройство и через TestFlight.
- Я установил приложение непосредственно на устройство и через TestFlight.
- Я установил приложение напрямую на устройство и через TestFlight.
- li>
Я установил на iPhone 11 и 15. - Все программное обеспечение и пакеты обновлены.
- Я пробовал пакеты http и dio.
- Я пробовал поставить exit(0), если AppLifecycleState.detached.
Что означает закрытие и повторное открытие приложения 4 раза подряд "сделать" с точки зрения iOS, чтобы последовательно решить проблему (для сеанса)?
Я также подумал, что это может быть связано с IPv4/IPv6. На работающих устройствах у меня настроен DNS на автоматический/маршрутизатор, а проблемное устройство использовало 1.1.1.1 и 1.0.0.1.
Когда я переключаю устройство на LTE на iPhone 11 , внезапно все отлично сработало! Никаких пропущенных запросов каждый раз, когда я открывал и закрывал приложение несколько раз подряд. Сегодня снова странное поведение. На моем iPhone 15 у меня также отсутствуют плитки/запросы в 5G. Во всех случаях четырехкратный перезапуск приложения приводит к сбросу чего-либо, и все снова работает.
Я также распечатал строку IP в своем приложении, чтобы посмотреть, есть ли какая-либо разница. При использовании Wi-Fi это был IPv4, а при использовании LTE — IPv6. В любом случае одно и то же странное поведение.
Единственное ПОСТОЯННО заключается в том, что с симуляторами Android и iOS на моем новом Mac никогда не возникает проблем. Просто физические iPhone.
ОБНОВЛЕНИЕ: эта тема точно имитирует то, что я испытываю.
Подробнее здесь: https://stackoverflow.com/questions/789 ... restarting