2016-06-25 11 views

Antwort

4

Es ist keine Begrenzung für die Aufnahmedatei im iPhone. Aber vor dem Speichern in das Anwendungsdokumentverzeichnis. Überprüfen Sie den verfügbaren Speicherplatz auf dem iPhone und speichern Sie sie ab, sodass die Wahrscheinlichkeit, dass Dateien verloren gehen, geringer ist.

Unter dem Code für verfügbaren freien Speicherplatz in iPhone überprüfen.

-(uint64_t)getFreeDiskspace { 
    NSString *folderPath = [[NSBundle mainBundle] bundlePath]; 
    NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil]; 
    NSEnumerator *filesEnumerator = [filesArray objectEnumerator]; 
    NSString *fileName; 
    unsigned long long int fileSize = 0; 

    while (fileName = [filesEnumerator nextObject]) { 
     NSDictionary *fileDictionary = [[NSFileManager defaultManager] fileAttributesAtPath:[folderPath stringByAppendingPathComponent:fileName] traverseLink:YES]; 
     fileSize += [fileDictionary fileSize]; 
    } 

    NSLog(@"App size : %lld",fileSize); 
    uint64_t totalSpace = 0; 
    uint64_t totalFreeSpace = 0; 
    NSError *error = nil; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error]; 

    NSError *attributesError = nil; 

    NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[paths lastObject] error:&attributesError]; 

    NSLog(@"App Directory size %llu",[fileAttributes fileSize]); 

    if (dictionary) { 
     NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize]; 
     NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize]; 
     totalSpace = [fileSystemSizeInBytes unsignedLongLongValue]; 
     totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue]; 
     NSLog(@"Memory Capacity of %llu MiB with %llu MiB Free memory available.", ((totalSpace)), ((totalFreeSpace))); 
    } else { 
     NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]); 
    } 
// NSLog(@"DISK SPACE %f",[self diskSpace]); 
// NSLog(@"GET FREE SPACE %lld",[self getFreeSpace]); 
    return totalFreeSpace; 
} 
- (long long)getFreeSpace 
{ 
    long long freeSpace = 0.0f; 
    NSError *error = nil; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error]; 

    if (dictionary) { 
     NSNumber *fileSystemFreeSizeInBytes = [dictionary objectForKey: NSFileSystemFreeSize]; 
     freeSpace = [fileSystemFreeSizeInBytes longLongValue]; 
    } else { 
     //Handle error 
     NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]); 
    } 
    NSLog(@"Free Space %lli",freeSpace); 
    return (freeSpace); 
} 
+0

es funktioniert Danke :) –

0

ich nicht, dass es max Grenze finden könnte, aber hier ist ein Code, um es auf eine bestimmte Anzahl von Sekunden zu begrenzen, so dass Sie versuchen können, und fängt zu finden, was die Grenze

Setting a time limit when recording an audio clip?

+0

Ja. Aber ich möchte wissen, was maximale Grenze ist. –

+0

Sie können es mit Bruteforce versuchen, ich konnte es nicht finden, indem ich suche –

Verwandte Themen