I'm trying to get the free space on the device and the amount of space my sandbox is using. Any thoughts?
Thanks, Rick
I'm trying to get the free space on the device and the amount of space my sandbox is using. Any thoughts?
Thanks, Rick
In Objective-C you can get the available file system space with 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];
To get the amount of space your app is using read this question: Calculate the size of a folder
this is close, but not perfect.
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);
This is the direct translate from @phix23 to MonoTouch (Sorry for the length of the lines, cocoa is too verbose):
var docDir = NSSearchPath.GetDirectories(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomain.User, true)[0];
var freeSpace = NSFileManager.DefaultManager.GetFileSystemAttributes(docDir).FreeSize;