nsurlsessiondatatask

___ qstnhdr ___ NSMutableURLRequest setTimeoutInterval funktioniert nicht in ios 11.0 ___ answer47506169 ___

Ich denke, Sie sollten den Wert von backgroundSession.timeoutIntervalForResource mehr als reqTimeInterval setzen.

%Vor%

Hoffe, das wird dir helfen.

    
___ tag123objectivec ___ Dieses Tag sollte nur bei Fragen verwendet werden, die sich auf Objective-C-Funktionen beziehen oder von Code in der Sprache abhängen. Die Tags [Kakao] und [Kakao-Touch] sollten verwendet werden, um nach Frameworks oder Klassen von Apple zu fragen. Verwenden Sie die zugehörigen Tags [ios], [macos], [apple-watch] und [tvos] für Probleme, die für diese Plattformen spezifisch sind. ___ answer47530745 ___

@Warewolf Ich habe Ihre .m-Datei heruntergeladen und in mein Demo-Projekt integriert.

scheint alles in Xcode 9.1 und iOS 11.1 zu funktionieren

Ich kann in wenigen Sekunden eine Antwort bekommen.

Hier unten ist die Ausgabe Ihres Codes ..

%Vor%     
___ answer47511217 ___

Setzen Sie die timeoutIntervalForRequest-Eigenschaft für die backgroundSession.

    
___ answer47550019 ___
  

Fall 1: Könnte Hilfe sein, ich rief lokale Serververbindung an und erhielt diesen Fehler. Ich habe ein anderes Netzwerk in meinem Gerät und Telefon verwendet. Als ich beide mit dem gleichen WLAN verbunden habe, hat es funktioniert.

     

Fall 2: Ich hatte den Fehler mit Code = -1001 "Die Anfrage abgelaufen.". Ich habe ein paar Dinge ausprobiert. Nichts hat geklappt. Schließlich fand ich heraus, dass das Problem in meinen Parametern war, die ich in den Anfragekörper zum Server sendete, die vom falschen Format waren (Wert war gut, aber Typ war falsch). Das war der Grund, warum die Anfrage abgelaufen war, weil der Server sie nicht verarbeiten konnte. Du kannst das überprüfen, wenn nichts anderes für dich funktioniert.

Falls Sie das Problem nicht gelöst haben, versuchen Sie es mit der GCDs Abstraktion %code%

    
___ tag123nsurssession ___ NSURLSession ist die API für HTTP-Verbindungen, die in iOS 7 und OS X 10.9 eingeführt wurde. ___ tag123ios11 ___ iOS 11 ist die elfte Version von Apples iOS-Mobilbetriebssystem. Es wurde am 5. Juni 2017 auf der Apple Worldwide Developers Conference (WWDC) angekündigt. Das ios11-Tag sollte für Fragen verwendet werden, die sich auf Apples iOS 11-Betriebssystem beziehen. Allgemeine iOS-Fragen sollten das ios-Tag verwenden. ___ tag123nsursessiondatatask ___ hilf uns dieses Wiki zu bearbeiten ___ qstntxt ___

Ich verwende eine URL-Hintergrundsitzung für das Hochladen von PDF als Datenstrom, indem ich die ios-Version & gt; 9.0. Ich setze Timeout-Intervall von 300 Sekunden. Es funktioniert überhaupt nicht. Nach 10 Sekunden wird ein Timeout-Fehler angezeigt.

Code ist unten angegeben

%Vor%

Anfrage zum Hochladen des Datenstroms.

%Vor%

delegieren

%Vor%

Wenn das Internet gut funktioniert, ist es ansonsten gut. Nach 10 Sekunden bekomme ich

Fehler Fehler Domäne = NSURLErrorDomain Code = -1001 "Zeitüberschreitung der Anforderung." UserInfo = {NSErrorFailingURLStringKey = Liste , NSErrorFailingURLKey = Ссылка , _kCFStreamErrorDomainKey = 4, _kCFStreamErrorCodeKey = -2104, NSLocalizedDescription = Die Anfrage ist abgelaufen.}

Weitere Informationen zu diesem Problem,

Nachdem ich meinen Code in ios 9.3 simulator überprüft habe, wartet er auf die Verbindung. Dann wird weiter hochgeladen. Ich habe es nach 4 Minuten Wartezeit überprüft, es funktioniert. Aber wenn ich diesen Code auf ios 11.0.1 ausführe, kommt es nach 10 Sekunden zu einem Timeout. Was sollte ich tun müssen, um es zu erreichen? Ich habe es auch versucht

%Vor%

aber es hat keine Wirkung.

Sie können die folgende Demo-Datei verwenden: -

ViewController.h & amp; .m

    
___
4
Antworten

NSMutableURLRequest setTimeoutInterval funktioniert nicht in ios 11.0

Ich verwende eine URL-Hintergrundsitzung für das Hochladen von PDF als Datenstrom, indem ich die ios-Version & gt; 9.0. Ich setze Timeout-Intervall von 300 Sekunden. Es funktioniert überhaupt nicht. Nach 10 Sekunden wird ein Timeout-Fehler angez...
23.11.2017, 08:00