EEYatHo 앱 깎는 이야기

Swift ) 디바이스 여유공간 구하기 - EEYatHo iOS 본문

iOS, Swift/Feature

Swift ) 디바이스 여유공간 구하기 - EEYatHo iOS

EEYatHo 2021. 7. 21. 17:36
반응형

다비이스의 여유 저장공간을 단위까지 변환해서 구하는 함수

 

/// 여유공간 구하기
func getFreeSizeAsString() -> String {
    
    let documentDirectoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    var freeSize: NSNumber? // Byte단위
    do {
        let attributes = try FileManager.default.attributesOfFileSystem(forPath: documentDirectoryPath.last! as String)
        freeSize = attributes[FileAttributeKey.systemFreeSize] as? NSNumber
    } catch { 
        print(error)
    }

    var freeSizeAsDouble: Double = freeSize as? Double ?? 0

    if freeSizeAsDouble / 1024 < 1 {
        return String(format: "%.1fByte", freeSizeAsDouble)
    }
    freeSizeAsDouble /= 1024
    if freeSizeAsDouble / 1024 < 1 {
        return String(format: "%.1fKB", freeSizeAsDouble)
    }
    freeSizeAsDouble /= 1024
    if freeSizeAsDouble / 1024 < 1 {
        return String(format: "%.1fMB", freeSizeAsDouble)
    }
    freeSizeAsDouble /= 1024
    
    return String(format: "%.1fGB", freeSizeAsDouble)
}

 

Comments