SORU
19 NİSAN 2011, Salı


Nasıl iPhone/iPad cihaz üzerinde/özgür toplam kullanılabilir disk alanı tespit etmek için?


Daha iyi bir yol için iPhone/iPad aygıt aracılığıyla kullanılabilir/boş disk alanı tespit etmek için arıyorum.
Şu anda NSFileManager disk alanı tespit etmek için kullanıyorum. Aşağıdaki benim için bu işi yapan kod parçacığı:

-(unsigned)getFreeDiskspacePrivate {
NSDictionary *atDict = [[NSFileManager defaultManager] attributesOfFileSystemForPath:@"/" error:NULL];
unsigned freeSpace = [[atDict objectForKey:NSFileSystemFreeSize] unsignedIntValue];
NSLog(@"%s - Free Diskspace: %u bytes - %u MiB", __PRETTY_FUNCTION__, freeSpace, (freeSpace/1024)/1024);

return freeSpace;
}


Yukarıdaki Pasajı ile doğru muyum? ya orada/özgür toplam kullanılabilir disk alanı bilmek için iyi bir yoldur.
Düşük disk Alanı Bu senaryoda, eşitleme gerçekleştirmek için bizim uygulama önlemek için aldığımızdan bu yana toplam boş disk alanı tespit ettim.
Şimdiden teşekkürler.

CEVAP
7 Kasım 2011, PAZARTESİ


Aşağıdaki çözüm benim için çalışırken buldum:

-(uint64_t)getFreeDiskspace {
    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];  

    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/1024ll)/1024ll), ((totalFreeSpace/1024ll)/1024ll));
    } else {  
        NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
    }  

    return totalFreeSpace;
}

Makine bağlandığında iTunes bu görüntüler bana tam olarak boyutunu döndürür.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hanksranger

    hanksranger

    6 EKİM 2009
  • Maya Learning Channel

    Maya Learnin

    23 HAZİRAN 2010
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005