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

  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • Nightmare2005

    Nightmare200

    14 Ocak 2007