이상한 문제가 있습니다. 다음은 설정입니다.NSOperation, NSURLConnection 동기, & UIWebView on iPhone
- NSOperation 하위 클래스 개체를 추가하는 NSOperationQueue가 있습니다. 이들은 NSURLConnection sendSynchronousRequest 메소드를 사용하여 네트워킹을 수행합니다. 내가 이해할 수 있듯이, 이것들은 NSOperations이기 때문에 완전히 비동기식이다.
- 백그라운드 네트워킹 작업없이 앱을 시작하면 UIWebView에 URL을로드해도 문제가 없습니다.
오류 도메인 = WebKitErrorDomain 코드 = 102 사용자 정보 = 0x1996d60
를 "프레임로드 중단" 나는이 오류에있는 UIWebView 결과에 URL을로드, 내 응용 프로그램을 실행 및 운영 네트워킹 몇 가지 배경을 실행하면
과 같은 오류가 발생하여 UIWebView를로드하려고 시도 할 때마다 동일한 오류가 발생하여 실패합니다.
내가 알고 있어야하는 UIWebView와 NSURLConnection 사이에 이상한 상호 작용이 있습니까? 다음 단계는 동기식 호출을 완전히 비동기식 NSOperation으로 바꾸는 것이지만 전문가에게 물어 보는 것은 이상한 버그입니다.
오류를 NSURLConnection sendSynchronousRequest 메서드로 분리했습니다. NSOperation에서 이것을 호출하면 UIWebView가 무섭게 나옵니다.
102 오류는 WebKit의 "Policy Changed (정책 변경됨)"오류와 관련이 있습니다. WebKit은 어느 곳에서도 문서화가 잘 안되거나 문서화되지 않았습니다.
아무도 아이디어가 있습니까? 어떤 도움이라도 대단히 감사합니다!
편집 : 이것은 어떤 종류의 쿠키 문제인 것 같습니다. 웹 서버가 백그라운드 HTTP 요청을 통해 쿠키를 설정하는 경우 UIWebView가로드되지 않는 이유는 무엇입니까?
확실히 직관적이지는 않지만 행동에 동의 할 것입니다. UIWebView를 통해 첫 번째 조회를로드하도록 앱을 얻은 후 URLConnection은 예상대로 작동하기 시작했습니다. – deafgreatdane