我想检查iOS设备的版本是否大于3.1.3
我尝试过的东西:
[[UIDevice currentDevice].systemVersion floatValue]
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我只想要一个:
if (version > 3.1.3) { }
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
在iOS 7中,sizeWithFont:现已弃用.我现在如何将UIFont对象传递给替换方法sizeWithAttributes:?
我正在编写一个接收带有项目和版本号的数据的应用程序.数字格式为"1.0.1"或"1.2.5".如何比较这些版本号?我认为他们必须先格式化为字符串,不是吗?我有什么选择来确定"1.2.5"在"1.0.1"之后?
运行时(例如[[UIDevice currentDevice] systemVersion])和编译时之间有什么区别,例如__IPHONE_OS_VERSION_MIN_REQUIRED检查?什么时候你应该一个在另一个?
难道__IPHONE_OS_VERSION_MIN_REQUIRED只是一个变量构建设置设置?
我已经阅读了如何定位特定iPhone版本的答案?以及下面列出的其他相关问题.
但是,我刚刚注意到__IPHONE_OS_VERSION_MIN_REQUIRED = 30200当我使用Xcode 4在iPhone(4.3.1)上构建和运行时.为什么?
当您将代码提交给Apple时,他们是否为每个存在的iPhone版本编译了一个版本,并相应地进行设置__IPHONE_OS_VERSION_MIN_REQUIRED?
这样,您可以检查__IPHONE_OS_VERSION_MIN_REQUIRED并了解运行代码的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)
或者应用程序本身是否包含旧库并加载它?
谢谢
有没有办法测试Objective-C中C函数的存在?我正在寻找像"respondsToSelector"这样的东西,但是对于C函数.
更具体地说,我正试图在iOS中测试"UIGraphicsBeginImageContextWithOptions(CGSize size,BOOL opaque>,CGFloat scale)"的存在.
谢谢.
objective-c ×5
ios ×4
iphone ×2
c ×1
cocoa-touch ×1
comparison ×1
compile-time ×1
deprecated ×1
ios7 ×1
runtime ×1
version ×1