0xS*_*ina 7 cocoa-touch objective-c ios
在XCode中,我可以指定Base SDK.我想知道幕后工作是怎么做的?如果我正在运行应用程序,例如,在具有iOS 7且我的基础SDK是iOS 6的设备上,那么该应用程序为何具有旧的"外观和感觉"?XCode是否会编译较旧的SDK并将其包含在我的应用程序中,或者新版本的iOS是否附带较旧的库/ SDK?
换句话说,运行时是否知道这个应用程序是使用较低的基础SDK编译的,而且它在UIKit的代码中的某个位置:
if (lower SDK) {
//show old look/feel
} else {
//show new look/feel
}
Run Code Online (Sandbox Code Playgroud)
或者应用程序本身是否包含旧库并加载它?
谢谢
iOS应用程序与新版本的iOS 向前兼容。原因是 :
几乎所有对iOS版本的更改都是累加的,因此使用较低版本的应用程序构建仍可以在较高iOS版本上运行。
不过,我们需要注意这一点:
随着框架通过各种发行版的发展,会引入或弃用API,并且现有API的行为可能会偶尔发生变化。Apple尽一切努力使可能导致不兼容的更改最小化,在某些情况下,它会根据框架版本提供替代行为。在极少数情况下,您的代码需要确定框架版本并进行相应调整
要了解更多,请阅读此
| 归档时间: |
|
| 查看次数: |
1487 次 |
| 最近记录: |