Место для хранения / HD на iPhone через код - PullRequest
1 голос
/ 05 августа 2010

Как узнать, сколько места осталось на iPhone?Мне нужно иметь возможность получить информацию, которую вы можете получить с помощью appbox pro, т.е.используемое пространство, доступное пространство, общее пространство, все в ГБ.

Как получить к нему доступ в приложении без использования частных API?Спасибо

1 Ответ

1 голос
/ 30 апреля 2012

Проверьте zip-файл (не исходный) на http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/ - я использую его в своих проектах, и он работает.

Я внес некоторые изменения (мне были нужны байты), но выиметь код ниже для всех единиц:

-(int) bytesAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int bytes = availableDisk;
    return (int)bytes;
}

-(int) kilosAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int kilos = availableDisk/1024;
    return (int)kilos;
}

-(int) megasAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int megas = availableDisk/1024/1024;
    return (int)megas;
}

-(int) gigasAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int gigas = availableDisk/1024/1024/1024;
    return (int)gigas;
}

И чтобы использовать его, просто позвоните:

FSStats *stats = [[FSStats alloc] initWithFilePath:@"/"];
int freeSpace = [stats bytesAvailable];

Чтобы получить общий размер, просто используйте "f_bsize":

float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
float totalSize = (float)(tStats.f_bsize * tStats.f_bsize);
NSLog(@"Total size: %.2f | Free: %.2f", totalSize, availableDisk);

все кредиты достаются Далласу Брауну http://kdbdallas.com/

...