我看到一种方法在Apple的文档中说" A在iOS 7.0中弃用了Method ,而不是使用B".
我认为我把事情搞混了,所以要明确:
如果我识别用户的iOS版本(5.0),我应该使用A或B?因为它是5.0,A应该是可用的,而B可能不是因为它是后来实现的,对吧?
或者我使用SDK 7.0的事实是否意味着我应该总是使用B,无论用户的iOS版本如何?
使用旧方法.在旧版本的iOS下,方法B将不可用.贬值的方法很少(从来没有到目前为止?)实际上消失了.唯一的例子是,UIDevice uniqueIdentifier但即使没有消失,它现在只是返回垃圾.
当然你可以这样做:
if ([someClass resondsToSelector(someNewerMethodSelector)]) {
// call the new method
} else {
// call the old method
}
Run Code Online (Sandbox Code Playgroud)
像这样的代码将运行较新的方法(如果存在)或旧方法(如果不存在).也可以对较新的类进行类似的检查.
顺便说一句 - 为什么要花费精力来支持iOS 4.3甚至5.x?如果你有充分的理由支持iOS 7和iOS 6.x. 除非您有特定的需求或要求,否则支持4.3和5.x并不值得您付出努力.
如果你继续支持4.3,你最好在4.3的设备上彻底测试你的应用程序,以确保你不小心打电话和5.0+ API.
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |