在WWDC 2015会话“703隐私和您的应用”之后,使用sysctl
进行了更改。现在,我们将无法再拨打kern.proc
,kern.procargs
,kern.procargs2
来查看来自任何其他流程的数据,然后再查看自己的数据。这是一个非常合法的隐私硬化Apple。
任何人都可以确认在iOS9中允许使用sysctlbyname(...)
调用hw.machine
来获取确切的设备名称,而不受上述限制的影响吗?
答案 0 :(得分:2)
是,我在iPhone5中测试了它使用Xcode7 beta5(安装了iOS9 beta5,而不是模拟器)。
+(NSString *) getDeviceModel {
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *model = malloc(size);
sysctlbyname("hw.machine", model, &size, NULL, 0);
NSString *deviceModel = [NSString stringWithCString:model encoding:NSUTF8StringEncoding];
free(model);
return deviceModel;
}
返回值是" iPhone5,2"。所以我认为设备名称不受" sysctl"的限制。功能