LoginSignup
8
8

More than 5 years have passed since last update.

Objective-C:ファイルシステムの空き容量を取得する

Posted at

iOSのファイルシステム空き容量を調べます。

ユーザーは色んなアプリをインストールしていると思われます。
更にそれらのセーブデータ等でも容量は減っています。
自分が制作したアプリのセーブデータ、ダウンロードファイルなどを保存したい場合、
足りるかどうか先に空き容量を調べることがあるかと思います。

以前は「fileSystemAttributesAtPath」というものを使い取得していましたが、
今これを使用しビルドすると「deprecated(非推奨)」とwarningがでます。
(とりあえずfileSystemAttributesAtPathでも読みだすことは可能ですが
いつSDKから完全削除になるかはわかりません)

fileSystemAttributesAtPathを使用しない別の取得方法。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error:nil];

float free = 0.0; //空き容量が入る   
if (dic) {
    float MB = 1024.0 * 1024.0; //メガバイトで計算
    free = [dic[@"NSFileSystemFreeSize"] floatValue] / MB;
}

上記、freeにメガバイト単位で空き容量が入ります。
アプリにもよるかと思いますが、
取得した容量が少ないようならダイアログなどを表示してユーザーに注意を促すのがよいかと思います。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8