3

我正在为越狱的iOS 设备开发一个工具。该工具将在 Mac OS 10.8 上运行。

这是我想要实现的目标:

  • 当我运行该工具(最好是shpy某些脚本)时,它应该能够检测到模拟器是否正在运行,或者
  • 如果连接了 iPhone/iPad,并且
  • 列出所有此类设备(真实/虚拟)。
4

1 回答 1

4

要检测连接的 iPhone,请查看此答案。像这样的东西:

$ system_profiler SPUSBDataType | grep iPhone

将检测 iPhone 是否已连接(您可能需要为 iPad 使用不同的 grep)。

该命令的完整(er)输出,没有| grep iPhone是:

        iPhone:

          Product ID: 0x12a8
          Vendor ID: 0x05ac  (Apple Inc.)
          Version: 5.10
          Serial Number: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          Speed: Up to 480 Mb/sec
          Manufacturer: Apple Inc.
          Location ID: 0xfa120000 / 5
          Current Available (mA): 500
          Current Required (mA): 500
          Extra Operating Current (mA): 500

因此,根据您希望脚本输出的样子,您可能需要使用自己喜欢的脚本语言来解析上述内容。

要检测模拟器,请尝试以下操作 (†):

$ ps -A | grep "iPhone Simulator "

产生:

501 12115 135 0 上午 1 点 53 分?0:06.12 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator-SessionOnLaunch NO

如果没有关于输出外观的具体指导,很难为您提供更多信息。与任何脚本任务一样,您应该使用您擅长的语言编写它。

希望这是一个开始。也许其他人可以以此为基础,或提出替代方案。

更新

† 在较新的 SDK 版本上,您必须使用 grep 获取模拟器

$ ps -A | grep "iOS Simulator"
于 2013-03-01T09:59:44.530 回答