diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 271f1fa..e6516df 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -656,7 +656,7 @@ GCC_PREFIX_HEADER = "Target Support Files/SwiftAudioPlayer/SwiftAudioPlayer-prefix.pch"; INFOPLIST_FILE = "Target Support Files/SwiftAudioPlayer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/SwiftAudioPlayer/SwiftAudioPlayer.modulemap"; PRODUCT_MODULE_NAME = SwiftAudioPlayer; @@ -688,7 +688,7 @@ GCC_PREFIX_HEADER = "Target Support Files/SwiftAudioPlayer/SwiftAudioPlayer-prefix.pch"; INFOPLIST_FILE = "Target Support Files/SwiftAudioPlayer/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/SwiftAudioPlayer/SwiftAudioPlayer.modulemap"; PRODUCT_MODULE_NAME = SwiftAudioPlayer; @@ -722,7 +722,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-SwiftAudioPlayer_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-SwiftAudioPlayer_Example/Pods-SwiftAudioPlayer_Example.modulemap"; @@ -817,7 +817,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-SwiftAudioPlayer_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-SwiftAudioPlayer_Example/Pods-SwiftAudioPlayer_Example.modulemap"; diff --git a/Example/SwiftAudioPlayer.xcodeproj/project.pbxproj b/Example/SwiftAudioPlayer.xcodeproj/project.pbxproj index 83d0422..48f3cac 100644 --- a/Example/SwiftAudioPlayer.xcodeproj/project.pbxproj +++ b/Example/SwiftAudioPlayer.xcodeproj/project.pbxproj @@ -412,7 +412,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -458,7 +458,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; diff --git a/Source/Engine/AudioDiskEngine.swift b/Source/Engine/AudioDiskEngine.swift index cb71f25..04dc064 100644 --- a/Source/Engine/AudioDiskEngine.swift +++ b/Source/Engine/AudioDiskEngine.swift @@ -70,16 +70,11 @@ class AudioDiskEngine: AudioEngine { } - if #available(iOS 10.0, *) { - Timer.scheduledTimer(withTimeInterval: 0.2, repeats: true) { [weak self] (timer: Timer) in - guard let _ = self else { return } - self?.timer = timer - self?.updateIsPlaying() - self?.updateNeedle() - } - } else { - // TODO - // Fallback on earlier versions + Timer.scheduledTimer(withTimeInterval: 0.2, repeats: true) { [weak self] (timer: Timer) in + guard let _ = self else { return } + self?.timer = timer + self?.updateIsPlaying() + self?.updateNeedle() } scheduleAudioFile() diff --git a/Source/Engine/AudioStreamEngine.swift b/Source/Engine/AudioStreamEngine.swift index b5c3521..02239c4 100644 --- a/Source/Engine/AudioStreamEngine.swift +++ b/Source/Engine/AudioStreamEngine.swift @@ -141,18 +141,14 @@ class AudioStreamEngine: AudioEngine { let timeInterval = 1 / (converter.engineAudioFormat.sampleRate / Double(PCM_BUFFER_SIZE)) - if #available(iOS 10.0, *) { - Timer.scheduledTimer(withTimeInterval: timeInterval / 32, repeats: true) { [weak self] (timer: Timer) in - self?.timer = timer - self?.pollForNextBuffer() - self?.updateNetworkBufferRange() - self?.updateNeedle() - self?.updateIsPlaying() - self?.updateDuration() - } - } else { - // TODO - // Fallback on earlier versions + + Timer.scheduledTimer(withTimeInterval: timeInterval / 32, repeats: true) { [weak self] (timer: Timer) in + self?.timer = timer + self?.pollForNextBuffer() + self?.updateNetworkBufferRange() + self?.updateNeedle() + self?.updateIsPlaying() + self?.updateDuration() } } diff --git a/Source/LockScreenViewProtocol.swift b/Source/LockScreenViewProtocol.swift index f5597cf..285dab8 100644 --- a/Source/LockScreenViewProtocol.swift +++ b/Source/LockScreenViewProtocol.swift @@ -117,20 +117,16 @@ extension LockScreenViewProtocol { return .success } - if #available(iOS 9.1, *) { - commandCenter.changePlaybackPositionCommand.addTarget { [weak presenter] event in - guard let presenter = presenter else { - return .commandFailed - } - if let positionEvent = event as? MPChangePlaybackPositionCommandEvent { - presenter.handleSeek(toNeedle: Needle(positionEvent.positionTime)) - return .success - } - + commandCenter.changePlaybackPositionCommand.addTarget { [weak presenter] event in + guard let presenter = presenter else { return .commandFailed } - } else { - // Fallback on earlier versions + if let positionEvent = event as? MPChangePlaybackPositionCommandEvent { + presenter.handleSeek(toNeedle: Needle(positionEvent.positionTime)) + return .success + } + + return .commandFailed } } diff --git a/Source/SAPlayer.swift b/Source/SAPlayer.swift index d82cb81..ef13c1e 100644 --- a/Source/SAPlayer.swift +++ b/Source/SAPlayer.swift @@ -67,12 +67,7 @@ public class SAPlayer { public var mediaInfo: SALockScreenInfo? = nil { didSet { if let info = mediaInfo { - if #available(iOS 10.0, *) { - presenter.handleLockscreenInfo(info: info) - } else { - // TODO - // Fallback on earlier versions - } + presenter.handleLockscreenInfo(info: info) } } } diff --git a/Source/SAPlayerPresenter.swift b/Source/SAPlayerPresenter.swift index 4497a28..869a8bd 100644 --- a/Source/SAPlayerPresenter.swift +++ b/Source/SAPlayerPresenter.swift @@ -87,12 +87,7 @@ class SAPlayerPresenter { self.duration = duration if let info = self.mediaInfo { - if #available(iOS 10.0, *) { - self.delegate?.setLockScreenInfo(withMediaInfo: info, duration: duration) - } else { - // TODO - // Fallback on earlier versions - } + self.delegate?.setLockScreenInfo(withMediaInfo: info, duration: duration) } }) diff --git a/Source/Util/Log.swift b/Source/Util/Log.swift index cf704f1..b5b76df 100644 --- a/Source/Util/Log.swift +++ b/Source/Util/Log.swift @@ -44,13 +44,8 @@ class Log { public static func test(_ logMessage: Any, classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.TEST.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "TEST ❇️❇️❇️❇️") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) TEST ❇️❇️❇️❇️ in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } - + let log = OSLog(subsystem: SUBSYSTEM, category: "TEST ❇️❇️❇️❇️") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } @@ -70,12 +65,8 @@ class Log { public static func error(_ logMessage: Any, classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.ERROR.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "ERROR 🛑🛑🛑🛑") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) ERROR 🛑🛑🛑🛑 in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } + let log = OSLog(subsystem: SUBSYSTEM, category: "ERROR 🛑🛑🛑🛑") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } @@ -95,12 +86,8 @@ class Log { public static func monitor(_ logMessage: Any, classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.ERROR.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "MONITOR 🔥🔥🔥🔥") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) MONITOR 🔥🔥🔥🔥 in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } + let log = OSLog(subsystem: SUBSYSTEM, category: "MONITOR 🔥🔥🔥🔥") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } @@ -120,12 +107,8 @@ class Log { public static func warn(_ logMessage: Any, classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.WARN.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "WARN ⚠️⚠️⚠️⚠️") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) WARN ⚠️⚠️⚠️⚠️ in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } + let log = OSLog(subsystem: SUBSYSTEM, category: "WARN ⚠️⚠️⚠️⚠️") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } @@ -145,12 +128,8 @@ class Log { public static func info(_ logMessage: Any, classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.INFO.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "INFO 🖤🖤🖤🖤") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) INFO 🖤🖤🖤🖤 in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } + let log = OSLog(subsystem: SUBSYSTEM, category: "INFO 🖤🖤🖤🖤") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } @@ -170,12 +149,8 @@ class Log { public static func debug(_ logMessage: Any?..., classPath: String = #file, functionName: String = #function, lineNumber: Int = #line) { let fileName = URLUtil.getNameFromStringPath(classPath) if logLevel.rawValue <= LogLevel.DEBUG.rawValue { - if #available(iOS 10.0, *) { - let log = OSLog(subsystem: SUBSYSTEM, category: "DEBUG 🐝🐝🐝🐝") - os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") - } else { - print("\(Date().timeStamp()) DEBUG 🐝🐝🐝🐝 in \(fileName):\(functionName):\(lineNumber):: \(logMessage)") - } + let log = OSLog(subsystem: SUBSYSTEM, category: "DEBUG 🐝🐝🐝🐝") + os_log("%@:%@:%d:: %@", log: log, fileName, functionName, lineNumber, "\(logMessage)") } } diff --git a/SwiftAudioPlayer.podspec b/SwiftAudioPlayer.podspec index e0818e3..ca6dc14 100644 --- a/SwiftAudioPlayer.podspec +++ b/SwiftAudioPlayer.podspec @@ -28,9 +28,9 @@ SwiftAudioPlayer is a Swift based audio player that can handle streaming from a s.source = { :git => 'https://github.com/tanhakabir/SwiftAudioPlayer.git', :tag => s.version.to_s } # s.social_media_url = 'https://twitter.com/' - s.ios.deployment_target = '8.0' + s.ios.deployment_target = '10.0' - s.source_files = 'SwiftAudioPlayer/Classes/**/*' + s.source_files = 'Source/**/*' s.swift_version = '4.0' # s.resource_bundles = {