获取 USB HDD 的序列号 (Mac OS)

2024-01-08

我已经在 stackoverflow.com 和 google 上搜索了答案,但找不到任何东西。

我获得了属于外部 USB HDD (disk1) 的分区 (disk1s1) 的 bsdName。

我需要找出该外部硬盘的序列号。 我已经尝试过以下操作(查找具有 bsd 名称的服务):

io_service_t io_service = IOServiceGetMatchingService(kIOMasterPortDefault,IOBSDNameMatching(kIOMasterPortDefault, 0, [@"disk1" cStringUsingEncoding:NSUTF8StringEncoding]));

问题是:返回的服务类型是IOMedia没有字段USB Serial Number。如果我使用,我最终会遇到同样的问题DiskArbitration框架(这是一个抽象IOMedia)

所以我尝试了另一种方式:获取全部IOUSBDevice服务迭代它们并只查找 bsdName 或分区IOUSBDevice。不幸的是,没有存储有关任何分区或 bsd 名称的信息IOUSBDevice.

有人可以帮我解决这个问题吗?

更多信息:

  • 代码 4.3.2
  • Mac OS X Lion (10.7.3)

EDIT:如果我迭代所有 IOUSBDevice 或 AppleUSBEHCI io_services ,这是输出中有趣的部分:

Child props: {
"Bus Power Available" = 250;
"Device Speed" = 2;
IOCFPlugInTypes =     {
    "9dc7b780-9ec0-11d4-a54f-000a27052861" = "IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle";
};
IOGeneralInterest = "IOCommand is not serializable";
IOUserClientClass = IOUSBDeviceUserClientV2;
"Low Power Displayed" = 0;
PortNum = 3;
"Requested Power" = 250;
"USB Address" = 6;
"USB Product Name" = "Mass Storage Device";
"USB Serial Number" = 09021000000000003740385375;
"USB Vendor Name" = JetFlash;
bDeviceClass = 0;
bDeviceProtocol = 0;
bDeviceSubClass = 0;
bMaxPacketSize0 = 64;
bNumConfigurations = 1;
bcdDevice = 2560;
iManufacturer = 1;
iProduct = 2;
iSerialNumber = 3;
idProduct = 4096;
idVendor = 34148;
kHasMSCInterface = 1;
locationID = "-99418112";
sessionID = 209792844564562;
uid = "USB:85641000003740385375";

}

正如你所看到的,我得到了序列号,但我无法知道这个设备有哪个 bsd 名称。


我有一个关于如何在 C++ 中执行此操作的教程。给定一个 io_service_t,即下面代码片段中的 usbDevice,您将得到如下 bsdName:

     bsdName = ( CFStringRef ) IORegistryEntrySearchCFProperty( 
        usbDevice,
        kIOServicePlane,
        CFSTR( kIOBSDNameKey ),
        kCFAllocatorDefault,
        kIORegistryIterateRecursively )

这是用 C++ 获取 USB 闪存盘序列号的代码,但它可能可以适应您的目的:

http://oroboro.com/usb-serial-number-osx/ http://oroboro.com/usb-serial-number-osx/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 USB HDD 的序列号 (Mac OS) 的相关文章

  • Objective-C 中是否有命名初始化方法的约定?

    在可以通过不同的 init 方法初始化的 Objective C 类中 将所有初始化程序共用的初始化代码收集到一个从其他 init 方法 有时也从从 Nib 唤醒 是否有关于如何命名该方法的约定 初始化器 初始化公共 根据 Apple 的说
  • AVCaptureDevice 找不到任何设备

    这行代码是我今天遇到的问题 macOS 应用程序 NSArray devices AVCaptureDevice devicesWithMediaType AVMediaTypeVideo 我更新Xcode后 系统总是让我空着devices
  • 为 iOS 应用程序加载基于 SVG 的图像资源

    我从 thenounproject 购买了一个图标作为 SVG 图像 然后我使用一个名为的 macOS 程序Gapplin http gapplin wolfrosch com 将此 SVG 导出为 PNG 图像 它显示为 100x100
  • 在文本视图滚动之前无法看到 UITextView 中的文本

    我的应用程序中有一堆文本视图 由于某种原因 无论我以编程方式 来自互联网 还是通过界面生成器 硬编码 设置 UITextView 文本 无论我做什么 当我在测试时转到该文本视图时它都是空白的 但当我滚动它的那一刻 所有文本就突然出现了 只是
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 从 python 检测 macOS 中的暗模式

    我正在编写一个 PyQt 应用程序 我必须添加一个补丁 以便在启用暗模式的 Macos 上可以读取字体 app QApplication Fix for the font colours on macos when running dark
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • 如何防止Apple Watch进入睡眠状态?

    我们正在开发一个 Apple Watch 项目 但如果不被打扰 手表就会进入睡眠状态 有什么办法可以阻止它进入睡眠状态吗 据我所知和有关该主题的其他搜索 目前还没有api可通过编程方式启用或禁用 Apple Watch 的睡眠模式
  • VLCJ 无法在 Mac 上运行 - 插件 libvlccore.5.dylib

    我正在尝试让 VLCJ 在 Mac 和 PC 上运行 它在 Windows 7 64 位 下运行良好 但当我尝试在 Mac 上运行它时 它崩溃了 我指向 VLC dylib 文件的正确目录 但收到 使用 libvlccore 5 dylib
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 推入 UINavigationController 时隐藏 FBFriendPickerViewController 导航栏

    介绍一个实例FBFriendPickerViewController using presentViewController animated completion 非常简单 该类似乎是针对该用例的 但是 我想推送一个实例FBFriendP
  • 有没有办法通过 WiFi 部署/调试 Cordova Android Ionic 应用程序? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 这是一个双胞胎this https stackoverflow com questions 46596236 is there a w
  • Xcode 中的 iOS 9 警告 - 此文件设置为针对早于项目部署的版本进行构建。功能可能有限

    我刚刚将我的 Mac 更新到最新的操作系统 并将 Xcode 更新到最新版本 现在我收到此警告 但我不知道该由谁来删除它 也不知道它的真正含义是什么 有人可以向我解释一下吗 Thanks Select Main storyboard in
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • Sqlite代码28“文件在打开时重命名”

    这是一个推论这个问题 https stackoverflow com questions 27784704 sqlite deadlock across multiple threads with different files nored

随机推荐

  • 地图上重叠注释 (MKAnnotationView) 的问题

    在我的 iPhone 应用程序中 我将 MapKit 与 MKMapView 和自定义 MKAnnotationView 结合使用 问题是当注释在地图上重叠时 在我的应用程序中 注释是照片 这些照片可能会重叠 并且当您点击前面出现的注释时
  • 从 CSV 中删除一行

    我有一个包含多行和两列的 CSV 名称 和 信息 我正在循环遍历 CSV 并检查每一行的条件 如果满足条件 我想删除该行 for i 0 i le CSV length i if CSV name Fred remove CSV i tha
  • setInterval 在非活动选项卡上不会减慢速度

    这可能与一个非常常见的问题相反 当您使用setInterval在一个选项卡上切换到另一个选项卡时 间隔会显着缩短 即减慢 这对于音频计时来说非常明显 因为您可以听到它被减慢的声音 但在最新的 Chrome 56 和 Firefox 51 上
  • WPF:为什么消息框标题栏上没有图标

    我想要的只是我的消息框应该在其标题栏中显示我的应用程序的图标 或任何其他图标 但它没有 为什么不呢 The MessageBox in WPF http msdn microsoft com en us library system win
  • 如何在 PHP 中找到拼写错误的相似单词?

    我将解释我的问题 我有一个名为country 它有两列 ID and name 当我想要寻找的时候 paris 但拼写错误 pares e 代替 i 我不会从数据库得到任何结果 我希望系统建议可以帮助搜索的相似单词 因此 我正在寻求帮助编写
  • 返回特定属性的默认 get 方法 - MATLAB

    我正在重构一些 MATLAB 遗留软件 涉及在广泛的测试中获得的数据 我正在尝试创建一个包含每个单独通道的数据以及一些额外信息 例如其物理单位 的类 只是为了将这个问题放在这里 该类可以如下所示 classdef Channel lt ha
  • 在字符串时间中添加 20 分钟并将其填充到文本框中或提醒它

    我在选择 列表控件中填充了一个时间字符串 例如 05 40 我想在其中添加 20 分钟 并在每次列表值在 jquery 或 javascript 中发生更改时填充在文本框中 document ready function starttime
  • 如何使用 Amazon EKS 上的 kubernetes 入口控制器将 http 重定向到 https

    我已经为我的应用程序配置了亚马逊证书管理器 ALB 入口控制器和域名 我可以通过端口 80 和端口 443 访问我的应用程序 所有证书都可以正常工作 但是 我想自动将所有来自 HTTP 的流量重定向到 HTTPS 以便自行输入域名的人被重定
  • 如何从 PHP 执行交互式命令?

    我需要执行kdiff3从 PHP 脚本在我的桌面计算机 localhost 中运行命令 使用浏览器 而不是命令行 我已授予用户权限www data正在执行脚本来执行 kdiff3 使用visudo 事实上 如果我登录为www data我可以
  • 如何在 QuickCheck (Haskell) 中使用“oneof”

    我正在尝试编写一个更改数独的道具 然后检查它是否仍然有效 但是 我不确定如何正确使用 oneof 函数 您能给我一些提示吗 prop candidates Sudoku gt Bool prop candidates su isSudoku
  • 无论如何,在不设置 https 连接的情况下设置 Telegram Webhook

    我想设置Telegram Webhook但我没有httpsURL 我也不想处理 ssl 证书 我可以通过使用 https URL 或不设置来解决这个问题https证书上了吗 Telegram webhook 描述 https core te
  • Android 将 apk 安装到设备时出现 [SEGMENTATION FAULT]

    我有个问题 当我尝试使用 AndroidStudio 部署 调试或运行 我的应用程序时 我在 RunLog 中收到以下错误 Waiting for device Target device samsung galaxy nexus WOVC
  • 混淆 JavaScript 属性?

    我最近测试过UglifyJS https github com mishoo UglifyJS and YUI压缩器 http developer yahoo com yui compressor 并注意到一些奇怪的事情 两个缩小器似乎都没
  • 如何在 Chrome 扩展中自定义弹出窗口的标题栏?

    如何在 Chrome 扩展中设置弹出窗口标题栏的样式 我注意到这是由Chrome 聊天室 https chrome google com webstore detail chat for google nckgahadagoaajjgafh
  • 使用 JQ 修改嵌套 JSON 数组

    我想使用 JQ 修改以下 JSON 输入 rows fields name id value k1 name val value 2340378b211aa3d8f2d7607cbddce883b87b191d0425736641e3d30
  • Firefox 中出现奇怪的 CSP 错误

    我最近添加了以下 CSP 策略https stefan sofa rockers org https stefan sofa rockers org default src self style src self https brick a
  • 如何在 Maven 中创建两个文件的一个校验和以在目录名称中使用它

    我正在使用 Maven 创建一个目录 本地 Eclipse b3 Aggregator P2 镜像 两个配置文件 A target B target 用于两次创建此目录 如果这些配置文件发生更改 则应创建新的镜像目录 我想将配置文件的校验和
  • 使本地 TFS 构建代理使用 v14 msbuild 工具

    我有几个 ASP NET vNext 应用程序 我希望我的 CI 服务器也能够构建它们 我的本地机器和 CI 服务器都运行 VS2015 RC 然后我们就有了 VS Online 和本地构建控制器 这就是提到的服务器 但是 我无法继续构建
  • Lua 要求不工作

    我正在尝试使一个 lua 文件需要另一个文件 我正在遵循本指南 http lua users org wiki ModulesTutorial http lua users org wiki ModulesTutorial 我的基本测试应该
  • 获取 USB HDD 的序列号 (Mac OS)

    我已经在 stackoverflow com 和 google 上搜索了答案 但找不到任何东西 我获得了属于外部 USB HDD disk1 的分区 disk1s1 的 bsdName 我需要找出该外部硬盘的序列号 我已经尝试过以下操作 查