2017-01-23 79 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

相关问题