gpt4 book ai didi

swift - Cocoa NSTask 输出提取

转载 作者:行者123 更新时间:2023-11-28 07:36:37 25 4
gpt4 key购买 nike

我想在我的 Cocoa 应用程序中运行此命令 system_profiler -xml SPUSBDataType。在 NSTask 的帮助下完成后,我通过将 fileHandle 输出编码为 NSString 获得了以下输出。但我无法提取特定键的值。我尝试使用 SWXMLHash 将其转换为 xml,并使用 jsonSerializer 将其转换为 JSON。但它变得更加复杂。

有什么办法吗?

 <?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<array>

<dict>

<key>_SPCommandLineArguments</key>

<array>

<string>/usr/sbin/system_profiler</string>

<string>-nospawn</string>

<string>-xml</string>

<string>SPCameraDataType</string>

<string>-detailLevel</string>

<string>full</string>

</array>

<key>_SPCompletionInterval</key>

<real>0.13360595703125</real>

<key>_SPResponseTime</key>

<real>0.22787702083587646</real>

<key>_dataType</key>

<string>SPCameraDataType</string>

<key>_detailLevel</key>

<integer>-1</integer>

<key>_items</key>

<array>

<dict>

<key>_name</key>

<string>FaceTime HD Camera</string>

<key>spcamera_model-id</key>

<string>Apple Camera VendorID_0x106B ProductID_0x1570</string>

<key>spcamera_unique-id</key>

<string>CC89657KQR6GDV4AQ</string>

</dict>

</array>

</dict>

</array>

</plist>

最佳答案

您应该能够使用 PropertyListSerialization 直接解析此输出
。查看documentation .

我建议您可以改用 IOKit 看看。处理它可能有点令人生畏,但它提供了大量的功能。我过去曾将它用于 USB 设备信息和连接/断开连接通知,效果非常好。我认为您会发现它比解析命令行实用程序的输出更可靠。

关于swift - Cocoa NSTask 输出提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53117107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com