diff --git a/Makefile b/Makefile index 05d949d..c4acb2e 100644 --- a/Makefile +++ b/Makefile @@ -8,3 +8,6 @@ Mac: tvOS: set -o pipefail && xcodebuild test -project Vinyl.xcodeproj -scheme Vinyl-tvOS -destination "platform=tvOS Simulator,name=Apple TV 4K" | xcpretty + +watchOS: + set -o pipefail && xcodebuild test -project Vinyl.xcodeproj -scheme Vinyl-watchOS -destination "platform=watchOS Simulator,name=Apple Watch Series 5 - 44mm" | xcpretty diff --git a/Vinyl.podspec b/Vinyl.podspec index 8eda769..8511423 100644 --- a/Vinyl.podspec +++ b/Vinyl.podspec @@ -9,6 +9,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.11' s.tvos.deployment_target = '9.1' + s.watchos.deployment_target = '6.0' s.source = { :git => "https://github.com/Velhotes/Vinyl.git", :tag => s.version } s.source_files = "Vinyl/**/*.swift" end diff --git a/Vinyl.xcodeproj/project.pbxproj b/Vinyl.xcodeproj/project.pbxproj index 8cbfd6d..a18fdf8 100644 --- a/Vinyl.xcodeproj/project.pbxproj +++ b/Vinyl.xcodeproj/project.pbxproj @@ -103,6 +103,27 @@ C70886361C74D470002DBB2C /* dvr_multiple.json in Resources */ = {isa = PBXBuildFile; fileRef = C70886341C74D470002DBB2C /* dvr_multiple.json */; }; C70886371C74D470002DBB2C /* dvr_single.json in Resources */ = {isa = PBXBuildFile; fileRef = C70886351C74D470002DBB2C /* dvr_single.json */; }; C75D79111C6DFE30004B92A9 /* Vinyl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C75D79061C6DFE30004B92A9 /* Vinyl.framework */; }; + D3A5D25624180C6D00D36DD0 /* ErrorHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7995DC11C75F38F00E1D905 /* ErrorHandler.swift */; }; + D3A5D25724180C6D00D36DD0 /* FuncComposition.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70886141C735136002DBB2C /* FuncComposition.swift */; }; + D3A5D25824180C6D00D36DD0 /* URLSessionUploadTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = E530E6101C864B3300D9B590 /* URLSessionUploadTask.swift */; }; + D3A5D25924180C6D00D36DD0 /* URLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70886161C737684002DBB2C /* URLRequest.swift */; }; + D3A5D25A24180C6D00D36DD0 /* SequenceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C708861A1C737C1B002DBB2C /* SequenceType.swift */; }; + D3A5D25B24180C6D00D36DD0 /* Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7995DCD1C7724F700E1D905 /* Bundle.swift */; }; + D3A5D25C24180C6D00D36DD0 /* EncodingDecoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C72AD2F11C6E48B500E11612 /* EncodingDecoding.swift */; }; + D3A5D25D24180C6D00D36DD0 /* JSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C72AD2EB1C6E275000E11612 /* JSONHelper.swift */; }; + D3A5D25E24180C6D00D36DD0 /* Wax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD295E21D57545A00B6D705 /* Wax.swift */; }; + D3A5D25F24180C6D00D36DD0 /* Turntable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C75D79221C6E0E9D004B92A9 /* Turntable.swift */; }; + D3A5D26024180C6D00D36DD0 /* TurntableConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D22F3011C75351B00A81608 /* TurntableConfiguration.swift */; }; + D3A5D26124180C6D00D36DD0 /* URLSessionDataTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = C708861C1C738A19002DBB2C /* URLSessionDataTask.swift */; }; + D3A5D26224180C6D00D36DD0 /* Player.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DC5704C1C72A1AB00BA1458 /* Player.swift */; }; + D3A5D26324180C6D00D36DD0 /* TrackMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DC5704E1C72A1FD00BA1458 /* TrackMatcher.swift */; }; + D3A5D26424180C6D00D36DD0 /* URLSessionTaskType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DE666A51CAB49DA00ED063D /* URLSessionTaskType.swift */; }; + D3A5D26524180C6D00D36DD0 /* Recorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD295DB1D57541A00B6D705 /* Recorder.swift */; }; + D3A5D26624180C6D00D36DD0 /* Vinyl.swift in Sources */ = {isa = PBXBuildFile; fileRef = C75D79201C6E0B32004B92A9 /* Vinyl.swift */; }; + D3A5D26724180C6D00D36DD0 /* Track.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D93580B1C7117A80020103D /* Track.swift */; }; + D3A5D26824180C6D00D36DD0 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D22F3031C754F5C00A81608 /* Response.swift */; }; + D3A5D26924180C6D00D36DD0 /* RequestMatcherRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D48F0D21C7159F10044DC32 /* RequestMatcherRegistry.swift */; }; + D3A5D26C24180C6D00D36DD0 /* Vinyl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DBD4D0A1C79CEE6008C5487 /* Vinyl.h */; settings = {ATTRIBUTES = (Public, ); }; }; E530E6111C864B3300D9B590 /* URLSessionUploadTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = E530E6101C864B3300D9B590 /* URLSessionUploadTask.swift */; }; E530E6121C864B3300D9B590 /* URLSessionUploadTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = E530E6101C864B3300D9B590 /* URLSessionUploadTask.swift */; }; E530E6131C864B3300D9B590 /* URLSessionUploadTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = E530E6101C864B3300D9B590 /* URLSessionUploadTask.swift */; }; @@ -209,6 +230,7 @@ C7995DC11C75F38F00E1D905 /* ErrorHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ErrorHandler.swift; sourceTree = ""; }; C7995DC61C75F75400E1D905 /* MockedTrackedNotFoundErrorHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockedTrackedNotFoundErrorHandler.swift; sourceTree = ""; }; C7995DCD1C7724F700E1D905 /* Bundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bundle.swift; sourceTree = ""; }; + D3A5D27124180C6D00D36DD0 /* Vinyl.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Vinyl.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E530E6101C864B3300D9B590 /* URLSessionUploadTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLSessionUploadTask.swift; sourceTree = ""; }; E530E6171C864E1800D9B590 /* vinyl_upload.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = vinyl_upload.json; sourceTree = ""; }; /* End PBXFileReference section */ @@ -262,6 +284,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D3A5D26A24180C6D00D36DD0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -340,6 +369,7 @@ 7DBD4C881C79CA24008C5487 /* Vinyl-MacTests.xctest */, 7DBD4CA91C79CC4C008C5487 /* Vinyl.framework */, 7DBD4CB21C79CC4D008C5487 /* Vinyl-tvOSTests.xctest */, + D3A5D27124180C6D00D36DD0 /* Vinyl.framework */, ); name = Products; sourceTree = ""; @@ -428,6 +458,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D3A5D26B24180C6D00D36DD0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D3A5D26C24180C6D00D36DD0 /* Vinyl.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -542,6 +580,24 @@ productReference = C75D79101C6DFE30004B92A9 /* Vinyl-iOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + D3A5D25424180C6D00D36DD0 /* Vinyl-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D3A5D26E24180C6D00D36DD0 /* Build configuration list for PBXNativeTarget "Vinyl-watchOS" */; + buildPhases = ( + D3A5D25524180C6D00D36DD0 /* Sources */, + D3A5D26A24180C6D00D36DD0 /* Frameworks */, + D3A5D26B24180C6D00D36DD0 /* Headers */, + D3A5D26D24180C6D00D36DD0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Vinyl-watchOS"; + productName = Vinyl; + productReference = D3A5D27124180C6D00D36DD0 /* Vinyl.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -577,6 +633,9 @@ LastSwiftMigration = 1010; ProvisioningStyle = Manual; }; + D3A5D25424180C6D00D36DD0 = { + ProvisioningStyle = Manual; + }; }; }; buildConfigurationList = C75D79001C6DFE30004B92A9 /* Build configuration list for PBXProject "Vinyl" */; @@ -584,6 +643,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = C75D78FC1C6DFE30004B92A9; @@ -597,6 +657,7 @@ 7DBD4C871C79CA24008C5487 /* Vinyl-MacTests */, 7DBD4CA81C79CC4C008C5487 /* Vinyl-tvOS */, 7DBD4CB11C79CC4D008C5487 /* Vinyl-tvOSTests */, + D3A5D25424180C6D00D36DD0 /* Vinyl-watchOS */, ); }; /* End PBXProject section */ @@ -659,6 +720,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D3A5D26D24180C6D00D36DD0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -779,6 +847,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D3A5D25524180C6D00D36DD0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D3A5D25624180C6D00D36DD0 /* ErrorHandler.swift in Sources */, + D3A5D25724180C6D00D36DD0 /* FuncComposition.swift in Sources */, + D3A5D25824180C6D00D36DD0 /* URLSessionUploadTask.swift in Sources */, + D3A5D25924180C6D00D36DD0 /* URLRequest.swift in Sources */, + D3A5D25A24180C6D00D36DD0 /* SequenceType.swift in Sources */, + D3A5D25B24180C6D00D36DD0 /* Bundle.swift in Sources */, + D3A5D25C24180C6D00D36DD0 /* EncodingDecoding.swift in Sources */, + D3A5D25D24180C6D00D36DD0 /* JSONHelper.swift in Sources */, + D3A5D25E24180C6D00D36DD0 /* Wax.swift in Sources */, + D3A5D25F24180C6D00D36DD0 /* Turntable.swift in Sources */, + D3A5D26024180C6D00D36DD0 /* TurntableConfiguration.swift in Sources */, + D3A5D26124180C6D00D36DD0 /* URLSessionDataTask.swift in Sources */, + D3A5D26224180C6D00D36DD0 /* Player.swift in Sources */, + D3A5D26324180C6D00D36DD0 /* TrackMatcher.swift in Sources */, + D3A5D26424180C6D00D36DD0 /* URLSessionTaskType.swift in Sources */, + D3A5D26524180C6D00D36DD0 /* Recorder.swift in Sources */, + D3A5D26624180C6D00D36DD0 /* Vinyl.swift in Sources */, + D3A5D26724180C6D00D36DD0 /* Track.swift in Sources */, + D3A5D26824180C6D00D36DD0 /* Response.swift in Sources */, + D3A5D26924180C6D00D36DD0 /* RequestMatcherRegistry.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -803,6 +898,7 @@ 7DBD4C911C79CA24008C5487 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; @@ -826,6 +922,7 @@ 7DBD4C921C79CA24008C5487 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; @@ -889,6 +986,7 @@ 7DBD4CBB1C79CC4D008C5487 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -911,6 +1009,7 @@ 7DBD4CBC1C79CC4D008C5487 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -1081,6 +1180,7 @@ C75D791B1C6DFE30004B92A9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; @@ -1101,6 +1201,7 @@ C75D791C1C6DFE30004B92A9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; @@ -1149,6 +1250,53 @@ }; name = Release; }; + D3A5D26F24180C6D00D36DD0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Vinyl/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = velhotes.Vinyl; + PRODUCT_NAME = Vinyl; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,4"; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Debug; + }; + D3A5D27024180C6D00D36DD0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Vinyl/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = velhotes.Vinyl; + PRODUCT_NAME = Vinyl; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,4"; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1215,6 +1363,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D3A5D26E24180C6D00D36DD0 /* Build configuration list for PBXNativeTarget "Vinyl-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D3A5D26F24180C6D00D36DD0 /* Debug */, + D3A5D27024180C6D00D36DD0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = C75D78FD1C6DFE30004B92A9 /* Project object */; diff --git a/Vinyl.xcodeproj/xcshareddata/xcschemes/Vinyl-watchOS.xcscheme b/Vinyl.xcodeproj/xcshareddata/xcschemes/Vinyl-watchOS.xcscheme new file mode 100644 index 0000000..d61025e --- /dev/null +++ b/Vinyl.xcodeproj/xcshareddata/xcschemes/Vinyl-watchOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +