NSURLSessionDelegateに奇妙な問題があります。 20メガバイトは、私のファイルがあるときここに私の出力です4GとiOS10の大容量ファイルでNSURLSessionDelegateが失敗する
class NetworkHandler: NSObject,NSURLSessionDelegate,NSURLSessionDownloadDelegate {
lazy var downloadsSession: NSURLSession = {
let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("abc")
let session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil)
return session
}()
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
print("finished")
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
print("\(String(format: "%.1f%% of %@", progress * 100, totalSize))")
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didResumeAtOffset fileOffset: Int64, expectedTotalBytes: Int64) {
print("didResumeAtOffset: \(fileOffset)")
}
func URLSession(session: NSURLSession, task: NSURLSessionTask, didCompleteWithError error: NSError?) {
print("didCompleteWithError error=\(error)");
}
func URLSessionDidFinishEventsForBackgroundURLSession(session: NSURLSession) {
if let appDelegate = UIApplication.sharedApplication().delegate as? AppDelegate {
if let completionHandler = appDelegate.backgroundSessionCompletionHandler {
appDelegate.backgroundSessionCompletionHandler = nil
dispatch_async(dispatch_get_main_queue(), {
completionHandler()
})
}
}
}
}
〜と私は4G/LTEによ:ここに私のコードは、最初だ
didCompleteWithError error=Optional(Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSLocalizedDescription=unsupported URL})
私はすでに私のURLがhttpを有し、その有効なチェックしましたurl。このコードは、私がWi-Fiを使用しているとき、またはファイルサイズが<〜10MBかiOS10でないときの100%の時間で動作します。ファイルは約60%までダウンロードされ、毎回失敗します。私はちょうど間違っているかもしれない何が自分自身を正当化するアイデアからちょうどある。
問題は、それが iOS10 ファイルサイズだ〜20メガバイト 4G/LTEにONLY を起こる、私は上記の3つの条件のいずれかを変更した場合、それが動作します。
私はApple codeを試してみましたが、問題は、このエラーは、通常(すなわち、それは、HTTP以外のものである:// https://でまたはftp://)URLスキームがサポートされていないことを示している同じ
これはiOS 10の既知のバグです。この問題を解決する理由と解決方法については、http://stackoverflow.com/questions/39346231をご覧ください。 – Mousavian
コメントのための@Mousavianありがとうございました。あなたの答えに私のコメントをチェックしてください:) – Husyn