微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可可应用程序的大小为/ dev / disk0s1

如何解决可可应用程序的大小为/ dev / disk0s1

|| 如何在Cocoa应用程序中通过分区的设备名称(例如/ dev / disk0s1)获取分区的大小(以字节为单位)?也许我应该以某种方式使用磁盘仲裁框架?     

解决方法

没错,您可以使用磁盘仲裁框架获取该信息:
DASessionRef session = DASessionCreate(NULL);

if (session) {
    DADiskRef disk = DADiskCreateFromBSDName(NULL,session,\"/dev/disk0s1\");

    if (disk) {
        CFDictionaryRef diskDescription = DADiskCopyDescription(disk);
        NSDictionary *diskData = (NSDictionary *)diskDescription;
        NSString *diskSizeKey = (NSString *)kDADiskDescriptionMediaSizeKey;
        unsigned long size = [[diskData objectForKey:diskSizeKey]
            unsignedLongValue];

        NSLog(@\"size in bytes = %lu\",size);

        CFRelease(diskDescription);    
        CFRelease(disk);
    }
    else NSLog(@\"Error while getting DA disk for /dev/disk0s1\");

    CFRelease(session);
}
else NSLog(@\"Error while creating DA session\");
请注意,/ dev / disk0s1是EFI分区。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。