diff --git a/Cartfile b/Cartfile index fbc4ee3..ce85889 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "ReactiveCocoa/ReactiveCocoa" "v4.0.0-alpha.4" +github "ReactiveCocoa/ReactiveCocoa" "v4.0.0-RC.1" diff --git a/Cartfile.resolved b/Cartfile.resolved index 4c7b19d..52670dd 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,2 +1,2 @@ -github "antitypical/Result" "1.0.0" -github "ReactiveCocoa/ReactiveCocoa" "v4.0.0-alpha.4" +github "antitypical/Result" "1.0.1" +github "ReactiveCocoa/ReactiveCocoa" "v4.0.0-RC.1" diff --git a/Rex.xcodeproj/project.pbxproj b/Rex.xcodeproj/project.pbxproj index 1120059..0873ed6 100644 --- a/Rex.xcodeproj/project.pbxproj +++ b/Rex.xcodeproj/project.pbxproj @@ -43,6 +43,50 @@ D86FFBDA1B34B3F0001A89B3 /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD91B34B3F0001A89B3 /* Action.swift */; }; D86FFBDB1B34B3F0001A89B3 /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD91B34B3F0001A89B3 /* Action.swift */; }; D86FFBDD1B34B691001A89B3 /* UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBDC1B34B691001A89B3 /* UIButton.swift */; }; + D8715D9D1C210FF9005F4191 /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD91B34B3F0001A89B3 /* Action.swift */; }; + D8715D9E1C210FF9005F4191 /* Property.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454051BD26A1A00C9E790 /* Property.swift */; }; + D8715D9F1C210FF9005F4191 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EBC1AFED01000D7D3C5 /* Signal.swift */; }; + D8715DA01C210FF9005F4191 /* SignalProducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EB81AFEC7A900D7D3C5 /* SignalProducer.swift */; }; + D8715DA11C211011005F4191 /* Rex.h in Headers */ = {isa = PBXBuildFile; fileRef = D8003E931AFEC3D400D7D3C5 /* Rex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8715DA21C211014005F4191 /* Rex.h in Headers */ = {isa = PBXBuildFile; fileRef = D8003E931AFEC3D400D7D3C5 /* Rex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8715DA31C21107F005F4191 /* Association.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD01B34AD6F001A89B3 /* Association.swift */; }; + D8715DA41C21107F005F4191 /* NSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F0973A1B17F2F7002E15BA /* NSData.swift */; }; + D8715DA51C21107F005F4191 /* NSObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F097431B17F3C8002E15BA /* NSObject.swift */; }; + D8715DA61C21107F005F4191 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F0973C1B17F30D002E15BA /* NSUserDefaults.swift */; }; + D8715DA91C2110DA005F4191 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DA71C2110DA005F4191 /* ReactiveCocoa.framework */; }; + D8715DAA1C2110DA005F4191 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DA81C2110DA005F4191 /* Result.framework */; }; + D8715DB91C2112A9005F4191 /* Rex.h in Headers */ = {isa = PBXBuildFile; fileRef = D8003E931AFEC3D400D7D3C5 /* Rex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8715DBA1C2112D1005F4191 /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD91B34B3F0001A89B3 /* Action.swift */; }; + D8715DBB1C2112D1005F4191 /* Property.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454051BD26A1A00C9E790 /* Property.swift */; }; + D8715DBC1C2112D1005F4191 /* Signal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EBC1AFED01000D7D3C5 /* Signal.swift */; }; + D8715DBD1C2112D1005F4191 /* SignalProducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EB81AFEC7A900D7D3C5 /* SignalProducer.swift */; }; + D8715DBE1C2112D6005F4191 /* Association.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD01B34AD6F001A89B3 /* Association.swift */; }; + D8715DBF1C2112D6005F4191 /* NSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F0973A1B17F2F7002E15BA /* NSData.swift */; }; + D8715DC01C2112D6005F4191 /* NSObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F097431B17F3C8002E15BA /* NSObject.swift */; }; + D8715DC11C2112D6005F4191 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F0973C1B17F30D002E15BA /* NSUserDefaults.swift */; }; + D8715DC41C211310005F4191 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DC21C211310005F4191 /* ReactiveCocoa.framework */; }; + D8715DC51C211310005F4191 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DC31C211310005F4191 /* Result.framework */; }; + D8715DC61C211553005F4191 /* UIBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5173EBC71B625A6800C9B48E /* UIBarButtonItem.swift */; }; + D8715DC71C211553005F4191 /* UIBarItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5173EBC51B625A2600C9B48E /* UIBarItem.swift */; }; + D8715DC81C211553005F4191 /* UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBDC1B34B691001A89B3 /* UIButton.swift */; }; + D8715DC91C211553005F4191 /* UIControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD41B34B0FE001A89B3 /* UIControl.swift */; }; + D8715DCA1C211553005F4191 /* UILabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86FFBD71B34B242001A89B3 /* UILabel.swift */; }; + D8715DCB1C211553005F4191 /* UIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8289A2E21BD7EF740097FB60 /* UIImageView.swift */; }; + D8715DCC1C211553005F4191 /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8289A2E41BD7F6DD0097FB60 /* UIView.swift */; }; + D8715DDC1C211637005F4191 /* PropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454081BD2772700C9E790 /* PropertyTests.swift */; }; + D8715DDD1C211637005F4191 /* SignalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EBE1AFED2F800D7D3C5 /* SignalTests.swift */; }; + D8715DDE1C211637005F4191 /* SignalProducerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8003EC01AFED30100D7D3C5 /* SignalProducerTests.swift */; }; + D8715DDF1C21163B005F4191 /* NSObjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F097471B17F5DD002E15BA /* NSObjectTests.swift */; }; + D8715DE01C211643005F4191 /* UIBarButtonItemTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8295FD8B1B873748007C9000 /* UIBarButtonItemTests.swift */; }; + D8715DE11C211643005F4191 /* UIButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8295FD881B873490007C9000 /* UIButtonTests.swift */; }; + D8715DE21C211643005F4191 /* UIControlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8295FD851B873081007C9000 /* UIControlTests.swift */; }; + D8715DE31C211643005F4191 /* UILabelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F073141B861B3A0047D546 /* UILabelTests.swift */; }; + D8715DE41C211643005F4191 /* UIImageViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8289A2E01BD7EF1F0097FB60 /* UIImageViewTests.swift */; }; + D8715DE51C211643005F4191 /* UIViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8289A2E61BD7F7730097FB60 /* UIViewTests.swift */; }; + D8715DE61C21170C005F4191 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DC21C211310005F4191 /* ReactiveCocoa.framework */; }; + D8715DE71C21170C005F4191 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8715DC31C211310005F4191 /* Result.framework */; }; + D8715DE91C211739005F4191 /* ReactiveCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D8715DC21C211310005F4191 /* ReactiveCocoa.framework */; }; + D8715DEA1C211739005F4191 /* Result.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D8715DC31C211310005F4191 /* Result.framework */; }; D8A454061BD26A1A00C9E790 /* Property.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454051BD26A1A00C9E790 /* Property.swift */; }; D8A454071BD26A1A00C9E790 /* Property.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454051BD26A1A00C9E790 /* Property.swift */; }; D8A454091BD2772700C9E790 /* PropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8A454081BD2772700C9E790 /* PropertyTests.swift */; }; @@ -75,6 +119,13 @@ remoteGlobalIDString = D83457131AFEE44E0070616A; remoteInfo = "Rex-iOS"; }; + D8715DD71C21160A005F4191 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D8003E851AFEC3D400D7D3C5 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D8715DAF1C21123E005F4191; + remoteInfo = "Rex-tvOS"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -100,6 +151,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8715DE81C21172A005F4191 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 16; + files = ( + D8715DE91C211739005F4191 /* ReactiveCocoa.framework in CopyFiles */, + D8715DEA1C211739005F4191 /* Result.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -133,6 +195,13 @@ D86FFBD71B34B242001A89B3 /* UILabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UILabel.swift; sourceTree = ""; }; D86FFBD91B34B3F0001A89B3 /* Action.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Action.swift; sourceTree = ""; }; D86FFBDC1B34B691001A89B3 /* UIButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIButton.swift; sourceTree = ""; }; + D8715D941C210F97005F4191 /* Rex.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rex.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8715DA71C2110DA005F4191 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReactiveCocoa.framework; path = watchOS/ReactiveCocoa.framework; sourceTree = ""; }; + D8715DA81C2110DA005F4191 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = watchOS/Result.framework; sourceTree = ""; }; + D8715DB01C21123E005F4191 /* Rex.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rex.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8715DC21C211310005F4191 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReactiveCocoa.framework; path = tvOS/ReactiveCocoa.framework; sourceTree = ""; }; + D8715DC31C211310005F4191 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = tvOS/Result.framework; sourceTree = ""; }; + D8715DD11C21160A005F4191 /* RexTests-tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RexTests-tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; D8A454051BD26A1A00C9E790 /* Property.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Property.swift; sourceTree = ""; }; D8A454081BD2772700C9E790 /* PropertyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PropertyTests.swift; sourceTree = ""; }; D8F073141B861B3A0047D546 /* UILabelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UILabelTests.swift; sourceTree = ""; }; @@ -179,6 +248,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8715D901C210F97005F4191 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DA91C2110DA005F4191 /* ReactiveCocoa.framework in Frameworks */, + D8715DAA1C2110DA005F4191 /* Result.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DAC1C21123E005F4191 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DC41C211310005F4191 /* ReactiveCocoa.framework in Frameworks */, + D8715DC51C211310005F4191 /* Result.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DCE1C21160A005F4191 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DE61C21170C005F4191 /* ReactiveCocoa.framework in Frameworks */, + D8715DE71C21170C005F4191 /* Result.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -249,6 +345,8 @@ children = ( D8003EC71AFEE39000D7D3C5 /* iOS */, D8003EAB1AFEC67700D7D3C5 /* Mac */, + D8715DB81C21124B005F4191 /* tvOS */, + D8715D9C1C210FA1005F4191 /* watchOS */, ); name = Binaries; path = Carthage/Build; @@ -290,6 +388,27 @@ path = UIKit; sourceTree = ""; }; + D8715D9C1C210FA1005F4191 /* watchOS */ = { + isa = PBXGroup; + children = ( + D8715D941C210F97005F4191 /* Rex.framework */, + D8715DA71C2110DA005F4191 /* ReactiveCocoa.framework */, + D8715DA81C2110DA005F4191 /* Result.framework */, + ); + name = watchOS; + sourceTree = ""; + }; + D8715DB81C21124B005F4191 /* tvOS */ = { + isa = PBXGroup; + children = ( + D8715DB01C21123E005F4191 /* Rex.framework */, + D8715DD11C21160A005F4191 /* RexTests-tvOS.xctest */, + D8715DC21C211310005F4191 /* ReactiveCocoa.framework */, + D8715DC31C211310005F4191 /* Result.framework */, + ); + name = tvOS; + sourceTree = ""; + }; D8F073131B861B110047D546 /* UIKit */ = { isa = PBXGroup; children = ( @@ -337,6 +456,23 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + D8715DA11C211011005F4191 /* Rex.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715D911C210F97005F4191 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DA21C211014005F4191 /* Rex.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DAD1C21123E005F4191 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DB91C2112A9005F4191 /* Rex.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -417,13 +553,68 @@ productReference = D86E77AC1AFEE646004BF23D /* RexTests-iOS.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + D8715D931C210F97005F4191 /* Rex-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D8715D9B1C210F97005F4191 /* Build configuration list for PBXNativeTarget "Rex-watchOS" */; + buildPhases = ( + D8715D8F1C210F97005F4191 /* Sources */, + D8715D901C210F97005F4191 /* Frameworks */, + D8715D911C210F97005F4191 /* Headers */, + D8715D921C210F97005F4191 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Rex-watchOS"; + productName = Rex; + productReference = D8715D941C210F97005F4191 /* Rex.framework */; + productType = "com.apple.product-type.framework"; + }; + D8715DAF1C21123E005F4191 /* Rex-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D8715DB51C21123E005F4191 /* Build configuration list for PBXNativeTarget "Rex-tvOS" */; + buildPhases = ( + D8715DAB1C21123E005F4191 /* Sources */, + D8715DAC1C21123E005F4191 /* Frameworks */, + D8715DAD1C21123E005F4191 /* Headers */, + D8715DAE1C21123E005F4191 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Rex-tvOS"; + productName = Rex; + productReference = D8715DB01C21123E005F4191 /* Rex.framework */; + productType = "com.apple.product-type.framework"; + }; + D8715DD01C21160A005F4191 /* RexTests-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D8715DD91C21160A005F4191 /* Build configuration list for PBXNativeTarget "RexTests-tvOS" */; + buildPhases = ( + D8715DCD1C21160A005F4191 /* Sources */, + D8715DCE1C21160A005F4191 /* Frameworks */, + D8715DCF1C21160A005F4191 /* Resources */, + D8715DE81C21172A005F4191 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + D8715DD81C21160A005F4191 /* PBXTargetDependency */, + ); + name = "RexTests-tvOS"; + productName = RexTests; + productReference = D8715DD11C21160A005F4191 /* RexTests-tvOS.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ D8003E851AFEC3D400D7D3C5 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0700; + LastSwiftUpdateCheck = 0720; LastUpgradeCheck = 0700; ORGANIZATIONNAME = "Neil Pankey"; TargetAttributes = { @@ -439,6 +630,15 @@ D834571D1AFEE44E0070616A = { CreatedOnToolsVersion = 6.3; }; + D8715D931C210F97005F4191 = { + CreatedOnToolsVersion = 7.2; + }; + D8715DAF1C21123E005F4191 = { + CreatedOnToolsVersion = 7.2; + }; + D8715DD01C21160A005F4191 = { + CreatedOnToolsVersion = 7.2; + }; }; }; buildConfigurationList = D8003E881AFEC3D400D7D3C5 /* Build configuration list for PBXProject "Rex" */; @@ -457,6 +657,9 @@ D8003E981AFEC3D400D7D3C5 /* RexTests-Mac */, D83457131AFEE44E0070616A /* Rex-iOS */, D834571D1AFEE44E0070616A /* RexTests-iOS */, + D8715DAF1C21123E005F4191 /* Rex-tvOS */, + D8715DD01C21160A005F4191 /* RexTests-tvOS */, + D8715D931C210F97005F4191 /* Rex-watchOS */, ); }; /* End PBXProject section */ @@ -490,6 +693,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8715D921C210F97005F4191 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DAE1C21123E005F4191 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DCF1C21160A005F4191 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -559,6 +783,60 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8715D8F1C210F97005F4191 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715D9E1C210FF9005F4191 /* Property.swift in Sources */, + D8715DA01C210FF9005F4191 /* SignalProducer.swift in Sources */, + D8715DA31C21107F005F4191 /* Association.swift in Sources */, + D8715DA51C21107F005F4191 /* NSObject.swift in Sources */, + D8715D9F1C210FF9005F4191 /* Signal.swift in Sources */, + D8715DA41C21107F005F4191 /* NSData.swift in Sources */, + D8715D9D1C210FF9005F4191 /* Action.swift in Sources */, + D8715DA61C21107F005F4191 /* NSUserDefaults.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DAB1C21123E005F4191 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DBB1C2112D1005F4191 /* Property.swift in Sources */, + D8715DCA1C211553005F4191 /* UILabel.swift in Sources */, + D8715DCB1C211553005F4191 /* UIImageView.swift in Sources */, + D8715DC61C211553005F4191 /* UIBarButtonItem.swift in Sources */, + D8715DBD1C2112D1005F4191 /* SignalProducer.swift in Sources */, + D8715DBE1C2112D6005F4191 /* Association.swift in Sources */, + D8715DC01C2112D6005F4191 /* NSObject.swift in Sources */, + D8715DC91C211553005F4191 /* UIControl.swift in Sources */, + D8715DBC1C2112D1005F4191 /* Signal.swift in Sources */, + D8715DBF1C2112D6005F4191 /* NSData.swift in Sources */, + D8715DCC1C211553005F4191 /* UIView.swift in Sources */, + D8715DBA1C2112D1005F4191 /* Action.swift in Sources */, + D8715DC81C211553005F4191 /* UIButton.swift in Sources */, + D8715DC71C211553005F4191 /* UIBarItem.swift in Sources */, + D8715DC11C2112D6005F4191 /* NSUserDefaults.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8715DCD1C21160A005F4191 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8715DE51C211643005F4191 /* UIViewTests.swift in Sources */, + D8715DDE1C211637005F4191 /* SignalProducerTests.swift in Sources */, + D8715DE11C211643005F4191 /* UIButtonTests.swift in Sources */, + D8715DE21C211643005F4191 /* UIControlTests.swift in Sources */, + D8715DDF1C21163B005F4191 /* NSObjectTests.swift in Sources */, + D8715DDC1C211637005F4191 /* PropertyTests.swift in Sources */, + D8715DDD1C211637005F4191 /* SignalTests.swift in Sources */, + D8715DE41C211643005F4191 /* UIImageViewTests.swift in Sources */, + D8715DE31C211643005F4191 /* UILabelTests.swift in Sources */, + D8715DE01C211643005F4191 /* UIBarButtonItemTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -572,6 +850,11 @@ target = D83457131AFEE44E0070616A /* Rex-iOS */; targetProxy = D83457201AFEE44E0070616A /* PBXContainerItemProxy */; }; + D8715DD81C21160A005F4191 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D8715DAF1C21123E005F4191 /* Rex-tvOS */; + targetProxy = D8715DD71C21160A005F4191 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -849,6 +1132,137 @@ }; name = Release; }; + D8715D991C210F97005F4191 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = Source/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.Rex; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Debug; + }; + D8715D9A1C210F97005F4191 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = Source/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.Rex; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + VALIDATE_PRODUCT = YES; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Release; + }; + D8715DB61C21123E005F4191 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.Rex; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + D8715DB71C21123E005F4191 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.Rex; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D8715DDA1C21160A005F4191 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.RexTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + D8715DDB1C21160A005F4191 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = me.neilpa.RexTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -897,6 +1311,30 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D8715D9B1C210F97005F4191 /* Build configuration list for PBXNativeTarget "Rex-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D8715D991C210F97005F4191 /* Debug */, + D8715D9A1C210F97005F4191 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + D8715DB51C21123E005F4191 /* Build configuration list for PBXNativeTarget "Rex-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D8715DB61C21123E005F4191 /* Debug */, + D8715DB71C21123E005F4191 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + D8715DD91C21160A005F4191 /* Build configuration list for PBXNativeTarget "RexTests-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D8715DDA1C21160A005F4191 /* Debug */, + D8715DDB1C21160A005F4191 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = D8003E851AFEC3D400D7D3C5 /* Project object */; diff --git a/Rex.xcodeproj/xcshareddata/xcschemes/Rex-Mac.xcscheme b/Rex.xcodeproj/xcshareddata/xcschemes/Rex-Mac.xcscheme index 26421be..cc58cdc 100644 --- a/Rex.xcodeproj/xcshareddata/xcschemes/Rex-Mac.xcscheme +++ b/Rex.xcodeproj/xcshareddata/xcschemes/Rex-Mac.xcscheme @@ -37,10 +37,10 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -66,11 +66,11 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -66,11 +66,11 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Rex.xcodeproj/xcshareddata/xcschemes/Rex-watchOS.xcscheme b/Rex.xcodeproj/xcshareddata/xcschemes/Rex-watchOS.xcscheme new file mode 100644 index 0000000..10d0727 --- /dev/null +++ b/Rex.xcodeproj/xcshareddata/xcschemes/Rex-watchOS.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Rex.h b/Source/Rex.h index 5aeccb9..1338b3d 100644 --- a/Source/Rex.h +++ b/Source/Rex.h @@ -6,7 +6,7 @@ // Copyright (c) 2015 Neil Pankey. All rights reserved. // -#import +#import //! Project version number for Rex. FOUNDATION_EXPORT double RexVersionNumber; diff --git a/Source/UIKit/UIControl.swift b/Source/UIKit/UIControl.swift index c1c2e3d..f92da0a 100644 --- a/Source/UIKit/UIControl.swift +++ b/Source/UIKit/UIControl.swift @@ -10,6 +10,7 @@ import ReactiveCocoa import UIKit extension UIControl { +#if os(iOS) /// Creates a producer for the sender whenever a specified control event is triggered. public func rex_controlEvents(events: UIControlEvents) -> SignalProducer { return rac_signalForControlEvents(events) @@ -17,6 +18,7 @@ extension UIControl { .map { $0 as? UIControl } .flatMapError { _ in SignalProducer(value: nil) } } +#endif /// Wraps a control's `enabled` state in a bindable property. public var rex_enabled: MutableProperty {