[英]NSOperation, Synchronous NSURLConnection, & UIWebView on iPhone
我有一個奇怪的問題。 這是設置:
如果啟動我的應用程序並運行一些后台聯網操作,則將URL加載到UIWebView中會導致以下錯誤:
錯誤域= WebKitErrorDomain代碼= 102 UserInfo = 0x1996d60“幀加載中斷”
並且任何隨后嘗試加載UIWebView的嘗試都會失敗,並顯示相同的錯誤。
我需要注意UIWebView和NSURLConnection之間是否存在一些奇怪的交互? 我的下一步是用完全異步的NSOperation替換同步調用,但這是一個怪異的錯誤,我以為我會問專家。
我已將錯誤隔離到NSURLConnection sendSynchronousRequest方法。 如果我從NSOperation調用此方法,則UIWebView會嚴重中斷。
102錯誤與WebKit中的某些“策略更改”錯誤有關,該錯誤在任何地方都很少/沒有記錄。
有人知道嗎 任何幫助是極大的贊賞!
編輯:看起來這是某種cookie問題。 如果Web服務器通過后台HTTP請求設置Cookie,為什么UIWebView無法加載的任何原因?
好,我知道了。
顯然,UIWebView不喜歡使用全局cookie存儲的URLConnection HTTPRequests(甚至ASIHTTPRequest)。 因此,現在我的應用程序拋出一個簡單的HTML頁面,以允許由UIWebView設置cookie,並且從此“下游”的每個人顯然都很高興,無論是通過NSOperation的API請求還是UIWebViews。
萬歲!
我不清楚您要在這里完成什么,UIWebView將自行異步加載NSRequest。 要檢查的一件事是通過使用NSOperation內部的performSelectorOnMainThread:
方法之一,確保與UIWebView在代碼中進行的任何交互都在主線程上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.