diff --git a/Rebel.xcodeproj/project.pbxproj b/Rebel.xcodeproj/project.pbxproj index 7a2e747..3bb8265 100644 --- a/Rebel.xcodeproj/project.pbxproj +++ b/Rebel.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 301569981602161400E3BE46 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 306A81EC1601F44200BF45F3 /* QuartzCore.framework */; }; + 304692F21607259A00B79746 /* EXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 304692F11607259A00B79746 /* EXTKeyPathCoding.h */; }; 306A81DB1601C7A300BF45F3 /* RBLPopover.h in Headers */ = {isa = PBXBuildFile; fileRef = 306A81D91601C7A300BF45F3 /* RBLPopover.h */; settings = {ATTRIBUTES = (Public, ); }; }; 306A81DC1601C7A300BF45F3 /* RBLPopover.m in Sources */ = {isa = PBXBuildFile; fileRef = 306A81DA1601C7A300BF45F3 /* RBLPopover.m */; }; 306A81E81601E92000BF45F3 /* CAAnimation+RBLBlockAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 306A81E61601E92000BF45F3 /* CAAnimation+RBLBlockAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -152,6 +153,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 304692F11607259A00B79746 /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EXTKeyPathCoding.h; path = ReactiveCocoa/ReactiveCocoaFramework/ReactiveCocoa/libextobjc/extobjc/EXTKeyPathCoding.h; sourceTree = ""; }; 306A81D91601C7A300BF45F3 /* RBLPopover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBLPopover.h; sourceTree = ""; }; 306A81DA1601C7A300BF45F3 /* RBLPopover.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBLPopover.m; sourceTree = ""; }; 306A81E61601E92000BF45F3 /* CAAnimation+RBLBlockAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CAAnimation+RBLBlockAdditions.h"; sourceTree = ""; }; @@ -238,6 +240,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 304692E71607258E00B79746 /* libextobjc */ = { + isa = PBXGroup; + children = ( + 304692F11607259A00B79746 /* EXTKeyPathCoding.h */, + ); + name = libextobjc; + sourceTree = ""; + }; D06AD2FD15C636EF00A73D8E /* Products */ = { isa = PBXGroup; children = ( @@ -400,6 +410,7 @@ D09AE4E115C5F45200ECAD10 /* Frameworks */ = { isa = PBXGroup; children = ( + 304692E71607258E00B79746 /* libextobjc */, D08BB2EE15CB307D00CC9868 /* Expecta.xcodeproj */, D08BB2F115CB307D00CC9868 /* Specta.xcodeproj */, D06AD2FC15C636EF00A73D8E /* ReactiveCocoa.xcodeproj */, @@ -477,6 +488,7 @@ 306A81E81601E92000BF45F3 /* CAAnimation+RBLBlockAdditions.h in Headers */, 306A81DB1601C7A300BF45F3 /* RBLPopover.h in Headers */, 889E5E0F15FFDAE0007F2445 /* RBLViewModel.h in Headers */, + 304692F21607259A00B79746 /* EXTKeyPathCoding.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Rebel/RBLPopover.m b/Rebel/RBLPopover.m index 4d9d8cd..edab183 100644 --- a/Rebel/RBLPopover.m +++ b/Rebel/RBLPopover.m @@ -12,6 +12,7 @@ #import "NSColor+RBLCGColorAdditions.h" #import +#import "EXTKeyPathCoding.h" //*************************************************************************** @@ -236,11 +237,11 @@ static NSTimeInterval const RBLPopoverDefaultFadeDuration = 0.3; }; if (self.animates) { - CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"alphaValue"]; + CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@keypath(@"alphaValue")]; fadeInAnimation.duration = RBLPopoverDefaultFadeDuration; fadeInAnimation.rbl_completionBlock = postDisplayBlock; - self.popoverWindow.animations = @{ @"alphaValue": fadeInAnimation }; + self.popoverWindow.animations = @{ @keypath(@"alphaValue"): fadeInAnimation }; self.animating = YES; [self.popoverWindow.animator setAlphaValue:1.0]; } else { @@ -273,11 +274,11 @@ static NSTimeInterval const RBLPopoverDefaultFadeDuration = 0.3; }; if (self.animates) { - CABasicAnimation *fadeOutAnimation = [CABasicAnimation animationWithKeyPath:@"alphaValue"]; + CABasicAnimation *fadeOutAnimation = [CABasicAnimation animationWithKeyPath:@keypath(@"alphaValue")]; fadeOutAnimation.duration = duration; fadeOutAnimation.rbl_completionBlock = windowTeardown; - self.popoverWindow.animations = @{ @"alphaValue": fadeOutAnimation }; + self.popoverWindow.animations = @{ @keypath(@"alphaValue"): fadeOutAnimation }; self.animating = YES; [self.popoverWindow.animator setAlphaValue:0.0]; } else {