2017-01-23 6 views
0

Gemäß der unten Entwickler-Site Beitrag:NSURLConnectionDelegate funktioniert auf iOS 9 und 10?

connection:didReceiveAuthenticationChallenge: 

connection:canAuthenticateAgainstProtectionSpace: 

aber ich bin immer noch in iOS 9 und iOS 10 mit ihnen und:

https://developer.apple.com/reference/foundation/nsurlconnectiondelegate?language=objc

unter Methoden des NSURLConnectionDelegate von iOS 8 veraltet OS rufen sie auch an. Hat jemand eine Idee, wie sie funktionieren, wenn sie veraltet sind?

+0

Wenn Sie iOS SDK älter als 9 (7, 8) zielen, wird es funktionieren, wenn Sie iOS 9+ unterstützen, werden sie nicht. – NSDmitry

+0

"Deprecated" bedeutet, dass Sie sie nicht verwenden sollten, aber es wird weiterhin unterstützt. Das Verhalten in zukünftigen Betriebssystemversionen kann jedoch Probleme verursachen. – Larme

Antwort

1

Depretierung bedeutet, dass sie planen, es zu entfernen. Es ist also nicht das Entfernen einer API, sondern die Ankündigung, dass sie in Zukunft entfernt wird, aber immer noch verfügbar ist. Als Faustregel kann man erwarten, dass 2 Hauptversionen nach der Vernachlässigung einer API entfernt werden.

Wikipedia erklärt es als:

In mehreren Bereichen, deprecation ist die Entmutigung der Verwendung einiger Funktion, Design oder Praxis; typischerweise, weil es ersetzt wurde oder nicht mehr als sicher gilt - aber ohne es vollständig zu entfernen oder seine Verwendung zu verbieten. https://en.wikipedia.org/wiki/Deprecation

Meine persönliche Präferenz ist immer sofort eine solche Warnung zu beheben und mit den neuesten und besten APIs, wenn möglich zu halten.

+0

Vernachlässigung bedeutet nicht notwendigerweise, dass sie planen, etwas zu entfernen. Es bedeutet, dass eine neuere API für die Neuentwicklung bevorzugt wird. Insbesondere die 'NSURLConnection'-API ist so weit verbreitet, dass sie * in absehbarer Zeit * nicht realistisch verschwinden kann, weil sie zu viele Apps kaputt machen würde. Ich glaube, ich erinnere mich, dass 'NSURLConnection' nun ein besserer Wrapper um' NSURLSession' ist, was bedeutet, dass Apple es nicht mehr separat verwalten muss, was IMO eine Bestätigung dafür ist, dass die ältere API auf lange Sicht verfügbar sein wird. – dgatwood

+0

Deshalb schrieb ich, dass sie planten, es zu entfernen, und ich glaube, dass sie tatsächlich für NSURLConnection getan haben. Aber alles, was du gesagt hast, macht Sinn und ist eine gute Ergänzung, danke! – Eike

+0

Wenn ich entferne, meinen Sie entfernt den zugrunde liegenden Code, dann, ja. Nur nicht die API. :-) – dgatwood

Verwandte Themen