У меня странная проблема. Вот настройки:
- У меня есть NSOperationQueue, к которому я добавляю объекты подкласса NSOperation. Они работают в сети, используя NSURLConnection метод sendSynchronousRequest. Насколько я понимаю, они полностью асинхронные, так как они являются операциями NSO, каждый из которых получает свой собственный поток.
- Если я запускаю свое приложение БЕЗ каких-либо фоновых сетевых операций, загрузка URL в UIWebView работает просто отлично.
Если я запускаю свое приложение и выполняю некоторые фоновые сетевые операции, загрузка URL-адреса в UIWebView приводит к этой ошибке:
Ошибка домена = код WebKitErrorDomain = 102 UserInfo = 0x1996d60 «Прервана загрузка кадра»
и любые последующие попытки загрузить UIWebView завершаются неудачно с той же ошибкой.
Есть ли какое-то странное взаимодействие между UIWebView и NSURLConnection, о котором мне нужно знать? Мой следующий шаг - заменить синхронные вызовы полностью асинхронной NSOperation, но это такая странная ошибка, что я решил спросить экспертов.
Я изолировал ошибку до метода NSURLConnection sendSynchronousRequest. Если я вызываю это из NSOperation, UIWebView ужасно ломается.
Ошибка 102 связана с некоторой ошибкой «Политика изменена» в WebKit, которая плохо / недокументирована где-либо.
У кого-нибудь есть идеи? Любая помощь с благодарностью!
РЕДАКТИРОВАТЬ: Похоже, это какая-то проблема с cookie. Любая причина, почему UIWebView не сможет загрузиться, если веб-сервер устанавливает cookie с помощью фонового HTTP-запроса?