diff --git a/Logger.xcodeproj/project.pbxproj b/Logger.xcodeproj/project.pbxproj
index 317817a..220338c 100644
--- a/Logger.xcodeproj/project.pbxproj
+++ b/Logger.xcodeproj/project.pbxproj
@@ -370,7 +370,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
 				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
 				MTL_FAST_MATH = YES;
 				ONLY_ACTIVE_ARCH = YES;
@@ -425,7 +425,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				MTL_FAST_MATH = YES;
 				SDKROOT = iphoneos;
diff --git a/Logger/Loggers/DiskLogger/DiskLogger.swift b/Logger/Loggers/DiskLogger/DiskLogger.swift
index 9e14117..69e5320 100644
--- a/Logger/Loggers/DiskLogger/DiskLogger.swift
+++ b/Logger/Loggers/DiskLogger/DiskLogger.swift
@@ -46,6 +46,7 @@ protocol LogrotateFactory {
 }
 
 /// Logger that writes messages into the file at specified URL with log rotation support.
+@available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
 public final class DiskLogger: Logger {
     
     private let fileURL: URL
@@ -97,7 +98,7 @@ public final class DiskLogger: Logger {
                     try self.writeBuffer()
                 }
                 catch is SizeLimitedFileQuotaReached {
-                    self.closeSizeLimitedFile()
+                    try self.closeSizeLimitedFile()
                     try self.rotateLogFiles()
                     try self.openSizeLimitedFile()
                     try self.writeBuffer()
@@ -124,8 +125,8 @@ public final class DiskLogger: Logger {
         buffer.removeAll()
     }
     
-    private func closeSizeLimitedFile() {
-        self.sizeLimitedFile.synchronizeAndCloseFile()
+    private func closeSizeLimitedFile() throws {
+        try self.sizeLimitedFile.synchronizeAndCloseFile()
         self.sizeLimitedFile = nil
     }
     
diff --git a/Logger/Loggers/DiskLogger/OSFileHandle.swift b/Logger/Loggers/DiskLogger/OSFileHandle.swift
index dfe5bb9..3f9103a 100644
--- a/Logger/Loggers/DiskLogger/OSFileHandle.swift
+++ b/Logger/Loggers/DiskLogger/OSFileHandle.swift
@@ -9,15 +9,45 @@
 import Foundation
 
 protocol OSFileHandle {
-    func seekToEndOfFile() -> UInt64
-    func swift_write(_ data: Data) throws
-    func synchronizeFile()
-    func closeFile()
+    func osSeekToEndOfFile() throws -> UInt64
+    func osWrite(_ data: Data) throws
+    func osSynchronizeFile() throws
+    func osCloseFile() throws
 }
 
 extension FileHandle: OSFileHandle {
     
-    func swift_write(_ data: Data) throws {
-        try __write(data, error: ())
+    func osSeekToEndOfFile() throws -> UInt64 {
+        if #available(iOS 13.0, *) {
+            var offsetInFile: UInt64 = 0
+            try __seek(toEndReturningOffset:&offsetInFile)
+            return offsetInFile
+        } else {
+            fatalError()
+        }
+    }
+    
+    func osWrite(_ data: Data) throws {
+        if #available(iOS 13.0, *) {
+            try __write(data, error: ())
+        } else {
+            fatalError()
+        }
+    }
+    
+    func osSynchronizeFile() throws {
+        if #available(iOS 13.0, *) {
+            try synchronize()
+        } else {
+            fatalError()
+        }
+    }
+    
+    func osCloseFile() throws {
+        if #available(iOS 13.0, *) {
+            try close()
+        } else {
+            fatalError()
+        }
     }
 }
diff --git a/Logger/Loggers/DiskLogger/SizeLimitedFile.swift b/Logger/Loggers/DiskLogger/SizeLimitedFile.swift
index d95e5f4..e7b89cb 100644
--- a/Logger/Loggers/DiskLogger/SizeLimitedFile.swift
+++ b/Logger/Loggers/DiskLogger/SizeLimitedFile.swift
@@ -42,7 +42,7 @@ protocol SizeLimitedFile {
     func write(_ data: Data) throws
     
     /// Writes all in-memory data to permanent storage and closes the file.
-    func synchronizeAndCloseFile()
+    func synchronizeAndCloseFile() throws
 }
 
 /// Allows writing to a file while respecting allowed size limit.
@@ -61,7 +61,7 @@ final class SizeLimitedFileImpl {
     init(fileURL: URL, fileSizeLimit: UInt64, fileFactory: FileHandleFactory) throws {
         file = try fileFactory.makeInstance(forWritingTo: fileURL)
         self.sizeLimit = fileSizeLimit
-        currentSize = file.seekToEndOfFile()
+        currentSize = try file.osSeekToEndOfFile()
     }
 }
 
@@ -72,12 +72,12 @@ extension SizeLimitedFileImpl: SizeLimitedFile {
         guard currentSize + dataSize <= sizeLimit else {
             throw SizeLimitedFileQuotaReached()
         }
-        try file.swift_write(data)
+        try file.osWrite(data)
         currentSize += dataSize
     }
     
-    func synchronizeAndCloseFile() {
-        file.synchronizeFile()
-        file.closeFile()
+    func synchronizeAndCloseFile() throws {
+        try file.osSynchronizeFile()
+        try file.osCloseFile()
     }
 }