在 WWDC 2015 会议“703 隐私和您的应用程序”之后,使用sysctl
. 现在,我们将不再能够调用kern.proc
,和查看来自任何其他进程的数据,而不是自己的数据kern.procargs
。kern.procargs2
这是苹果公司相当合法的隐私强化措施。
谁能确认在 iOS9 中允许调用sysctlbyname(...)
withhw.machine
来获取确切的设备名称并且不受上述限制的影响?
在 WWDC 2015 会议“703 隐私和您的应用程序”之后,使用sysctl
. 现在,我们将不再能够调用kern.proc
,和查看来自任何其他进程的数据,而不是自己的数据kern.procargs
。kern.procargs2
这是苹果公司相当合法的隐私强化措施。
谁能确认在 iOS9 中允许调用sysctlbyname(...)
withhw.machine
来获取确切的设备名称并且不受上述限制的影响?
是的,我已经在 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”功能限制的影响。