2017-01-23 73 views
0

根據下面的開發者網站上發佈:NSURLConnectionDelegate適用於iOS 9和10嗎?

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

低於NSURLConnectionDelegate的方法是從iOS的8棄用:

connection:didReceiveAuthenticationChallenge: 

connection:canAuthenticateAgainstProtectionSpace: 

,但我仍在使用他們的iOS 9和iOS 10和OS也會打電話給他們。如果他們被棄用,有人知道他們是如何工作的嗎?

+0

如果您定位的iOS SDK比9(7,8)更靈活,那麼它將起作用,如果您支持iOS 9+,則它們不會。 – NSDmitry

+0

「已棄用」意味着您不應該使用它們,但它仍然是支持的。但是,未來操作系統版本的行爲可能會導致問題。 – Larme

回答

1

棄用意味着他們計劃將其刪除。所以這不是刪除API,而是宣佈它將在未來被刪除,但仍然可用。 作爲一條經驗法則,您可以預期在棄用api後2個主要版本將被刪除。

維基百科解釋它:

在幾個領域,折舊是利用一些 功能,設計或實踐的挫折;通常是因爲它已被取代 或不再被認爲是安全的 - 但沒有完全刪除它或禁止其使用。 https://en.wikipedia.org/wiki/Deprecation

我個人的偏好是始終立即修復這樣的警告並跟上最新和最偉大的API如果可能的話。

+0

棄用並不一定意味着他們計劃刪除某些東西。這意味着有一個更新的API是新開發的首選。特別是'NSURLConnection' API被廣泛使用,以至於在可預見的未來它不能實際消失,因爲它會破壞太多的應用程序。事實上,我想我記得聽說'NSURLConnection'現在是'NSURLSession'的美化包裝,這意味着Apple不再需要單獨維護它,這是IMO承認舊API將長期存在。 – dgatwood

+0

這就是爲什麼我寫他們打算將其刪除,我相信他們實際上做NSURLConnection。但是,儘管如此,所有你說的是有道理的,並且是一個很好的補充,謝謝 – Eike

+0

如果我刪除,你的意思是刪除了底層代碼,那麼,是的。只是不是API。 :-) – dgatwood

相關問題