diff --git a/PadelClub.xcodeproj/project.pbxproj b/PadelClub.xcodeproj/project.pbxproj index a6143cf..7156429 100644 --- a/PadelClub.xcodeproj/project.pbxproj +++ b/PadelClub.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ C45BAE442BCA753E002EEC8A /* Purchase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45BAE432BCA753E002EEC8A /* Purchase.swift */; }; C49EF0192BD694290077B5AA /* PurchaseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0182BD694290077B5AA /* PurchaseListView.swift */; }; C49EF01B2BD6A1E80077B5AA /* URLs.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF01A2BD6A1E80077B5AA /* URLs.swift */; }; + C49EF0222BD6BBE00077B5AA /* FileManager+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49EF0212BD6BBE00077B5AA /* FileManager+Extensions.swift */; }; C4A47D5A2B6D383C00ADC637 /* Tournament.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D592B6D383C00ADC637 /* Tournament.swift */; }; C4A47D5E2B6D38EC00ADC637 /* DataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D5D2B6D38EC00ADC637 /* DataStore.swift */; }; C4A47D632B6D3D6500ADC637 /* Club.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4A47D622B6D3D6500ADC637 /* Club.swift */; }; @@ -310,6 +311,7 @@ C45BAE432BCA753E002EEC8A /* Purchase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Purchase.swift; sourceTree = ""; }; C49EF0182BD694290077B5AA /* PurchaseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseListView.swift; sourceTree = ""; }; C49EF01A2BD6A1E80077B5AA /* URLs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLs.swift; sourceTree = ""; }; + C49EF0212BD6BBE00077B5AA /* FileManager+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileManager+Extensions.swift"; sourceTree = ""; }; C4A47D592B6D383C00ADC637 /* Tournament.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tournament.swift; sourceTree = ""; }; C4A47D5D2B6D38EC00ADC637 /* DataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataStore.swift; sourceTree = ""; }; C4A47D622B6D3D6500ADC637 /* Club.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Club.swift; sourceTree = ""; }; @@ -1134,17 +1136,18 @@ FFF8ACD02B9238A2008466FA /* Manager */ = { isa = PBXGroup; children = ( - C49EF01A2BD6A1E80077B5AA /* URLs.swift */, - FF1DC5582BAB767000FD8220 /* Tips.swift */, - FF0EC51D2BB16F680056B6D1 /* SwiftParser.swift */, - FF1DC55A2BAB80C400FD8220 /* DisplayContext.swift */, - FFF8ACD32B92392C008466FA /* SourceFileManager.swift */, + FFA6D7862BB0B7A2003A31F3 /* CloudConvert.swift */, FF92680A2BCEE3E10080F940 /* ContactManager.swift */, - FF92680C2BCEE5EA0080F940 /* NetworkMonitor.swift */, + FF1DC55A2BAB80C400FD8220 /* DisplayContext.swift */, + FFA6D7842BB0B795003A31F3 /* FileImportManager.swift */, + C49EF0212BD6BBE00077B5AA /* FileManager+Extensions.swift */, FFC1E1072BAC29FC008D6F59 /* LocationManager.swift */, + FF92680C2BCEE5EA0080F940 /* NetworkMonitor.swift */, FF8F26352BAD523300650388 /* PadelRule.swift */, - FFA6D7842BB0B795003A31F3 /* FileImportManager.swift */, - FFA6D7862BB0B7A2003A31F3 /* CloudConvert.swift */, + FFF8ACD32B92392C008466FA /* SourceFileManager.swift */, + FF0EC51D2BB16F680056B6D1 /* SwiftParser.swift */, + FF1DC5582BAB767000FD8220 /* Tips.swift */, + C49EF01A2BD6A1E80077B5AA /* URLs.swift */, FF6EC9072B947A1E00EA7F5A /* Network */, ); path = Manager; @@ -1525,6 +1528,7 @@ FFCFC0142BBC59FC00B82851 /* MatchDescriptor.swift in Sources */, FF8F264C2BAE0B4100650388 /* TournamentFormatSelectionView.swift in Sources */, FFBF065E2BBD8040009D6715 /* MatchListView.swift in Sources */, + C49EF0222BD6BBE00077B5AA /* FileManager+Extensions.swift in Sources */, C425D4012B6D249D002A7B48 /* PadelClubApp.swift in Sources */, FF8F26432BADFE5B00650388 /* TournamentSettingsView.swift in Sources */, FF4C7F022BBBD7150031B6A3 /* TabItemModifier.swift in Sources */, diff --git a/PadelClub/Manager/FileManager+Extensions.swift b/PadelClub/Manager/FileManager+Extensions.swift new file mode 100644 index 0000000..a4db7a2 --- /dev/null +++ b/PadelClub/Manager/FileManager+Extensions.swift @@ -0,0 +1,26 @@ +// +// FileManager+Extensions.swift +// PadelClub +// +// Created by Laurent Morvillier on 22/04/2024. +// + +import Foundation +import LeStorage + +extension FileManager { + + func createDirectoryInDocuments(directoryName: String) { + let documentsDirectory = self.urls(for: .documentDirectory, in: .userDomainMask).first! + let directoryURL = documentsDirectory.appendingPathComponent(directoryName) + + if !self.fileExists(atPath: directoryURL.path) { + do { + try self.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil) + } catch { + Logger.error(error) + } + } + } + +}