如何检测设备的iOS版本的内部版本号(例如13A452)

时间:2015-10-19 02:01:32

标签: ios

有没有办法以编程方式检测iOS版本的内部版本号, 例如iOS版本9.0.2(13A452)。 我知道如何检测iOS版本,例如:9.0.2。

是否有任何API可以检测13A452?

提前致谢。

2 个答案:

答案 0 :(得分:2)

想想我会把代码放在任何人需要的地方(在运行时工作),因为处理起来有点棘手!

确认您 #include <sys/sysctl.h>

//make sure you `#include <sys/sysctl.h>`

NSString *ctlKey = @"kern.osversion";

BOOL buildValueFound;
NSString *buildValue;

size_t size = 0;

if (sysctlbyname([ctlKey UTF8String], NULL, &size, NULL, 0) == -1) {

    buildValueFound = NO;

} else {

    char *machine = calloc( 1, size );

    sysctlbyname([ctlKey UTF8String], machine, &size, NULL, 0);
    NSString *ctlValue = [NSString stringWithCString:machine encoding:[NSString defaultCStringEncoding]];

    free(machine);

    buildValue = ctlValue;

    buildValueFound = YES;

}

if (buildValueFound) {
    NSLog(@"%@", buildValue);
} else {
    NSLog(@"No build value found");
}

答案 1 :(得分:1)

我已经弄明白了。在函数sysctl上使用KERN_OSVERSION返回iOS内部版本号。

相关问题