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

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007