
概述我的应用程序目前是针对最新的iOS 4.x SDK进行编译的.一旦iOS 5.0 SDK出来了,是否可以在我的应用程序中使用新的iOS 5.0 SDK
功能,并且在iOS 4设备上运行(但使用新功能的部件已禁用)? 为了回答这个问题,Objective-C运行时是完全反映的,这意味着你可以查询一个对象支持的方法(通过respondToSelector :),并在运行时通过NSClassFromStr 我的应用程序目前是针对最新的iOS 4.x SDK进行编译的.一旦iOS 5.0 SDK出来了,是否可以在我的应用程序中使用新的iOS 5.0 SDK功能,并且在iOS 4设备上运行(但使用新功能的部件已禁用)?解决方法 为了回答这个问题,Objective-C运行时是完全反映的,这意味着你可以查询一个对象支持的方法(通过respondToSelector :),并在运行时通过NSClassFromString获取类名. iOS二进制还支持与框架的弱联系的概念,这意味着框架将被加载,如果它是可用的,但如果框架不可用(如默认行为),那么您不认为它是一个致命错误.
这意味着当Apple发布新版本的 *** 作系统时,您可以编写在最新版本的 *** 作系统上使用新功能的代码,但如果新功能是新的API,则可以正常运行.
苹果有时也会提供新的SDK功能,而不是新的API,例如Clang静态分析器被添加到Xcode中.由于这些功能通常不需要任何运行时支持,因此它们完全可用. iOS 5有一点独特之处,因为苹果公司致力于LLVM项目,这表明ARC中有一些新的编译时功能依赖于一些运行时支持.所以他们将不可用,如果他们确实在苹果计划分发它们的工具.
总结
以上是内存溢出为你收集整理的iphone – 使用iOS 5功能,而不会破坏向后兼容性全部内容,希望文章能够帮你解决iphone – 使用iOS 5功能,而不会破坏向后兼容性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)