iphone开发之获取系统磁盘大小和可用磁盘大小

简介:

NSFileManager包含非常丰富的信息,通过下面的方法可很容易的获取系统磁盘的大小和可用磁盘的大小

- (NSNumber *) totalDiskSpace 

    NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()]; 
    return [fattributes objectForKey:NSFileSystemSize]; 


- (NSNumber *) freeDiskSpace 

    NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()]; 
    return [fattributes objectForKey:NSFileSystemFreeSize]; 
}

 

参见NSFileManager的头文件尾部定义的字段,不难发现还有许多可以获取的信息的。

具体的都可以根据需求来获取。

FOUNDATION_EXPORT NSString * const NSFileType; 
FOUNDATION_EXPORT NSString     * const NSFileTypeDirectory; 
FOUNDATION_EXPORT NSString     * const NSFileTypeRegular; 
FOUNDATION_EXPORT NSString     * const NSFileTypeSymbolicLink; 
FOUNDATION_EXPORT NSString     * const NSFileTypeSocket; 
FOUNDATION_EXPORT NSString     * const NSFileTypeCharacterSpecial; 
FOUNDATION_EXPORT NSString     * const NSFileTypeBlockSpecial; 
FOUNDATION_EXPORT NSString     * const NSFileTypeUnknown; 
FOUNDATION_EXPORT NSString * const NSFileSize; 
FOUNDATION_EXPORT NSString * const NSFileModificationDate; 
FOUNDATION_EXPORT NSString * const NSFileReferenceCount; 
FOUNDATION_EXPORT NSString * const NSFileDeviceIdentifier; 
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountName; 
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountName; 
FOUNDATION_EXPORT NSString * const NSFilePosixPermissions; 
FOUNDATION_EXPORT NSString * const NSFileSystemNumber; 
FOUNDATION_EXPORT NSString * const NSFileSystemFileNumber; 
FOUNDATION_EXPORT NSString * const NSFileExtensionHidden; 
FOUNDATION_EXPORT NSString * const NSFileHFSCreatorCode; 
FOUNDATION_EXPORT NSString * const NSFileHFSTypeCode; 
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileImmutable; 
FOUNDATION_EXPORT NSString * const NSFileAppendOnly; 
FOUNDATION_EXPORT NSString * const NSFileCreationDate; 
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountID; 
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountID; 
#endif 
#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileBusy; 
#endif 
#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileProtectionKey NS_AVAILABLE(NA, 4_0); 
FOUNDATION_EXPORT NSString     * const NSFileProtectionNone NS_AVAILABLE(NA, 4_0); 
FOUNDATION_EXPORT NSString     * const NSFileProtectionComplete NS_AVAILABLE(NA, 4_0); 
#endif 

FOUNDATION_EXPORT NSString * const NSFileSystemSize; 
FOUNDATION_EXPORT NSString * const NSFileSystemFreeSize; 
FOUNDATION_EXPORT NSString * const NSFileSystemNodes; 
FOUNDATION_EXPORT NSString * const NSFileSystemFreeNodes; 

@interface NSDictionary (NSFileAttributes) 

- (unsigned long long)fileSize; 
- (NSDate *)fileModificationDate; 
- (NSString *)fileType; 
- (NSUInteger)filePosixPermissions; 
- (NSString *)fileOwnerAccountName; 
- (NSString *)fileGroupOwnerAccountName; 
- (NSInteger)fileSystemNumber; 
- (NSUInteger)fileSystemFileNumber; 
- (BOOL)fileExtensionHidden; 
- (OSType)fileHFSCreatorCode; 
- (OSType)fileHFSTypeCode; 
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
- (BOOL)fileIsImmutable; 
- (BOOL)fileIsAppendOnly; 
- (NSDate *)fileCreationDate; 
- (NSNumber *)fileOwnerAccountID; 
- (NSNumber *)fileGroupOwnerAccountID; 
#endif 
@end










本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/577946,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
编解码 测试技术 iOS开发
iPhone 屏幕尺寸和开发适配
【10月更文挑战第23天】iPhone 的屏幕尺寸变化给开发者带来了一定的挑战,但也为创新提供了机遇。通过深入了解不同屏幕尺寸的特点,遵循适配原则和策略,运用合适的技巧和方法,我们能够为用户提供在不同 iPhone 机型上都具有良好体验的应用。在未来,随着技术的不断进步,我们还需要持续学习和适应,以满足用户对优质应用体验的不断追求。
|
1月前
|
编解码 iOS开发 UED
响应式设计在 iPhone 开发适配中的具体应用
【10月更文挑战第23天】响应式设计在 iPhone 开发适配中扮演着至关重要的角色,它能够帮助我们打造出适应不同屏幕尺寸和用户需求的高质量应用。通过合理运用响应式设计的原则和方法,我们可以在提供良好用户体验的同时,提高开发效率和应用的可维护性。
|
4月前
|
数据采集 iOS开发 Python
Chatgpt教你开发iPhone风格计算器,Python代码实现
Chatgpt教你开发iPhone风格计算器,Python代码实现
|
7月前
|
网络虚拟化 iOS开发
苹果手机无法更新系统问题
苹果手机无法更新系统问题
126 0
苹果手机无法更新系统问题
|
7月前
|
Android开发 iOS开发
【教程】如何在苹果手机上查看系统文件?
苹果手机与安卓手机不同,无法直接访问系统文件夹。但是,如果我们想要查看苹果手机的系统文件,可以借助一些工具来实现。本文将介绍一款名为克魔助手的iOS设备管理软件,它能帮助我们轻松查看苹果手机的系统文件。 连接iPhone到电脑,打开克魔助手,用数据线将iPhone连接到电脑上。连接成功后,克魔助手会自动读取iPhone的信息,并显示在软件的主界面上。
【教程】如何在苹果手机上查看系统文件?
|
7月前
|
iOS开发
【怒怼老乔】居然苹果手机IOS系统还不支持css3的transparent属性值,我去~~~~
【怒怼老乔】居然苹果手机IOS系统还不支持css3的transparent属性值,我去~~~~
|
数据管理 文件存储 数据安全/隐私保护
iMazing2023免费版苹果手机系统设备数据传输与备份工具
iMazing需要数据线将你的电脑和iPhone或者是iPad连接,这款软件是itunes的完美替代品,有用iPhone或iPad的朋们友推荐下载使用。只要在同一网络下,就可以轻松管理你的iPhone,可以说是非常的方便。平时在传输文件资料时,可以将iMazing充分利用起来,它可以对iQS设备进行强有力的管理。下载末尾安装包!
247 0
iMazing2023免费版苹果手机系统设备数据传输与备份工具
|
iOS开发
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
254 0
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
|
数据安全/隐私保护 iOS开发
小技巧 - iPhone手机(IOS系统)玩游戏时关闭所有消息提醒
小技巧 - iPhone手机(IOS系统)玩游戏时关闭所有消息提醒
898 0
小技巧 - iPhone手机(IOS系统)玩游戏时关闭所有消息提醒
|
编解码 安全 Android开发
iPhone苹果手机如何设置使用非系统自带铃声
自从开始使用苹果手机,如何设置自定义的手机铃声成了困扰我的难题,每次听着系统自带的铃声响起都很不喜,拿到iPhone plus我就开始研究怎么设置自定义的铃声,试了很多办法,都不行。电脑是win10系统,查了很多方法,下了各种软件,都没解决这问题。网上讲的最多的是下载iTunes云云,我卸了装,装了卸的,反复各种试都行不通;就卡在win10环境下的iTunes与iPhone手机连接不上,提示如图的问题:
452 0
iPhone苹果手机如何设置使用非系统自带铃声