diff --git a/.gitignore b/.gitignore index 904867d..7c3b510 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ # # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore +.DS_Store + ## Build generated build/ DerivedData/ diff --git a/README.md b/README.md index 6f19dd8..9582b37 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,25 @@ Sica

-[![Platform](http://img.shields.io/badge/platform-ios-blue.svg?style=flat)](https://developer.apple.com/iphone/index.action) -[![Language](http://img.shields.io/badge/language-swift-brightgreen.svg?style=flat)](https://developer.apple.com/swift) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager) -[![Version](https://img.shields.io/cocoapods/v/Sica.svg?style=flat)](https://cocoapods.org/pods/Sica) -[![License](https://img.shields.io/cocoapods/l/Sica.svg?style=flat)](https://cocoapods.org/pods/Sica) +

+ Platform + + Language + + + Carthage + +
+ + Swift Package Manager + + + Version + + + License + +

Sica can execute various animations sequentially or parallely. @@ -22,6 +35,8 @@ Sica can execute various animations sequentially or parallely. ## Requirements - Xcode 9.3 - iOS 9 or greater +- tvOS 10.0 or greater +- macOS 10.11 or greater ## Installation diff --git a/Sica.podspec b/Sica.podspec index ac29e2c..07b5d77 100644 --- a/Sica.podspec +++ b/Sica.podspec @@ -8,12 +8,14 @@ Pod::Spec.new do |s| s.name = "Sica" - s.version = "0.1.0" + s.version = "0.2.0" s.summary = "Sica can execute various animations sequentially or parallely" s.homepage = "https://github.com/cats-oss/Sica" s.license = { :type => "MIT", :file => "LICENSE" } s.author = { "funzin" => "nakazawa_fumito@abema.tv" } - s.platform = :ios, "9.0" + s.ios.deployment_target = "9.0" + s.tvos.deployment_target = "10.0" + s.osx.deployment_target = "10.11" s.source = { :git => "https://github.com/cats-oss/Sica.git", :tag => "#{s.version}" } s.source_files = "Sica/**/*.{swift}" s.swift_version = '4.1' diff --git a/Sica.xcodeproj/project.pbxproj b/Sica.xcodeproj/project.pbxproj index 5bb1b13..b0013b9 100644 --- a/Sica.xcodeproj/project.pbxproj +++ b/Sica.xcodeproj/project.pbxproj @@ -7,6 +7,22 @@ objects = { /* Begin PBXBuildFile section */ + 9D436C3220E9E4DD00A1B938 /* TimingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C620AC2BDD003232F6 /* TimingFunction.swift */; }; + 9D436C3320E9E4DD00A1B938 /* Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C220AC2BDD003232F6 /* Transition.swift */; }; + 9D436C3420E9E4DD00A1B938 /* CAAnimation+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C120AC2BDD003232F6 /* CAAnimation+Extension.swift */; }; + 9D436C3520E9E4DD00A1B938 /* Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C420AC2BDD003232F6 /* Animator.swift */; }; + 9D436C3620E9E4DD00A1B938 /* AnimationKeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C520AC2BDD003232F6 /* AnimationKeyPaths.swift */; }; + 9D436C3920E9E4DD00A1B938 /* Sica.h in Headers */ = {isa = PBXBuildFile; fileRef = D4A60FE620ABC9890079871A /* Sica.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9D436C4420E9E71900A1B938 /* TimingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C620AC2BDD003232F6 /* TimingFunction.swift */; }; + 9D436C4520E9E71900A1B938 /* Transition.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C220AC2BDD003232F6 /* Transition.swift */; }; + 9D436C4620E9E71900A1B938 /* CAAnimation+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C120AC2BDD003232F6 /* CAAnimation+Extension.swift */; }; + 9D436C4720E9E71900A1B938 /* Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C420AC2BDD003232F6 /* Animator.swift */; }; + 9D436C4820E9E71900A1B938 /* AnimationKeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4CB78C520AC2BDD003232F6 /* AnimationKeyPaths.swift */; }; + 9D436C4B20E9E71900A1B938 /* Sica.h in Headers */ = {isa = PBXBuildFile; fileRef = D4A60FE620ABC9890079871A /* Sica.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9D436C5820E9E8F200A1B938 /* SicaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A60FF120ABC9890079871A /* SicaTests.swift */; }; + 9D436C5A20E9E8F200A1B938 /* Sica.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4A60FE320ABC9890079871A /* Sica.framework */; }; + 9D436C6620E9EA1E00A1B938 /* SicaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A60FF120ABC9890079871A /* SicaTests.swift */; }; + 9D436C6820E9EA1E00A1B938 /* Sica.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4A60FE320ABC9890079871A /* Sica.framework */; }; D4A60FED20ABC9890079871A /* Sica.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4A60FE320ABC9890079871A /* Sica.framework */; }; D4A60FF220ABC9890079871A /* SicaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A60FF120ABC9890079871A /* SicaTests.swift */; }; D4A60FF420ABC9890079871A /* Sica.h in Headers */ = {isa = PBXBuildFile; fileRef = D4A60FE620ABC9890079871A /* Sica.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -18,6 +34,20 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 9D436C5620E9E8F200A1B938 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D4A60FDA20ABC9890079871A /* Project object */; + proxyType = 1; + remoteGlobalIDString = D4A60FE220ABC9890079871A; + remoteInfo = AbemaAnimator; + }; + 9D436C6420E9EA1E00A1B938 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D4A60FDA20ABC9890079871A /* Project object */; + proxyType = 1; + remoteGlobalIDString = D4A60FE220ABC9890079871A; + remoteInfo = AbemaAnimator; + }; D4A60FEE20ABC9890079871A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D4A60FDA20ABC9890079871A /* Project object */; @@ -28,12 +58,20 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 9D436C3F20E9E4DD00A1B938 /* Sica.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sica.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D436C4120E9E62700A1B938 /* Info-macOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; + 9D436C5120E9E71900A1B938 /* Sica.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sica.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D436C5320E9E73D00A1B938 /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; + 9D436C5F20E9E8F200A1B938 /* SicaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SicaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D436C6120E9E93800A1B938 /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; + 9D436C6D20E9EA1E00A1B938 /* SicaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SicaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D436C6F20E9EA5000A1B938 /* Info-macOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; D4A60FE320ABC9890079871A /* Sica.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sica.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D4A60FE620ABC9890079871A /* Sica.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sica.h; sourceTree = ""; }; - D4A60FE720ABC9890079871A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D4A60FE720ABC9890079871A /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; D4A60FEC20ABC9890079871A /* SicaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SicaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; D4A60FF120ABC9890079871A /* SicaTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SicaTests.swift; sourceTree = ""; }; - D4A60FF320ABC9890079871A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D4A60FF320ABC9890079871A /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; D4CB78C120AC2BDD003232F6 /* CAAnimation+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CAAnimation+Extension.swift"; sourceTree = ""; }; D4CB78C220AC2BDD003232F6 /* Transition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transition.swift; sourceTree = ""; }; D4CB78C420AC2BDD003232F6 /* Animator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Animator.swift; sourceTree = ""; }; @@ -42,6 +80,36 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 9D436C3720E9E4DD00A1B938 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C4920E9E71900A1B938 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C5920E9E8F200A1B938 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C5A20E9E8F200A1B938 /* Sica.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C6720E9EA1E00A1B938 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C6820E9EA1E00A1B938 /* Sica.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D4A60FDF20ABC9890079871A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -60,6 +128,16 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 9D436C2F20E9E45500A1B938 /* Resource */ = { + isa = PBXGroup; + children = ( + D4A60FE720ABC9890079871A /* Info-iOS.plist */, + 9D436C5320E9E73D00A1B938 /* Info-tvOS.plist */, + 9D436C4120E9E62700A1B938 /* Info-macOS.plist */, + ); + path = Resource; + sourceTree = ""; + }; D4A60FD920ABC9890079871A = { isa = PBXGroup; children = ( @@ -74,6 +152,10 @@ children = ( D4A60FE320ABC9890079871A /* Sica.framework */, D4A60FEC20ABC9890079871A /* SicaTests.xctest */, + 9D436C3F20E9E4DD00A1B938 /* Sica.framework */, + 9D436C5120E9E71900A1B938 /* Sica.framework */, + 9D436C5F20E9E8F200A1B938 /* SicaTests.xctest */, + 9D436C6D20E9EA1E00A1B938 /* SicaTests.xctest */, ); name = Products; sourceTree = ""; @@ -81,8 +163,8 @@ D4A60FE520ABC9890079871A /* Sica */ = { isa = PBXGroup; children = ( + 9D436C2F20E9E45500A1B938 /* Resource */, D4A60FE620ABC9890079871A /* Sica.h */, - D4A60FE720ABC9890079871A /* Info.plist */, D4CB78C020AC2BDD003232F6 /* Source */, ); path = Sica; @@ -92,7 +174,9 @@ isa = PBXGroup; children = ( D4A60FF120ABC9890079871A /* SicaTests.swift */, - D4A60FF320ABC9890079871A /* Info.plist */, + D4A60FF320ABC9890079871A /* Info-iOS.plist */, + 9D436C6F20E9EA5000A1B938 /* Info-macOS.plist */, + 9D436C6120E9E93800A1B938 /* Info-tvOS.plist */, ); path = SicaTests; sourceTree = ""; @@ -112,6 +196,22 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 9D436C3820E9E4DD00A1B938 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C3920E9E4DD00A1B938 /* Sica.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C4A20E9E71900A1B938 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C4B20E9E71900A1B938 /* Sica.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D4A60FE020ABC9890079871A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -123,9 +223,83 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - D4A60FE220ABC9890079871A /* Sica */ = { + 9D436C3020E9E4DD00A1B938 /* Sica-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9D436C3C20E9E4DD00A1B938 /* Build configuration list for PBXNativeTarget "Sica-macOS" */; + buildPhases = ( + 9D436C3120E9E4DD00A1B938 /* Sources */, + 9D436C3720E9E4DD00A1B938 /* Frameworks */, + 9D436C3820E9E4DD00A1B938 /* Headers */, + 9D436C3A20E9E4DD00A1B938 /* Resources */, + 9D436C3B20E9E4DD00A1B938 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Sica-macOS"; + productName = AbemaAnimator; + productReference = 9D436C3F20E9E4DD00A1B938 /* Sica.framework */; + productType = "com.apple.product-type.framework"; + }; + 9D436C4220E9E71900A1B938 /* Sica-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = D4A60FF720ABC9890079871A /* Build configuration list for PBXNativeTarget "Sica" */; + buildConfigurationList = 9D436C4E20E9E71900A1B938 /* Build configuration list for PBXNativeTarget "Sica-tvOS" */; + buildPhases = ( + 9D436C4320E9E71900A1B938 /* Sources */, + 9D436C4920E9E71900A1B938 /* Frameworks */, + 9D436C4A20E9E71900A1B938 /* Headers */, + 9D436C4C20E9E71900A1B938 /* Resources */, + 9D436C4D20E9E71900A1B938 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Sica-tvOS"; + productName = AbemaAnimator; + productReference = 9D436C5120E9E71900A1B938 /* Sica.framework */; + productType = "com.apple.product-type.framework"; + }; + 9D436C5420E9E8F200A1B938 /* SicaTests-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9D436C5C20E9E8F200A1B938 /* Build configuration list for PBXNativeTarget "SicaTests-tvOS" */; + buildPhases = ( + 9D436C5720E9E8F200A1B938 /* Sources */, + 9D436C5920E9E8F200A1B938 /* Frameworks */, + 9D436C5B20E9E8F200A1B938 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 9D436C5520E9E8F200A1B938 /* PBXTargetDependency */, + ); + name = "SicaTests-tvOS"; + productName = AbemaAnimatorTests; + productReference = 9D436C5F20E9E8F200A1B938 /* SicaTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 9D436C6220E9EA1E00A1B938 /* SicaTests-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9D436C6A20E9EA1E00A1B938 /* Build configuration list for PBXNativeTarget "SicaTests-macOS" */; + buildPhases = ( + 9D436C6520E9EA1E00A1B938 /* Sources */, + 9D436C6720E9EA1E00A1B938 /* Frameworks */, + 9D436C6920E9EA1E00A1B938 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 9D436C6320E9EA1E00A1B938 /* PBXTargetDependency */, + ); + name = "SicaTests-macOS"; + productName = AbemaAnimatorTests; + productReference = 9D436C6D20E9EA1E00A1B938 /* SicaTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + D4A60FE220ABC9890079871A /* Sica-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D4A60FF720ABC9890079871A /* Build configuration list for PBXNativeTarget "Sica-iOS" */; buildPhases = ( D4A60FDE20ABC9890079871A /* Sources */, D4A60FDF20ABC9890079871A /* Frameworks */, @@ -137,14 +311,14 @@ ); dependencies = ( ); - name = Sica; + name = "Sica-iOS"; productName = AbemaAnimator; productReference = D4A60FE320ABC9890079871A /* Sica.framework */; productType = "com.apple.product-type.framework"; }; - D4A60FEB20ABC9890079871A /* SicaTests */ = { + D4A60FEB20ABC9890079871A /* SicaTests-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = D4A60FFA20ABC9890079871A /* Build configuration list for PBXNativeTarget "SicaTests" */; + buildConfigurationList = D4A60FFA20ABC9890079871A /* Build configuration list for PBXNativeTarget "SicaTests-iOS" */; buildPhases = ( D4A60FE820ABC9890079871A /* Sources */, D4A60FE920ABC9890079871A /* Frameworks */, @@ -155,7 +329,7 @@ dependencies = ( D4A60FEF20ABC9890079871A /* PBXTargetDependency */, ); - name = SicaTests; + name = "SicaTests-iOS"; productName = AbemaAnimatorTests; productReference = D4A60FEC20ABC9890079871A /* SicaTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -191,13 +365,45 @@ projectDirPath = ""; projectRoot = ""; targets = ( - D4A60FE220ABC9890079871A /* Sica */, - D4A60FEB20ABC9890079871A /* SicaTests */, + D4A60FE220ABC9890079871A /* Sica-iOS */, + 9D436C3020E9E4DD00A1B938 /* Sica-macOS */, + 9D436C4220E9E71900A1B938 /* Sica-tvOS */, + D4A60FEB20ABC9890079871A /* SicaTests-iOS */, + 9D436C5420E9E8F200A1B938 /* SicaTests-tvOS */, + 9D436C6220E9EA1E00A1B938 /* SicaTests-macOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 9D436C3A20E9E4DD00A1B938 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C4C20E9E71900A1B938 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C5B20E9E8F200A1B938 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C6920E9EA1E00A1B938 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D4A60FE120ABC9890079871A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -215,6 +421,32 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 9D436C3B20E9E4DD00A1B938 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = ""; + }; + 9D436C4D20E9E71900A1B938 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = ""; + }; D42CFBF020BE4A4700A1A812 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -231,6 +463,46 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 9D436C3120E9E4DD00A1B938 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C3220E9E4DD00A1B938 /* TimingFunction.swift in Sources */, + 9D436C3320E9E4DD00A1B938 /* Transition.swift in Sources */, + 9D436C3420E9E4DD00A1B938 /* CAAnimation+Extension.swift in Sources */, + 9D436C3520E9E4DD00A1B938 /* Animator.swift in Sources */, + 9D436C3620E9E4DD00A1B938 /* AnimationKeyPaths.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C4320E9E71900A1B938 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C4420E9E71900A1B938 /* TimingFunction.swift in Sources */, + 9D436C4520E9E71900A1B938 /* Transition.swift in Sources */, + 9D436C4620E9E71900A1B938 /* CAAnimation+Extension.swift in Sources */, + 9D436C4720E9E71900A1B938 /* Animator.swift in Sources */, + 9D436C4820E9E71900A1B938 /* AnimationKeyPaths.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C5720E9E8F200A1B938 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C5820E9E8F200A1B938 /* SicaTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D436C6520E9EA1E00A1B938 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D436C6620E9EA1E00A1B938 /* SicaTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D4A60FDE20ABC9890079871A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -254,14 +526,228 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 9D436C5520E9E8F200A1B938 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D4A60FE220ABC9890079871A /* Sica-iOS */; + targetProxy = 9D436C5620E9E8F200A1B938 /* PBXContainerItemProxy */; + }; + 9D436C6320E9EA1E00A1B938 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D4A60FE220ABC9890079871A /* Sica-iOS */; + targetProxy = 9D436C6420E9EA1E00A1B938 /* PBXContainerItemProxy */; + }; D4A60FEF20ABC9890079871A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = D4A60FE220ABC9890079871A /* Sica */; + target = D4A60FE220ABC9890079871A /* Sica-iOS */; targetProxy = D4A60FEE20ABC9890079871A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 9D436C3D20E9E4DD00A1B938 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-macOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.11; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 9D436C3E20E9E4DD00A1B938 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-macOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.11; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 9D436C4F20E9E71900A1B938 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-tvOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + }; + name = Debug; + }; + 9D436C5020E9E71900A1B938 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-tvOS.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + }; + name = Release; + }; + 9D436C5D20E9E8F200A1B938 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "SicaTests/Info-tvOS.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Debug; + }; + 9D436C5E20E9E8F200A1B938 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "SicaTests/Info-tvOS.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = appletvos; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Release; + }; + 9D436C6B20E9EA1E00A1B938 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "SicaTests/Info-macOS.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 9D436C6C20E9EA1E00A1B938 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "SicaTests/Info-macOS.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; D4A60FF520ABC9890079871A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -386,13 +872,13 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sica/Info.plist; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-iOS.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -400,8 +886,9 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.funzin.sica; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -412,13 +899,13 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sica/Info.plist; + INFOPLIST_FILE = "$(SRCROOT)/Sica/Resource/Info-iOS.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -426,8 +913,9 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.funzin.sica; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.sica"; + PRODUCT_NAME = Sica; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -439,16 +927,16 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = SicaTests/Info.plist; + INFOPLIST_FILE = "SicaTests/Info-iOS.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.funzin.SicaTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -460,16 +948,16 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = SicaTests/Info.plist; + INFOPLIST_FILE = "SicaTests/Info-iOS.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.funzin.SicaTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.cats-oss.SicaTests"; + PRODUCT_NAME = SicaTests; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -479,6 +967,42 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 9D436C3C20E9E4DD00A1B938 /* Build configuration list for PBXNativeTarget "Sica-macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D436C3D20E9E4DD00A1B938 /* Debug */, + 9D436C3E20E9E4DD00A1B938 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9D436C4E20E9E71900A1B938 /* Build configuration list for PBXNativeTarget "Sica-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D436C4F20E9E71900A1B938 /* Debug */, + 9D436C5020E9E71900A1B938 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9D436C5C20E9E8F200A1B938 /* Build configuration list for PBXNativeTarget "SicaTests-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D436C5D20E9E8F200A1B938 /* Debug */, + 9D436C5E20E9E8F200A1B938 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9D436C6A20E9EA1E00A1B938 /* Build configuration list for PBXNativeTarget "SicaTests-macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D436C6B20E9EA1E00A1B938 /* Debug */, + 9D436C6C20E9EA1E00A1B938 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; D4A60FDD20ABC9890079871A /* Build configuration list for PBXProject "Sica" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -488,7 +1012,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D4A60FF720ABC9890079871A /* Build configuration list for PBXNativeTarget "Sica" */ = { + D4A60FF720ABC9890079871A /* Build configuration list for PBXNativeTarget "Sica-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( D4A60FF820ABC9890079871A /* Debug */, @@ -497,7 +1021,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D4A60FFA20ABC9890079871A /* Build configuration list for PBXNativeTarget "SicaTests" */ = { + D4A60FFA20ABC9890079871A /* Build configuration list for PBXNativeTarget "SicaTests-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( D4A60FFB20ABC9890079871A /* Debug */, diff --git a/Sica.xcodeproj/xcshareddata/xcschemes/Sica.xcscheme b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-iOS.xcscheme similarity index 94% rename from Sica.xcodeproj/xcshareddata/xcschemes/Sica.xcscheme rename to Sica.xcodeproj/xcshareddata/xcschemes/Sica-iOS.xcscheme index f25cefb..3ce538f 100644 --- a/Sica.xcodeproj/xcshareddata/xcschemes/Sica.xcscheme +++ b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-iOS.xcscheme @@ -16,7 +16,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "D4A60FE220ABC9890079871A" BuildableName = "Sica.framework" - BlueprintName = "Sica" + BlueprintName = "Sica-iOS" ReferencedContainer = "container:Sica.xcodeproj"> @@ -34,7 +34,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "D4A60FEB20ABC9890079871A" BuildableName = "SicaTests.xctest" - BlueprintName = "SicaTests" + BlueprintName = "SicaTests-iOS" ReferencedContainer = "container:Sica.xcodeproj"> @@ -44,7 +44,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "D4A60FE220ABC9890079871A" BuildableName = "Sica.framework" - BlueprintName = "Sica" + BlueprintName = "Sica-iOS" ReferencedContainer = "container:Sica.xcodeproj"> @@ -66,7 +66,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "D4A60FE220ABC9890079871A" BuildableName = "Sica.framework" - BlueprintName = "Sica" + BlueprintName = "Sica-iOS" ReferencedContainer = "container:Sica.xcodeproj"> @@ -84,7 +84,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "D4A60FE220ABC9890079871A" BuildableName = "Sica.framework" - BlueprintName = "Sica" + BlueprintName = "Sica-iOS" ReferencedContainer = "container:Sica.xcodeproj"> diff --git a/Sica.xcodeproj/xcshareddata/xcschemes/Sica-macOS.xcscheme b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-macOS.xcscheme new file mode 100644 index 0000000..a892c0f --- /dev/null +++ b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-macOS.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sica.xcodeproj/xcshareddata/xcschemes/Sica-tvOS.xcscheme b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-tvOS.xcscheme new file mode 100644 index 0000000..1caff47 --- /dev/null +++ b/Sica.xcodeproj/xcshareddata/xcschemes/Sica-tvOS.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sica/Info.plist b/Sica/Resource/Info-iOS.plist similarity index 100% rename from Sica/Info.plist rename to Sica/Resource/Info-iOS.plist diff --git a/Sica/Resource/Info-macOS.plist b/Sica/Resource/Info-macOS.plist new file mode 100644 index 0000000..1007fd9 --- /dev/null +++ b/Sica/Resource/Info-macOS.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Sica/Resource/Info-tvOS.plist b/Sica/Resource/Info-tvOS.plist new file mode 100644 index 0000000..1007fd9 --- /dev/null +++ b/Sica/Resource/Info-tvOS.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Sica/Sica.h b/Sica/Sica.h index 2e1b56a..9e5f5fa 100644 --- a/Sica/Sica.h +++ b/Sica/Sica.h @@ -6,7 +6,13 @@ // Copyright © 2018年 中澤 郁斗. All rights reserved. // +#import "TargetConditionals.h" + +#if TARGET_OS_OSX +#import +#else #import +#endif //! Project version number for Sica. FOUNDATION_EXPORT double SicaVersionNumber; diff --git a/Sica/Source/AnimationKeyPaths.swift b/Sica/Source/AnimationKeyPaths.swift index d3c1af7..33bd660 100644 --- a/Sica/Source/AnimationKeyPaths.swift +++ b/Sica/Source/AnimationKeyPaths.swift @@ -6,8 +6,11 @@ // Copyright © 2018年 中澤 郁斗. All rights reserved. // -#if os(iOS) +#if os(iOS) || os(tvOS) import UIKit +#elseif os(macOS) +import AppKit +#endif open class AnimationKeyPaths { fileprivate init() {} @@ -129,4 +132,3 @@ extension AnimationKeyPaths { public static let transformTranslationY = AnimationKeyPath(keyPath: "transform.translation.y") public static let transformTranslationZ = AnimationKeyPath(keyPath: "transform.translation.z") } -#endif diff --git a/Sica/Source/Animator.swift b/Sica/Source/Animator.swift index c15a7fd..16e147f 100644 --- a/Sica/Source/Animator.swift +++ b/Sica/Source/Animator.swift @@ -6,8 +6,13 @@ // Copyright © 2018年 中澤 郁斗. All rights reserved. // -#if os(iOS) +#if os(iOS) || os(tvOS) import UIKit +public typealias View = UIView +#elseif os(macOS) +import AppKit +public typealias View = NSView +#endif public final class Animator { @@ -26,8 +31,18 @@ public final class Animator { public let key: String - public init(view: UIView, forKey key: String? = nil) { + public init(view: View, forKey key: String? = nil) { + #if os(iOS) || os(tvOS) self.layer = view.layer + #elseif os(macOS) + view.wantsLayer = true + if let layer = view.layer { + self.layer = layer + } else { + fatalError("view.layer is nil in \(#file)_\(#function)_\(#line)") + } + #endif + self.key = key ?? UUID().uuidString } @@ -107,6 +122,7 @@ public final class Animator { return self } + @available(iOS 9, tvOS 10.0, macOS 10.11, *) public func addSpringAnimation(keyPath: AnimationKeyPath, from: T, to: T, damping: CGFloat, mass: CGFloat, stiffness: CGFloat, initialVelocity: CGFloat, duration: Double, delay: Double = 0, timingFunction: TimingFunction = .default) -> Self { if isCompleted { return self } let springAnimation = CASpringAnimation(keyPath: keyPath.rawValue) @@ -135,7 +151,6 @@ public final class Animator { return self } } -#endif #if DEBUG extension Animator { diff --git a/SicaTests/Info.plist b/SicaTests/Info-iOS.plist similarity index 100% rename from SicaTests/Info.plist rename to SicaTests/Info-iOS.plist diff --git a/SicaTests/Info-macOS.plist b/SicaTests/Info-macOS.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/SicaTests/Info-macOS.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/SicaTests/Info-tvOS.plist b/SicaTests/Info-tvOS.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/SicaTests/Info-tvOS.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/SicaTests/SicaTests.swift b/SicaTests/SicaTests.swift index 5266a1d..8c5ad99 100644 --- a/SicaTests/SicaTests.swift +++ b/SicaTests/SicaTests.swift @@ -10,11 +10,11 @@ import XCTest @testable import Sica class SicaTests: XCTestCase { - var animator = Animator(view: UIView()) + var animator = Animator(view: View()) override func setUp() { super.setUp() - animator = Animator(view: UIView()) + animator = Animator(view: View()) } override func tearDown() {