mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-08 22:33:26 +01:00
37 lines
942 B
Swift
37 lines
942 B
Swift
//
|
|
// FileManager+DirectorySize.swift
|
|
// AltStore
|
|
//
|
|
// Created by Riley Testut on 3/31/20.
|
|
// Copyright © 2020 Riley Testut. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension FileManager
|
|
{
|
|
func directorySize(at directoryURL: URL) -> Int?
|
|
{
|
|
guard let enumerator = FileManager.default.enumerator(at: directoryURL, includingPropertiesForKeys: [.fileSizeKey]) else { return nil }
|
|
|
|
var total: Int = 0
|
|
|
|
for case let fileURL as URL in enumerator
|
|
{
|
|
do
|
|
{
|
|
let resourceValues = try fileURL.resourceValues(forKeys: [.fileSizeKey])
|
|
guard let fileSize = resourceValues.fileSize else { continue }
|
|
|
|
total += fileSize
|
|
}
|
|
catch
|
|
{
|
|
print("Failed to read file size for item: \(fileURL).", error)
|
|
}
|
|
}
|
|
|
|
return total
|
|
}
|
|
}
|