Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 获取OS X上的所有系统信息_Macos_Swift_Cocoa - Fatal编程技术网

Macos 获取OS X上的所有系统信息

Macos 获取OS X上的所有系统信息,macos,swift,cocoa,Macos,Swift,Cocoa,是否有任何类/函数可以获取整个系统信息对象 对于system information object,我指的是在OS X上打开系统信息应用程序时可以看到的所有数据 到目前为止,我已经找到了一些类,它们提供了一些信息,但不是全部 由于我还没有在文档中找到任何东西,我担心没有一个类可以一次提供所有信息,但我可能已经监督了它,因为我对OS X开发非常陌生,还不熟悉SDK。调用系统剖析器onNSTask let task = NSTask() let outputPipe = NSPipe() task

是否有任何类/函数可以获取整个系统信息对象

对于system information object,我指的是在OS X上打开系统信息应用程序时可以看到的所有数据

到目前为止,我已经找到了一些类,它们提供了一些信息,但不是全部


由于我还没有在文档中找到任何东西,我担心没有一个类可以一次提供所有信息,但我可能已经监督了它,因为我对OS X开发非常陌生,还不熟悉SDK。

调用
系统剖析器
on
NSTask

let task = NSTask()
let outputPipe = NSPipe()

task.launchPath = "/usr/sbin/system_profiler"
task.arguments = ["-xml", "-detailLevel", "mini"]
task.standardOutput = outputPipe
task.launch()
let outputData = outputPipe.fileHandleForReading.readDataToEndOfFile()

let output = NSString(data: outputData, encoding: NSUTF8StringEncoding) as! String
print(output)
此语法将最小信息作为属性列表返回。

有关其他
detailLevel
值的更多信息,请参见

非常感谢,这正是我需要的。这是一个骇人的解决方案吗?或者,将程序作为子进程运行是常见的(或合理的)做法吗?这一点都不难。在BSD子系统中调用公共可执行文件是一个常见的过程。但是考虑到检索数据是同步的,需要花费大量的时间,所以建议在后台线程上调用这个过程。谢谢