Наше приложение iOS считывает куки из WKHTTPCookieStore
, чтобы вызвать веб-сервис инициализации.Если конкретный файл cookie, который мы ищем, отсутствует в CookieStore, он передаст пустое значение в веб-сервис и вернет соответствующий ответ.Поскольку это API-интерфейс инициализации, мы вызываем веб-сервис в обработчике завершения, как показано ниже, и блокируем пользовательский интерфейс, добавляя индикатор активности до тех пор, пока он не приведет к успеху или неудаче.
WKWebsiteDataStore.default().httpCookieStore.getAllCookies { (cookies) in
callInitializationService(cookies)
}
В нашем тестировании это работалохорошо во всех доступных устройствах тестирования в версиях ОС в диапазоне от iOS 11.3 до 12.2.
Текущая проблема заключается в странном поведении производственного приложения, когда индикатор активности вообще не отключается после установки.Мы обнаружили, что первопричиной является WKHTTPCookieStore.getAllCookies
обработчик завершения, который никогда не вызывается, и, следовательно, он блокирует пользовательский интерфейс.Эта проблема в основном наблюдается в версиях ОС iOS 11.2.x, но она не уверена, влияет ли она и на другие версии ОС.Даже перезапуск приложения не решает проблему.
Кто-нибудь сталкивался с этой проблемой раньше?Любое разрешение / обходной путь, доступный, чтобы исправить это?