我一直在處理涉及客戶端 - 服務器通信的應用程序。一切工作正常,直到iOS 7.1。現在Xcode 6 GM Seed已經推出,我試圖在iOS8模擬器上構建並運行該項目。但是,所有NSURLConnections現在似乎都已超時。我無法從服務器獲得任何響應。這適用於iOS 7模擬器和Xcode 6.
我嘗試使用NSURLSession希望能夠解決問題。但它沒有。
任何幫助將不勝感激!如果其他人遇到此問題,請告訴我,如果您有任何解決方法。NSURLConnection在iOS8上超時
UPDATE:
這是我使用的代碼:
NSString *authStr = [NSString stringWithFormat:@"%@:%@", username, password];
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]];
[inURLRequest setValue:authValue forHTTPHeaderField:@"Authorization"];
請注意inURLRequest已經與所需的URL iniatlized。
之後,只需使用inURLRequest像往常一樣激發事務。例如,如果使用NSURLSession,請使用此請求對象創建下載任務,並調用恢復其上的API。
你能提供給我解釋的代碼嗎? – 2014-10-14 04:32:59
請參閱問題中的更新。至於說明,我猜想處理BASIC認證的理想方式就是這樣。但是,在早期的iOS版本中,NSURLConnection還允許在挑戰中執行BASIC身份驗證。這顯然不再支持,因此這個代碼。 – 2014-10-14 08:27:24
@SahityaTarumani在我的測試中,如果請求能夠立即啓動,基本身份驗證在iOS 8.1/8.2中可以正常工作,但是如果連接必須等待其他人先完成,它纔會顯示這個新的iOS 8錯誤。 – Rob 2015-03-15 05:55:13