Свободное место на устройстве и песочница - PullRequest
5 голосов
/ 26 февраля 2011

Я пытаюсь получить свободное место на устройстве и количество места, которое использует моя песочница. Есть мысли?

Спасибо, Rick

Ответы [ 3 ]

6 голосов
/ 17 мая 2011

В Objective-C вы можете получить доступное пространство файловой системы с помощью NSFileManager:

NSFileManager* filemgr = [NSFileManager defaultManager];

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];            

NSDictionary* fsAttr = [filemgr attributesOfFileSystemForPath:docDirectory error:NULL];

unsigned long long freeSize = [(NSNumber*)[fsAttr objectForKey:NSFileSystemFreeSize] unsignedLongLongValue];

Чтобы узнать, сколько места занимает ваше приложение, прочитайте этот вопрос: Рассчитать размер папки

0 голосов
/ 20 ноября 2013

Это прямой перевод с @ phix23 на MonoTouch (извините за длину строк, какао слишком многословно):

var docDir = NSSearchPath.GetDirectories(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomain.User, true)[0];
var freeSpace = NSFileManager.DefaultManager.GetFileSystemAttributes(docDir).FreeSize;
0 голосов
/ 23 мая 2011

это близко, но не идеально.

NSFileManager a = NSFileManager.DefaultManager;
NSError _error;

string _databaseFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "..");
NSDictionary _b =  a.GetFileSystemAttributes(_databaseFolder,out _error);
NSObject _d =  NSObject.FromObject("NSFileSystemFreeSize");
NSObject _c =  _b.ObjectForKey(_d);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...