From f5313eaa03a042fc27fc9f7a25d3b8290df48d8c Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Mon, 11 Jan 2021 22:20:18 +0530 Subject: [PATCH 01/12] Change to the xcode 12.2 and swift 4.0 --- Example/Example.xcodeproj/project.pbxproj | 5 +++-- Example/Example/AppDelegate.swift | 2 +- Example/Example/ViewController.swift | 8 ++++---- Jukebox.xcodeproj/project.pbxproj | 9 +++++---- Source/Jukebox.swift | 14 +++++++------- Source/JukeboxItem.swift | 16 ++++++++-------- 6 files changed, 28 insertions(+), 26 deletions(-) diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 387e0d0..8bd639e 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -160,6 +160,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -348,7 +349,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.jukebox.example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -361,7 +362,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.jukebox.example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.2; }; name = Release; }; diff --git a/Example/Example/AppDelegate.swift b/Example/Example/AppDelegate.swift index aefd10c..e86e18a 100644 --- a/Example/Example/AppDelegate.swift +++ b/Example/Example/AppDelegate.swift @@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. application.isStatusBarHidden = true return true diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index b485355..fc4d758 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -58,7 +58,7 @@ class ViewController: UIViewController, JukeboxDelegate { let color = UIColor(red:0.84, green:0.09, blue:0.1, alpha:1) indicator.color = color - slider.setThumbImage(UIImage(named: "sliderThumb"), for: UIControlState()) + slider.setThumbImage(UIImage(named: "sliderThumb"), for: UIControl.State()) slider.minimumTrackTintColor = color slider.maximumTrackTintColor = UIColor.black @@ -99,9 +99,9 @@ class ViewController: UIViewController, JukeboxDelegate { }) if jukebox.state == .ready { - playPauseButton.setImage(UIImage(named: "playBtn"), for: UIControlState()) + playPauseButton.setImage(UIImage(named: "playBtn"), for: UIControl.State()) } else if jukebox.state == .loading { - playPauseButton.setImage(UIImage(named: "pauseBtn"), for: UIControlState()) + playPauseButton.setImage(UIImage(named: "pauseBtn"), for: UIControl.State()) } else { volumeSlider.value = jukebox.volume let imageName: String @@ -111,7 +111,7 @@ class ViewController: UIViewController, JukeboxDelegate { case .paused, .failed, .ready: imageName = "playBtn" } - playPauseButton.setImage(UIImage(named: imageName), for: UIControlState()) + playPauseButton.setImage(UIImage(named: imageName), for: UIControl.State()) } print("Jukebox state changed to \(jukebox.state)") diff --git a/Jukebox.xcodeproj/project.pbxproj b/Jukebox.xcodeproj/project.pbxproj index aa0ec86..8ff2b2f 100644 --- a/Jukebox.xcodeproj/project.pbxproj +++ b/Jukebox.xcodeproj/project.pbxproj @@ -189,6 +189,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = 137DF0591D2041F500C15E86; @@ -362,7 +363,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -381,7 +382,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.Jukebox; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -392,7 +393,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.JukeboxTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -403,7 +404,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.JukeboxTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/Source/Jukebox.swift b/Source/Jukebox.swift index b7d0200..c7e9218 100644 --- a/Source/Jukebox.swift +++ b/Source/Jukebox.swift @@ -420,7 +420,7 @@ open class Jukebox: NSObject, JukeboxItemDelegate { guard let player = player , player.currentItem?.duration.isValid == true else {return} progressObserver = player.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(0.05, Int32(NSEC_PER_SEC)), queue: nil, using: { [unowned self] (time : CMTime) -> Void in self.timerAction() - }) as AnyObject! + }) as AnyObject? } fileprivate func stopProgressTimer() { @@ -453,30 +453,30 @@ open class Jukebox: NSObject, JukeboxItemDelegate { // MARK:- Notifications - - func handleAudioSessionInterruption(_ notification : Notification) { + @objc func handleAudioSessionInterruption(_ notification : Notification) { guard let userInfo = notification.userInfo as? [String: AnyObject] else { return } guard let rawInterruptionType = userInfo[AVAudioSessionInterruptionTypeKey] as? NSNumber else { return } - guard let interruptionType = AVAudioSessionInterruptionType(rawValue: rawInterruptionType.uintValue) else { return } + guard let interruptionType = AVAudioSession.InterruptionType(rawValue: rawInterruptionType.uintValue) else { return } switch interruptionType { case .began: //interruption started self.pause() case .ended: //interruption ended if let rawInterruptionOption = userInfo[AVAudioSessionInterruptionOptionKey] as? NSNumber { - let interruptionOption = AVAudioSessionInterruptionOptions(rawValue: rawInterruptionOption.uintValue) - if interruptionOption == AVAudioSessionInterruptionOptions.shouldResume { + let interruptionOption = AVAudioSession.InterruptionOptions(rawValue: rawInterruptionOption.uintValue) + if interruptionOption == AVAudioSession.InterruptionOptions.shouldResume { self.resumePlayback() } } } } - func handleStall() { + @objc func handleStall() { player?.pause() player?.play() } - func playerItemDidPlayToEnd(_ notification : Notification){ + @objc func playerItemDidPlayToEnd(_ notification : Notification){ if playIndex >= queuedItems.count - 1 { stop() } else { diff --git a/Source/JukeboxItem.swift b/Source/JukeboxItem.swift index 0157bfa..6ff0bfa 100644 --- a/Source/JukeboxItem.swift +++ b/Source/JukeboxItem.swift @@ -161,7 +161,7 @@ open class JukeboxItem: NSObject { timer = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(JukeboxItem.notifyDelegate), userInfo: nil, repeats: false) } - func notifyDelegate() { + @objc func notifyDelegate() { timer?.invalidate() timer = nil self.delegate?.jukeboxItemDidUpdate(self) @@ -185,7 +185,7 @@ open class JukeboxItem: NSObject { for item in metadataArray { - item.loadValuesAsynchronously(forKeys: [AVMetadataKeySpaceCommon], completionHandler: { () -> Void in + item.loadValuesAsynchronously(forKeys: [AVMetadataKeySpace.common.rawValue], completionHandler: { () -> Void in self.meta.process(metaItem: item) DispatchQueue.main.async { self.scheduleNotification() @@ -198,16 +198,16 @@ open class JukeboxItem: NSObject { private extension JukeboxItem.Meta { mutating func process(metaItem item: AVMetadataItem) { - - switch item.commonKey + guard let commonKey = item.commonKey else { return } + switch commonKey { - case "title"? : + case .commonKeyTitle : title = item.value as? String - case "albumName"? : + case .commonKeyAlbumName : album = item.value as? String - case "artist"? : + case .commonKeyArtist : artist = item.value as? String - case "artwork"? : + case .commonKeyArtwork : processArtwork(fromMetadataItem : item) default : break From 02338639235685b1c0af2590f53f0c30e58ec670 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 11:56:38 +0530 Subject: [PATCH 02/12] Convert to latest swift version 5.0 --- Example/Example.xcodeproj/project.pbxproj | 35 ++++++++++++---- .../xcshareddata/xcschemes/Example.xcscheme | 10 ++--- Jukebox.xcodeproj/project.pbxproj | 40 ++++++++++++++----- .../xcshareddata/xcschemes/Jukebox.xcscheme | 24 +++++------ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++ Source/Jukebox.swift | 20 ++++++---- Source/JukeboxItem.swift | 2 +- 7 files changed, 90 insertions(+), 49 deletions(-) create mode 100644 Jukebox.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 8bd639e..129d49d 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -145,22 +145,21 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 1210; ORGANIZATIONNAME = teodorpatras; TargetAttributes = { 137DF0851D2043F400C15E86 = { CreatedOnToolsVersion = 7.3.1; DevelopmentTeam = 752CFWL5Y4; - LastSwiftMigration = 0800; + LastSwiftMigration = 1210; }; }; }; buildConfigurationList = 137DF0811D2043F400C15E86 /* Build configuration list for PBXProject "Example" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -254,19 +253,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -289,7 +298,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 = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -302,19 +311,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -331,7 +350,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 = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -349,7 +368,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.jukebox.example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -362,7 +381,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.teodorpatras.jukebox.example; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index dd14de0..9f84b87 100644 --- a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Source/Jukebox.swift b/Source/Jukebox.swift index c7e9218..b9c14fb 100644 --- a/Source/Jukebox.swift +++ b/Source/Jukebox.swift @@ -90,7 +90,7 @@ extension Jukebox { invalidatePlayback() state = .ready UIApplication.shared.endBackgroundTask(backgroundIdentifier) - backgroundIdentifier = UIBackgroundTaskInvalid + backgroundIdentifier = UIBackgroundTaskIdentifier.invalid } /** @@ -136,7 +136,7 @@ extension Jukebox { public func seek(toSecond second: Int, shouldPlay: Bool = false) { guard let player = player, let item = currentItem else {return} - player.seek(to: CMTimeMake(Int64(second), 1)) + player.seek(to: CMTimeMake(value: Int64(second), timescale: 1)) item.update() if shouldPlay { player.play() @@ -221,7 +221,7 @@ open class Jukebox: NSObject, JukeboxItemDelegate { fileprivate var player : AVPlayer? fileprivate var progressObserver : AnyObject! - fileprivate var backgroundIdentifier = UIBackgroundTaskInvalid + fileprivate var backgroundIdentifier = UIBackgroundTaskIdentifier.invalid fileprivate(set) open weak var delegate : JukeboxDelegate? fileprivate (set) open var playIndex = 0 @@ -418,7 +418,7 @@ open class Jukebox: NSObject, JukeboxItemDelegate { fileprivate func startProgressTimer(){ guard let player = player , player.currentItem?.duration.isValid == true else {return} - progressObserver = player.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(0.05, Int32(NSEC_PER_SEC)), queue: nil, using: { [unowned self] (time : CMTime) -> Void in + progressObserver = player.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(0.05, preferredTimescale: Int32(NSEC_PER_SEC)), queue: nil, using: { [unowned self] (time : CMTime) -> Void in self.timerAction() }) as AnyObject? } @@ -436,19 +436,23 @@ open class Jukebox: NSObject, JukeboxItemDelegate { fileprivate func configureBackgroundAudioTask() { backgroundIdentifier = UIApplication.shared.beginBackgroundTask (expirationHandler: { () -> Void in UIApplication.shared.endBackgroundTask(self.backgroundIdentifier) - self.backgroundIdentifier = UIBackgroundTaskInvalid + self.backgroundIdentifier = UIBackgroundTaskIdentifier.invalid }) } fileprivate func configureAudioSession() throws { - try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) - try AVAudioSession.sharedInstance().setMode(AVAudioSessionModeDefault) + try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback) + try AVAudioSession.sharedInstance().setMode(AVAudioSession.Mode.default) try AVAudioSession.sharedInstance().setActive(true) } fileprivate func configureObservers() { NotificationCenter.default.addObserver(self, selector: #selector(Jukebox.handleStall), name: NSNotification.Name.AVPlayerItemPlaybackStalled, object: nil) - NotificationCenter.default.addObserver(self, selector: #selector(handleAudioSessionInterruption), name: NSNotification.Name.AVAudioSessionInterruption, object: AVAudioSession.sharedInstance()) + NotificationCenter.default.addObserver(self, selector: #selector(handleAudioSessionInterruption(_:)), name: NSNotification.Name.AVCaptureSessionWasInterrupted, object: AVAudioSession.sharedInstance()) + + +// +// NotificationCenter.default.addObserver(self, selector: #selector(handleAudioSessionInterruption), name: NSNotification.Name.AVAudioSession.interruptionNotification, object: AVAudioSession.sharedInstance()) } // MARK:- Notifications - diff --git a/Source/JukeboxItem.swift b/Source/JukeboxItem.swift index 6ff0bfa..3372e59 100644 --- a/Source/JukeboxItem.swift +++ b/Source/JukeboxItem.swift @@ -47,7 +47,7 @@ open class JukeboxItem: NSObject { var delegate: JukeboxItemDelegate? fileprivate var didLoad = false open var localTitle: String? - open let URL: Foundation.URL + public let URL: Foundation.URL fileprivate(set) open var playerItem: AVPlayerItem? fileprivate (set) open var currentTime: Double? From 22cf0282c8636fb5211c9750bd8fd86af8587961 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 12:19:29 +0530 Subject: [PATCH 03/12] Change some param in CI --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bee5477..b35bd84 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ # * https://github.com/supermarin/xcpretty#usage language: objective-c -osx_image: xcode8 +osx_image: xcode12 env: global: - WORKSPACE=Jukebox.xcworkspace @@ -18,5 +18,5 @@ before_deploy: - carthage archive $FRAMEWORK_NAME script: - set -o pipefail -- xcodebuild -scheme $SCHEME -workspace $WORKSPACE -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.0' build test +- xcodebuild -scheme $SCHEME -workspace $WORKSPACE -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=12.4' build test - pod lib lint --quick From 3948b272b778ef4ecbd828b0c2c6ab5ce9423e21 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 12:26:48 +0530 Subject: [PATCH 04/12] change new version --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b35bd84..4d3c0b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,5 +18,5 @@ before_deploy: - carthage archive $FRAMEWORK_NAME script: - set -o pipefail -- xcodebuild -scheme $SCHEME -workspace $WORKSPACE -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=12.4' build test +- xcodebuild -scheme $SCHEME -workspace $WORKSPACE -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' build test - pod lib lint --quick From a69e4bd24467bd5eb766bffb0b80db86f55f7df4 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 12:33:13 +0530 Subject: [PATCH 05/12] change xcode version --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4d3c0b3..cc5fa7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ # * https://github.com/supermarin/xcpretty#usage language: objective-c -osx_image: xcode12 +osx_image: xcode12.2 env: global: - WORKSPACE=Jukebox.xcworkspace From 8cc0dafcb2ea39b184df45d111e8a674cca055c8 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 17:52:36 +0530 Subject: [PATCH 06/12] check for travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cc5fa7a..4538148 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: - SCHEME=Jukebox - SDK=iphonesimulator10 install: -- gem install xcpretty --no-rdoc --no-ri --no-document --quiet +- gem install xcpretty-travis-formatter --no-rdoc --no-ri --no-document --quiet before_deploy: - carthage build --no-skip-current - carthage archive $FRAMEWORK_NAME From 1237766fac1ed4ea9d00f3ba80cc51fec13ec433 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 17:56:04 +0530 Subject: [PATCH 07/12] rebase commit --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4538148..cc5fa7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: - SCHEME=Jukebox - SDK=iphonesimulator10 install: -- gem install xcpretty-travis-formatter --no-rdoc --no-ri --no-document --quiet +- gem install xcpretty --no-rdoc --no-ri --no-document --quiet before_deploy: - carthage build --no-skip-current - carthage archive $FRAMEWORK_NAME From 6fcb5eb31e2308e8d46bea96636c1ce43d06557a Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 18:16:20 +0530 Subject: [PATCH 08/12] change swift version --- .swift-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.swift-version b/.swift-version index f398a20..6e63660 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -3.0 \ No newline at end of file +5.0 \ No newline at end of file From db6d61d4c2952f3093ef556b4ce5210752971a21 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 18:19:42 +0530 Subject: [PATCH 09/12] change travis ci --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cc5fa7a..9e7778e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: - SCHEME=Jukebox - SDK=iphonesimulator10 install: -- gem install xcpretty --no-rdoc --no-ri --no-document --quiet +- gem install xcpretty --no-rdoc --no-ri --quiet before_deploy: - carthage build --no-skip-current - carthage archive $FRAMEWORK_NAME From 98d7f11528dcd8fe95c53defb961aaad4e3845e0 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 18:20:56 +0530 Subject: [PATCH 10/12] temp --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9e7778e..76abe9b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: - SCHEME=Jukebox - SDK=iphonesimulator10 install: -- gem install xcpretty --no-rdoc --no-ri --quiet +- gem install xcpretty --no-ri --no-document --quiet before_deploy: - carthage build --no-skip-current - carthage archive $FRAMEWORK_NAME From c6746203cd99bee594c8a639de4f4a8a9b9201b8 Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 18:24:38 +0530 Subject: [PATCH 11/12] temp --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 76abe9b..180cba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: - SCHEME=Jukebox - SDK=iphonesimulator10 install: -- gem install xcpretty --no-ri --no-document --quiet +- gem install xcpretty before_deploy: - carthage build --no-skip-current - carthage archive $FRAMEWORK_NAME From dc417fe3143e98698b0aadfa5880d7fe2bd09f7f Mon Sep 17 00:00:00 2001 From: Anshul Mahipal <> Date: Tue, 12 Jan 2021 21:35:12 +0530 Subject: [PATCH 12/12] Add a comment to check if it working fine --- Source/Jukebox.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Jukebox.swift b/Source/Jukebox.swift index b9c14fb..7bdb2de 100644 --- a/Source/Jukebox.swift +++ b/Source/Jukebox.swift @@ -450,7 +450,7 @@ open class Jukebox: NSObject, JukeboxItemDelegate { NotificationCenter.default.addObserver(self, selector: #selector(Jukebox.handleStall), name: NSNotification.Name.AVPlayerItemPlaybackStalled, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(handleAudioSessionInterruption(_:)), name: NSNotification.Name.AVCaptureSessionWasInterrupted, object: AVAudioSession.sharedInstance()) - + ///This is need to be check I am not sure whether it will work fine or not // // NotificationCenter.default.addObserver(self, selector: #selector(handleAudioSessionInterruption), name: NSNotification.Name.AVAudioSession.interruptionNotification, object: AVAudioSession.sharedInstance()) }