在 Mac 应用程序中,我如何以编程方式检测(在运行时)该应用程序当前是否在配备 Intel 或 Apple Silicon 处理器的 Mac 上运行?
最佳答案
在 Objective-C 中,您可以使用系统 uname
函数。这等同于 shell 中的 uname -m
。
#include <sys/utsname.h>
NSString *GetMachineHardwareName(void) {
struct utsname sysinfo;
int retVal = uname(&sysinfo);
if (EXIT_SUCCESS != retVal) return nil;
return [NSString stringWithUTF8String:sysinfo.machine];
}
或者在 Swift 中
func GetMachineHardwareName() -> String? {
var sysInfo = utsname()
let retVal = uname(&sysInfo)
guard retVal == EXIT_SUCCESS else { return nil }
return String(cString: &sysInfo.machine.0, encoding: .utf8)
}
对于最新型号的 Intel Mac,这将返回 x86_64
。对于 Apple Silicon,它返回 arm64
。
关于swift - 在运行时以编程方式检测 Mac 应用程序中的 Apple Silicon 与 Intel CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69624731/