From d974264cc2c0d600294deebc823959597291e3d8 Mon Sep 17 00:00:00 2001 From: Laura Skelton Date: Wed, 22 Jul 2015 09:54:33 -0700 Subject: [PATCH 1/5] Updates for New JazzHands --- Example/Docs/jazzhands-demo.gif | Bin 0 -> 669460 bytes Example/Docs/jazzhands_banner.jpg | Bin 0 -> 79404 bytes .../JazzHandsDemo.xcodeproj/project.pbxproj | 38 +- .../xcshareddata/JazzHandsDemo.xccheckout | 2 +- Example/JazzHandsDemo/IFTTTCircleView.h | 13 + Example/JazzHandsDemo/IFTTTCircleView.m | 35 + .../JazzHandsDemo/IFTTTJazzHandsAppDelegate.m | 6 - .../IFTTTJazzHandsViewController.m | 670 +++-- .../AppIcon.appiconset/Contents.json | 5 + .../BigCloud.imageset/BigCloud.png | Bin 0 -> 11072 bytes .../BigCloud.imageset/Contents.json | 21 + .../BlueStick.imageset/BlueStick.png | Bin 0 -> 31318 bytes .../BlueStick.imageset/Contents.json | 21 + .../Images.xcassets/Contents.json | 6 + .../Hands.imageset/Contents.json | 21 + .../Images.xcassets/Hands.imageset/hands.png | Bin 0 -> 17563 bytes .../Images.xcassets/IFTTT.imageset/IFTTT.png | Bin 53780 -> 0 bytes .../IFTTT.imageset/IFTTT@2x.png | Bin 53822 -> 0 bytes .../IFTTTCloud.imageset/Contents.json | 21 + .../IFTTTCloud.imageset/IFTTTCloud.png | Bin 0 -> 5327 bytes .../IFTTTPresents.imageset/Contents.json | 21 + .../IFTTTPresents.imageset/iftttpresents.png | Bin 0 -> 3559 bytes .../Contents.json | 11 +- .../Images.xcassets/JAZZ.imageset/jazz.png | Bin 0 -> 10605 bytes .../LaunchImage.launchimage/Contents.json | 23 - .../LittleCloud.imageset/Contents.json | 21 + .../LittleCloud.imageset/littleCloud.png | Bin 0 -> 4569 bytes .../MusicNotes.imageset/Contents.json | 21 + .../MusicNotes.imageset/MusicNotes.png | Bin 0 -> 12807 bytes .../MusicStand.imageset/Contents.json | 21 + .../MusicStand.imageset/MusicStand.png | Bin 0 -> 48948 bytes .../OrangeStick.imageset/Contents.json | 21 + .../OrangeStick.imageset/OrangeStick.png | Bin 0 -> 17051 bytes .../Page2Text.imageset/Contents.json | 21 + .../Page2Text.imageset/text2.png | Bin 0 -> 7195 bytes .../Page3Text.imageset/Contents.json | 21 + .../Page3Text.imageset/text3.png | Bin 0 -> 4561 bytes .../Plane.imageset/Airplane.png | Bin 0 -> 117325 bytes .../Plane.imageset/Contents.json | 21 + .../Contents.json | 11 +- .../Images.xcassets/Sun.imageset/Sun.png | Bin 0 -> 37708 bytes .../Unicorn.imageset/404_unicorn.png | Bin 6423 -> 0 bytes .../Unicorn.imageset/404_unicorn@2x.png | Bin 12866 -> 0 bytes .../JazzHandsDemo/JazzHandsDemo-Info.plist | 6 + .../JazzHandsDemo/JazzHandsDemo.entitlements | 5 + Example/JazzHandsDemo/LaunchScreen.storyboard | 7 + Example/JazzHandsDemo/Main.storyboard | 27 + Example/JazzHandsDemo/MyCustomAnimation.h | 15 - Example/JazzHandsDemo/MyCustomAnimation.m | 24 - Example/JazzHandsTests/IFTTTAnimationSpec.m | 8 +- Example/ObjectiveC.gcno | Bin 0 -> 44220 bytes Example/Podfile | 1 + Example/Podfile.lock | 9 +- .../JazzHands/IFTTTBackgroundColorAnimation.h | 1 + .../Private/JazzHands/IFTTTColorAnimation.h | 1 - .../JazzHands/IFTTTFillColorAnimation.h | 1 - .../Private/JazzHands/IFTTTLabelAnimation.h | 1 - .../JazzHands/IFTTTLayerFillColorAnimation.h | 1 + .../JazzHands/IFTTTLayerStrokeEndAnimation.h | 1 + .../IFTTTLayerStrokeStartAnimation.h | 1 + .../JazzHands/IFTTTPathPositionAnimation.h | 1 + .../JazzHands/IFTTTStrokeEndAnimation.h | 1 - .../JazzHands/IFTTTStrokeStartAnimation.h | 1 - .../Private/Masonry/MASCompositeConstraint.h | 1 + .../Private/Masonry/MASConstraint+Private.h | 1 + .../Headers/Private/Masonry/MASConstraint.h | 1 + .../Private/Masonry/MASConstraintMaker.h | 1 + .../Private/Masonry/MASLayoutConstraint.h | 1 + .../Headers/Private/Masonry/MASUtilities.h | 1 + .../Private/Masonry/MASViewAttribute.h | 1 + .../Private/Masonry/MASViewConstraint.h | 1 + .../Pods/Headers/Private/Masonry/Masonry.h | 1 + .../Private/Masonry/NSArray+MASAdditions.h | 1 + .../Masonry/NSArray+MASShorthandAdditions.h | 1 + .../NSLayoutConstraint+MASDebugAdditions.h | 1 + .../Private/Masonry/View+MASAdditions.h | 1 + .../Masonry/View+MASShorthandAdditions.h | 1 + .../JazzHands/IFTTTBackgroundColorAnimation.h | 1 + .../Public/JazzHands/IFTTTColorAnimation.h | 1 - .../JazzHands/IFTTTFillColorAnimation.h | 1 - .../Public/JazzHands/IFTTTLabelAnimation.h | 1 - .../JazzHands/IFTTTLayerFillColorAnimation.h | 1 + .../JazzHands/IFTTTLayerStrokeEndAnimation.h | 1 + .../IFTTTLayerStrokeStartAnimation.h | 1 + .../JazzHands/IFTTTPathPositionAnimation.h | 1 + .../JazzHands/IFTTTStrokeEndAnimation.h | 1 - .../JazzHands/IFTTTStrokeStartAnimation.h | 1 - .../Public/Masonry/MASCompositeConstraint.h | 1 + .../Public/Masonry/MASConstraint+Private.h | 1 + .../Headers/Public/Masonry/MASConstraint.h | 1 + .../Public/Masonry/MASConstraintMaker.h | 1 + .../Public/Masonry/MASLayoutConstraint.h | 1 + .../Headers/Public/Masonry/MASUtilities.h | 1 + .../Headers/Public/Masonry/MASViewAttribute.h | 1 + .../Public/Masonry/MASViewConstraint.h | 1 + Example/Pods/Headers/Public/Masonry/Masonry.h | 1 + .../Public/Masonry/NSArray+MASAdditions.h | 1 + .../Masonry/NSArray+MASShorthandAdditions.h | 1 + .../NSLayoutConstraint+MASDebugAdditions.h | 1 + .../Public/Masonry/View+MASAdditions.h | 1 + .../Masonry/View+MASShorthandAdditions.h | 1 + .../Local Podspecs/JazzHands.podspec.json | 4 +- Example/Pods/Manifest.lock | 9 +- Example/Pods/Masonry/LICENSE | 19 + .../Masonry/Masonry/MASCompositeConstraint.h | 26 + .../Masonry/Masonry/MASCompositeConstraint.m | 177 ++ .../Masonry/Masonry/MASConstraint+Private.h | 66 + Example/Pods/Masonry/Masonry/MASConstraint.h | 237 ++ Example/Pods/Masonry/Masonry/MASConstraint.m | 245 ++ .../Pods/Masonry/Masonry/MASConstraintMaker.h | 105 + .../Pods/Masonry/Masonry/MASConstraintMaker.m | 193 ++ .../Masonry/Masonry/MASLayoutConstraint.h | 22 + .../Masonry/Masonry/MASLayoutConstraint.m | 13 + Example/Pods/Masonry/Masonry/MASUtilities.h | 131 + .../Pods/Masonry/Masonry/MASViewAttribute.h | 39 + .../Pods/Masonry/Masonry/MASViewAttribute.m | 40 + .../Pods/Masonry/Masonry/MASViewConstraint.h | 48 + .../Pods/Masonry/Masonry/MASViewConstraint.m | 395 +++ Example/Pods/Masonry/Masonry/Masonry.h | 20 + .../Masonry/Masonry/NSArray+MASAdditions.h | 47 + .../Masonry/Masonry/NSArray+MASAdditions.m | 41 + .../Masonry/NSArray+MASShorthandAdditions.h | 41 + .../NSLayoutConstraint+MASDebugAdditions.h | 16 + .../NSLayoutConstraint+MASDebugAdditions.m | 129 + .../Pods/Masonry/Masonry/View+MASAdditions.h | 81 + .../Pods/Masonry/Masonry/View+MASAdditions.m | 119 + .../Masonry/View+MASShorthandAdditions.h | 75 + Example/Pods/Masonry/README.md | 363 +++ Example/Pods/Pods.xcodeproj/project.pbxproj | 2256 +++++++++-------- .../xcshareddata/xcschemes/JazzHands.xcscheme | 62 + .../Pods-JazzHandsDemo-JazzHands.xcscheme | 2 +- .../Pods-JazzHandsTests-JazzHands.xcscheme | 2 +- Example/Pods/SnapKit/LICENSE | 19 + Example/Pods/SnapKit/README.md | 36 + Example/Pods/SnapKit/Source/Constraint.swift | 465 ++++ .../SnapKit/Source/ConstraintAttributes.swift | 167 ++ .../Source/ConstraintDescription.swift | 540 ++++ .../Pods/SnapKit/Source/ConstraintItem.swift | 71 + .../Pods/SnapKit/Source/ConstraintMaker.swift | 190 ++ .../SnapKit/Source/ConstraintRelation.swift | 48 + Example/Pods/SnapKit/Source/Debugging.swift | 175 ++ Example/Pods/SnapKit/Source/EdgeInsets.swift | 38 + .../SnapKit/Source/LayoutConstraint.swift | 63 + Example/Pods/SnapKit/Source/SnapKit.swift | 40 + .../Pods/SnapKit/Source/View+SnapKit.swift | 180 ++ .../Source/ViewController+SnapKit.swift | 46 + .../Expecta-Private.xcconfig} | 8 +- .../Expecta/Expecta-dummy.m | 5 + .../Expecta-prefix.pch} | 1 - .../Expecta/Expecta.xcconfig | 2 + .../JazzHands-Private.xcconfig} | 6 +- .../JazzHands/JazzHands-dummy.m | 5 + .../JazzHands-prefix.pch} | 1 - .../JazzHands/JazzHands.xcconfig | 1 + .../Masonry/Masonry-Private.xcconfig | 6 + .../Masonry/Masonry-dummy.m | 5 + .../Masonry-prefix.pch} | 1 - .../Masonry/Masonry.xcconfig | 1 + .../Pods-JazzHandsDemo-JazzHands-dummy.m | 5 - .../Pods-JazzHandsDemo-JazzHands.xcconfig | 1 - ...ds-JazzHandsDemo-acknowledgements.markdown | 22 + .../Pods-JazzHandsDemo-acknowledgements.plist | 26 + .../Pods-JazzHandsDemo-environment.h | 14 - .../Pods-JazzHandsDemo.debug.xcconfig | 7 +- .../Pods-JazzHandsDemo.release.xcconfig | 7 +- .../Pods-JazzHandsTests-Expecta-dummy.m | 5 - .../Pods-JazzHandsTests-Expecta.xcconfig | 2 - ...-JazzHandsTests-JazzHands-Private.xcconfig | 6 - .../Pods-JazzHandsTests-JazzHands-dummy.m | 5 - .../Pods-JazzHandsTests-JazzHands.xcconfig | 1 - .../Pods-JazzHandsTests-Specta-dummy.m | 5 - .../Pods-JazzHandsTests-Specta.xcconfig | 2 - ...s-JazzHandsTests-acknowledgements.markdown | 64 +- ...Pods-JazzHandsTests-acknowledgements.plist | 70 +- .../Pods-JazzHandsTests-environment.h | 26 - .../Pods-JazzHandsTests.debug.xcconfig | 9 +- .../Pods-JazzHandsTests.release.xcconfig | 9 +- .../Specta-Private.xcconfig} | 8 +- .../Specta/Specta-dummy.m | 5 + .../Specta-prefix.pch} | 1 - .../Specta/Specta.xcconfig | 2 + JazzHands.podspec | 2 +- .../IFTTTAnimatedPagingScrollViewController.h | 9 +- .../IFTTTAnimatedPagingScrollViewController.m | 92 +- ...tion.h => IFTTTBackgroundColorAnimation.h} | 4 +- ...tion.m => IFTTTBackgroundColorAnimation.m} | 6 +- JazzHands/IFTTTConstraintConstantAnimation.h | 2 +- .../IFTTTConstraintMultiplierAnimation.h | 2 +- JazzHands/IFTTTJazzHands.h | 10 +- JazzHands/IFTTTLabelAnimation.h | 18 - JazzHands/IFTTTLabelAnimation.m | 32 - ...ation.h => IFTTTLayerFillColorAnimation.h} | 4 +- ...ation.m => IFTTTLayerFillColorAnimation.m} | 6 +- ...ation.h => IFTTTLayerStrokeEndAnimation.h} | 4 +- JazzHands/IFTTTLayerStrokeEndAnimation.m | 84 + ...ion.h => IFTTTLayerStrokeStartAnimation.h} | 4 +- JazzHands/IFTTTLayerStrokeStartAnimation.m | 84 + JazzHands/IFTTTPathPositionAnimation.h | 21 + JazzHands/IFTTTPathPositionAnimation.m | 112 + .../IFTTTScrollViewPageConstraintAnimation.h | 10 +- .../IFTTTScrollViewPageConstraintAnimation.m | 24 +- JazzHands/IFTTTShapeLayerAnimation.h | 2 +- JazzHands/IFTTTStrokeEndAnimation.m | 38 - JazzHands/IFTTTStrokeStartAnimation.m | 38 - JazzHands/IFTTTTextColorAnimation.h | 6 +- JazzHands/IFTTTTextColorAnimation.m | 19 + JazzHands/IFTTTViewAnimation.h | 2 +- README.md | 11 +- 208 files changed, 7565 insertions(+), 1748 deletions(-) create mode 100644 Example/Docs/jazzhands-demo.gif create mode 100644 Example/Docs/jazzhands_banner.jpg create mode 100644 Example/JazzHandsDemo/IFTTTCircleView.h create mode 100644 Example/JazzHandsDemo/IFTTTCircleView.m create mode 100644 Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/BigCloud.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/BlueStick.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/Hands.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/Hands.imageset/hands.png delete mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT.png delete mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT@2x.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/IFTTTCloud.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/iftttpresents.png rename Example/JazzHandsDemo/Images.xcassets/{Unicorn.imageset => JAZZ.imageset}/Contents.json (54%) create mode 100644 Example/JazzHandsDemo/Images.xcassets/JAZZ.imageset/jazz.png delete mode 100644 Example/JazzHandsDemo/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/littleCloud.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/MusicNotes.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/MusicNotes.imageset/MusicNotes.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/MusicStand.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/OrangeStick.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/text2.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/Contents.json create mode 100644 Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/text3.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/Plane.imageset/Airplane.png create mode 100644 Example/JazzHandsDemo/Images.xcassets/Plane.imageset/Contents.json rename Example/JazzHandsDemo/Images.xcassets/{IFTTT.imageset => Sun.imageset}/Contents.json (54%) create mode 100644 Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Sun.png delete mode 100644 Example/JazzHandsDemo/Images.xcassets/Unicorn.imageset/404_unicorn.png delete mode 100644 Example/JazzHandsDemo/Images.xcassets/Unicorn.imageset/404_unicorn@2x.png create mode 100644 Example/JazzHandsDemo/JazzHandsDemo.entitlements create mode 100644 Example/JazzHandsDemo/LaunchScreen.storyboard create mode 100644 Example/JazzHandsDemo/Main.storyboard delete mode 100644 Example/JazzHandsDemo/MyCustomAnimation.h delete mode 100644 Example/JazzHandsDemo/MyCustomAnimation.m create mode 100644 Example/ObjectiveC.gcno create mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTBackgroundColorAnimation.h delete mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTColorAnimation.h delete mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTFillColorAnimation.h delete mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTLabelAnimation.h create mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTLayerFillColorAnimation.h create mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeEndAnimation.h create mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeStartAnimation.h create mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTPathPositionAnimation.h delete mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTStrokeEndAnimation.h delete mode 120000 Example/Pods/Headers/Private/JazzHands/IFTTTStrokeStartAnimation.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASCompositeConstraint.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASConstraint+Private.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASConstraint.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASConstraintMaker.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASLayoutConstraint.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASUtilities.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASViewAttribute.h create mode 120000 Example/Pods/Headers/Private/Masonry/MASViewConstraint.h create mode 120000 Example/Pods/Headers/Private/Masonry/Masonry.h create mode 120000 Example/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h create mode 120000 Example/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h create mode 120000 Example/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h create mode 120000 Example/Pods/Headers/Private/Masonry/View+MASAdditions.h create mode 120000 Example/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h create mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTBackgroundColorAnimation.h delete mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTColorAnimation.h delete mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTFillColorAnimation.h delete mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTLabelAnimation.h create mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTLayerFillColorAnimation.h create mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeEndAnimation.h create mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeStartAnimation.h create mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTPathPositionAnimation.h delete mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTStrokeEndAnimation.h delete mode 120000 Example/Pods/Headers/Public/JazzHands/IFTTTStrokeStartAnimation.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASCompositeConstraint.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASConstraint+Private.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASConstraint.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASConstraintMaker.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASLayoutConstraint.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASUtilities.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASViewAttribute.h create mode 120000 Example/Pods/Headers/Public/Masonry/MASViewConstraint.h create mode 120000 Example/Pods/Headers/Public/Masonry/Masonry.h create mode 120000 Example/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h create mode 120000 Example/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h create mode 120000 Example/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h create mode 120000 Example/Pods/Headers/Public/Masonry/View+MASAdditions.h create mode 120000 Example/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h create mode 100644 Example/Pods/Masonry/LICENSE create mode 100644 Example/Pods/Masonry/Masonry/MASCompositeConstraint.h create mode 100644 Example/Pods/Masonry/Masonry/MASCompositeConstraint.m create mode 100644 Example/Pods/Masonry/Masonry/MASConstraint+Private.h create mode 100644 Example/Pods/Masonry/Masonry/MASConstraint.h create mode 100644 Example/Pods/Masonry/Masonry/MASConstraint.m create mode 100644 Example/Pods/Masonry/Masonry/MASConstraintMaker.h create mode 100644 Example/Pods/Masonry/Masonry/MASConstraintMaker.m create mode 100644 Example/Pods/Masonry/Masonry/MASLayoutConstraint.h create mode 100644 Example/Pods/Masonry/Masonry/MASLayoutConstraint.m create mode 100644 Example/Pods/Masonry/Masonry/MASUtilities.h create mode 100644 Example/Pods/Masonry/Masonry/MASViewAttribute.h create mode 100644 Example/Pods/Masonry/Masonry/MASViewAttribute.m create mode 100644 Example/Pods/Masonry/Masonry/MASViewConstraint.h create mode 100644 Example/Pods/Masonry/Masonry/MASViewConstraint.m create mode 100644 Example/Pods/Masonry/Masonry/Masonry.h create mode 100644 Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h create mode 100644 Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m create mode 100644 Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h create mode 100644 Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h create mode 100644 Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m create mode 100644 Example/Pods/Masonry/Masonry/View+MASAdditions.h create mode 100644 Example/Pods/Masonry/Masonry/View+MASAdditions.m create mode 100644 Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h create mode 100644 Example/Pods/Masonry/README.md create mode 100644 Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/JazzHands.xcscheme create mode 100644 Example/Pods/SnapKit/LICENSE create mode 100644 Example/Pods/SnapKit/README.md create mode 100644 Example/Pods/SnapKit/Source/Constraint.swift create mode 100644 Example/Pods/SnapKit/Source/ConstraintAttributes.swift create mode 100644 Example/Pods/SnapKit/Source/ConstraintDescription.swift create mode 100644 Example/Pods/SnapKit/Source/ConstraintItem.swift create mode 100644 Example/Pods/SnapKit/Source/ConstraintMaker.swift create mode 100644 Example/Pods/SnapKit/Source/ConstraintRelation.swift create mode 100644 Example/Pods/SnapKit/Source/Debugging.swift create mode 100644 Example/Pods/SnapKit/Source/EdgeInsets.swift create mode 100644 Example/Pods/SnapKit/Source/LayoutConstraint.swift create mode 100644 Example/Pods/SnapKit/Source/SnapKit.swift create mode 100644 Example/Pods/SnapKit/Source/View+SnapKit.swift create mode 100644 Example/Pods/SnapKit/Source/ViewController+SnapKit.swift rename Example/Pods/Target Support Files/{Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-Private.xcconfig => Expecta/Expecta-Private.xcconfig} (51%) create mode 100644 Example/Pods/Target Support Files/Expecta/Expecta-dummy.m rename Example/Pods/Target Support Files/{Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch => Expecta/Expecta-prefix.pch} (52%) create mode 100644 Example/Pods/Target Support Files/Expecta/Expecta.xcconfig rename Example/Pods/Target Support Files/{Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-Private.xcconfig => JazzHands/JazzHands-Private.xcconfig} (59%) create mode 100644 Example/Pods/Target Support Files/JazzHands/JazzHands-dummy.m rename Example/Pods/Target Support Files/{Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch => JazzHands/JazzHands-prefix.pch} (52%) create mode 100644 Example/Pods/Target Support Files/JazzHands/JazzHands.xcconfig create mode 100644 Example/Pods/Target Support Files/Masonry/Masonry-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/Masonry/Masonry-dummy.m rename Example/Pods/Target Support Files/{Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch => Masonry/Masonry-prefix.pch} (52%) create mode 100644 Example/Pods/Target Support Files/Masonry/Masonry.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-environment.h delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-environment.h rename Example/Pods/Target Support Files/{Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-Private.xcconfig => Specta/Specta-Private.xcconfig} (51%) create mode 100644 Example/Pods/Target Support Files/Specta/Specta-dummy.m rename Example/Pods/Target Support Files/{Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch => Specta/Specta-prefix.pch} (52%) create mode 100644 Example/Pods/Target Support Files/Specta/Specta.xcconfig rename JazzHands/{IFTTTColorAnimation.h => IFTTTBackgroundColorAnimation.h} (74%) rename JazzHands/{IFTTTColorAnimation.m => IFTTTBackgroundColorAnimation.m} (86%) delete mode 100644 JazzHands/IFTTTLabelAnimation.h delete mode 100644 JazzHands/IFTTTLabelAnimation.m rename JazzHands/{IFTTTFillColorAnimation.h => IFTTTLayerFillColorAnimation.h} (74%) rename JazzHands/{IFTTTFillColorAnimation.m => IFTTTLayerFillColorAnimation.m} (87%) rename JazzHands/{IFTTTStrokeEndAnimation.h => IFTTTLayerStrokeEndAnimation.h} (75%) create mode 100644 JazzHands/IFTTTLayerStrokeEndAnimation.m rename JazzHands/{IFTTTStrokeStartAnimation.h => IFTTTLayerStrokeStartAnimation.h} (75%) create mode 100644 JazzHands/IFTTTLayerStrokeStartAnimation.m create mode 100644 JazzHands/IFTTTPathPositionAnimation.h create mode 100644 JazzHands/IFTTTPathPositionAnimation.m delete mode 100644 JazzHands/IFTTTStrokeEndAnimation.m delete mode 100644 JazzHands/IFTTTStrokeStartAnimation.m diff --git a/Example/Docs/jazzhands-demo.gif b/Example/Docs/jazzhands-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..89d12bca2400c953741457b4ac473473a2b722ba GIT binary patch literal 669460 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�Rxol~P=jS7NV>L$pG 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 z≶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 levpb7tc;>kLC@ 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�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

xVm@2PYpHLby)*nUmX323U*APY1d3 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 literal 0 HcmV?d00001 diff --git a/Example/Docs/jazzhands_banner.jpg b/Example/Docs/jazzhands_banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0e541019701988040e9fd2c230a0a55e8a2fe52 GIT binary patch literal 79404 zcmeEt2Ut~Cwm)i&F(w*YY_Y_yH*#(-(&qMF&+UrLE$6m#d%suEG&Qj?qDX>;SW#3+ zP%I#lSYt&|LB+11h#f@%mH+YLn9Tg=&CGlM_x|6T@0-o%Is2Zo_HVDX_S$=`z0S7% zT>I6yk9aIDE3Q-LPH`OMFRuMw+-DMt%kT18T<#ILcyt_@#uawC7x%h+^qL~B6Y}@w z-hORTlg00MPX+*|FJ5PK>7jUo%K?OSZU7UH2I3M^!fu@bhWsP+klE@?8u_5CV&n*` zF=?cVAVdq@bjV`mM7T@)->43dKjSbUpTTQ&`>ihLh}XC}y({2P8aeWHM{mm;xg74d9sNxO{s)cN zT!;DZH#7rQhZ*==&5ee)E!_dHJtmpa06=!g0Xh9XWZW>oTY(UM6Oo~qO!q=MzsoCk zx$Mau3g_DG0iWOd`soNdJ*MIjAIzN>BdUz(GiIZ?> zIR-r$jhlofO-7@ChtNUxR{(NLz@c~Qtae{)2;XWpHkMSo|1Y1u7UcC{*sZZKaqGN3 zNFH%RNh4*D&lT_*px?{<8yF(RYh_OkS&e>6GL}G$vGu!0zj5_{H?lxhv&ElG#Q)al z&7;59%H;AobpB+XgvtJ`-J6GhubtJQGegM$#RlN1R4E8+c``GVMm003AeF|YQW*eA zO7$t&mY|VMiR##t5SJkg2&q)O6t;_~C^R)zXjFv$bzxG+jtWx~sM6Psks_ti02H3e zfLX8}%d=D2^4Mdl3D8ry$V;=7Nuw&5G_!(5GsA3}RKuf(%xs$3EMQPwe0s>mj{!1h zR3U>Jdi_tzpyDM=Dp|~+3FR!BRL%^C^z5+DzzLI0Z~uju99qaAVo=c=3o%~Cq@4ABSzct5|lO z3KKS}?G%+3YjNuwexF`N2x@RLjL~VtLuxn4#KE9UI5E?r(Q&L?2j7a1h-@wt9VUQE zyBpFtv@t-B-pRv4P6FTN=BpfTqSfv31bki{G3b&}sa!;SE`ugT%tfkU(h-Buzt*jV z$)M4hpiseNDP$rG*Q^bjwaiEi(52^uSVE2r4~pn4CC_RIGNU|(jA6FuKt)7l)sO^q z8cqU=ARf~kHY(tdIVLjCre(3MM%c(w;K&|vG!!wrV}NLsBx>P-uwN)w5F|3YQKM42 z^=cLdQe$Lxt;6WjsoY*Y8xzoD|B?7HKorByQ>p9(tJdKT7@S(73HFF#w@&Bu@Eslx zG2-`nP(eV47#dNqO_ zk!@m)RlswJ90HbvC$N|qe6@k5Qv+170HD&H09B;+ga9JwGLfkcFFzPn2~b83!4feM zgfT#jgiQ6Q>)1KC+6{aR*=r; zsx>NsPieGzf4js0fBX5Lsxc%{2p~vRWFSNr!U$6lqgoULG-2IuG zof0LWqINZ!K#@QS2}&VHs{seqZ$ioW1T16+0xkd}Lx^ZtCtwq+0Sg=?Q;jTs9FjnQ*ZPe#mqzPiMtFpv#OS4X zwH<>Zf|(jRk7k1?6aqP9rclXbqTj>zVlhq;L+@n?!wjJ{z{V<^IxlSW1u$xDK*F&J z&2kOEG2pRgk|C<~p*0{=Cy8-rG!d~{oWU!_!sv*Z<-%i)Qpm2PiBUQehfSaw36LWy z7i!p2A~h(Hpp-C?00gZVM0ZpeAbPZjxF}GlHVH@_fEWoIAo4^qKx84?fUsO>;$wYk zu~(-M1PDqdOp(EEHl5}2OPGF#3lpG=1-y{WE=LEokk9TBsyTdb(B(jBY(902Lyd>T zQvcnHifwXGfQZ>o076tP7qLH>7|;QJISMZcp(r?<4+Gd>lTkp50Xm};CqL+p5+O2T zt1hPt5g|%d1p%JjK$3s}PGKUtPz17>gxIQ38v#NL2G2xtc_;)g%A!&@-8hF^<@fWD zb}>MjNW@`dacZrD4LY3`j+4v4`yqjh;4=r9Jdk5&+EqTk90}g!P7Tf=LYs+x8rNqg zi#;%b&jy7-H&>vxqfv6Uu7g8nn1bhm0&>`|#Ry~o-ySs)jUplo$0kcbxz&qifHb)e zuZ1jRVc2i7+ihXCLM}7fu^hJnGAY6qm=)$qaF9G410(@<9pEGZRDQq-@aR}%^gNJ` zfl`nGGKoY(xk+ART8ec7Kmkzf$b9CyaR46!NN|7>4G_304uV1~DPoJw?x>R-K@@KDVR3*^EJ5*tPALU8 z;k1C)710KN5m&QaU(mYJDlNi*i;fN2d5HNinD$9@IVm(qZN{jV`IXs(C z78Q7mG!GYVKx-oeMnLN{0uGMLhjEMOK30ScBg;2WC5{2wRWvqYUl1}cuu7O|*4un0 z2?ZHdJ=PKe%^I^DM}bdxrKsdKwOg&T8wg&+C{d^m9YO>W zHAwdRqduRU9M;(hZoNY7*AqdIM+5>Sh-ueE7-&A(jm6siK2Z$239FOKvqkJ1|k!YA83WGtD#cGxe z=E)En)9MLaGDhvid30J6=+N?{G8&)YiF7PqG__SFQE+fkrO`#?b8X=;OBsc%BqmAe z(ArqA$V|3EdXe6%FiQMvrQSodB3@o8;}cz=L=Vdx4vW<(AWG#VGbP5M#ExN0I23~` zOd(KJQeDt3BzwYAwU6oZnzS}h$=0A*Ml(ar5YS+&KnT)E4xvbGap-Jfo&=V%T%4wcj=6DTEqjyxn{8}t;S*y6A_Y$_F7rqwubN;Fq1 zCtHOsJJXCdS_uYT7#3LdbO7-I))3$}7Wp`NZnDNRC^9|r}o_Mkznk4OV*LJZJ_;j^tm8I~+_$h=0L z)nCbGq8P!dser`Qywc<^|(#bBj` zU4Yi6&`NnA*TMvt0N3PYFeD-q!Hq>`T*S$9!*&Om?E)hnH6La(WiA|-DU^3aUj#i> zfd}M{07jydM(_cq)vYFTOcW;+Mf(LF8O-#WX=J?wYtoU4QAJP@G)P1N3(6oTaM1yV z%xlMowJMme#@Jag4wXE&m*CT5kLkwe791$LgiO6OFM{P%moYANcrzEP$ z1cWmyBP_RvA`-3&B2fepHkKUJxh04ud>yfkP|mcl19~eROHdHWGBH`JbNU??n;Dit zA;i{E6q1eSH5lY7f`q~rx=kdQMaS9+kcx%1M|E-$%@A^Uz_3Vaw#7IMafvoQJ}Q)J zM65sr@6vL~LW@C;77*#=pqgbN;K&XYN$02X>~<8LWTokZY!xfu;vu=5)cEVawQIx-y-n=N@vKXG=UHlMw}*ugfk3eS@QrPn#4#Ekb^`BSq<3sunF>u zi89!zkg}zoD8v(oP$s!tM+$LKF+eAWV+#5JFBBxP0Et#AbU;QaQHIx;ol!A11aN{j zoLwJrdvFf9f~HgP6*iS6Ah4TFa;t)ZmDuo%po8c3izK2BJ9GumBq>Q2)~PrwA&El6 z2yjuUgb&$KDkIzBC(-1@sLbvr`Gcg0EaY~9GBlM$H42F~n%jlfFl7V^iQx5$(FTV% z#$m*&Kq*NK7so6?2>_83P!fZPlXCMN0KpTrBN3_^WfTzX6afH7un#TOf-yiYg`FNAj+@-Ry~0z$I1Ys6Xi#lC1&+oXD46_#8G66K(P5^fO@S&;k1jGpo<04 z)SfVvr1g;hOhtzrxM8n7`xq}i72^NQ0%clDh!Jn)#Lpl#LKv7 zgrGu45;>h(UeK*3a@2sGq(Xd*J>ZStghGLj#SliAy1B?3i}=%39sVayQ@`E@-82w@`t zJ}d&l0wKd^B5ENDj^h^qkdzYEn5bl8#7m@UK);fOR}wf5F^}rTo6%7{Naf-P60s)A z<)D$R1x;@Z>pLP?mY=WjT6uV_OzIHJKrcNg*Pz8htySt{hnzf{or>WyIZ>=ugi;6G zQ7I9La}%5CUOX? zvZ?T})5{a_{0yoa#q$^e4I>(n3^Wm_U7oSS08S{QO!09lK;9m|&(iJ667rA?p| zsAw7wpw&B~3II`yjV#3CN!&0dAlF9?L1dwV&>9TcgaKTjH!2{Q+5QNY9JWx{AdhbI zs$qIZ1dH)7{0^myBEWOG0g};#wPP(PolvU`!E^_}GXZ=#RuV;~7f<9jlcYd^XR>*m zJ~hBbQY$2@7eay~hdj!XaQO1rpb!mQnMNs*@|84?!~q&CSS^!5r;CFkKgk#Y#cr4p zVJXST+`?ke5j_yG-|B2(-DUmeB67Nt?FQp(UU2vPYad&DS5v2`%T zp$!8JiVJeuNT7~uMTvuCteWUhLvl&P;PeYRR&0SnWU|`~QX$9cb6M34p&P}F2&FVI z05FY+!nIDK+~*3zJgwL%Lz@r}CSe;G3@RfSg-vLaSIQxTP

gtzx)h94fs+Oi&vN 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 z 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°Nr)3kcTYf#N^MmaU| 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 literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo.xcodeproj/project.pbxproj b/Example/JazzHandsDemo.xcodeproj/project.pbxproj index b4c9611..76313d4 100644 --- a/Example/JazzHandsDemo.xcodeproj/project.pbxproj +++ b/Example/JazzHandsDemo.xcodeproj/project.pbxproj @@ -21,8 +21,10 @@ 445B9E227A691EC342AEEDE2 /* libPods-JazzHandsDemo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BB1EAF4CD1F4A61D2DBBB695 /* libPods-JazzHandsDemo.a */; }; 8A7331363E195DEE4B479A7E /* libPods-JazzHandsTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C9147A8A9689CEBCB4A91E3C /* libPods-JazzHandsTests.a */; }; E973270D1A58922500AD6E55 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E97327091A58922500AD6E55 /* InfoPlist.strings */; }; + FA486DBA1B3C92EB003A14B5 /* IFTTTCircleView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA486DB91B3C92EB003A14B5 /* IFTTTCircleView.m */; }; + FA486DBC1B3CBA54003A14B5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA486DBB1B3CBA54003A14B5 /* LaunchScreen.storyboard */; }; + FA486DBE1B3CBA7C003A14B5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA486DBD1B3CBA7C003A14B5 /* Main.storyboard */; }; FA5899DE1B3370CC008663B0 /* IFTTTFilmstripSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = FA5899DD1B3370CC008663B0 /* IFTTTFilmstripSpec.m */; }; - FA5899E11B3372C5008663B0 /* MyCustomAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = FA5899E01B3372C5008663B0 /* MyCustomAnimation.m */; }; FA5899E31B338313008663B0 /* IFTTTEasingFunctionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = FA5899E21B338313008663B0 /* IFTTTEasingFunctionSpec.m */; }; FA5899E51B338612008663B0 /* IFTTTAnimationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = FA5899E41B338612008663B0 /* IFTTTAnimationSpec.m */; }; FA5899E71B3391C7008663B0 /* IFTTTInterpolatableSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = FA5899E61B3391C7008663B0 /* IFTTTInterpolatableSpec.m */; }; @@ -64,9 +66,12 @@ E973270A1A58922500AD6E55 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; E973270B1A58922500AD6E55 /* JazzHandsTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "JazzHandsTests-Info.plist"; sourceTree = ""; }; F06E890A963B4A1A460670D4 /* Pods-JazzHandsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JazzHandsTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.release.xcconfig"; sourceTree = ""; }; + FA486DB81B3C92EB003A14B5 /* IFTTTCircleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IFTTTCircleView.h; sourceTree = ""; }; + FA486DB91B3C92EB003A14B5 /* IFTTTCircleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IFTTTCircleView.m; sourceTree = ""; }; + FA486DBB1B3CBA54003A14B5 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; + FA486DBD1B3CBA7C003A14B5 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + FA486DF11B3CE2DB003A14B5 /* JazzHandsDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = JazzHandsDemo.entitlements; sourceTree = ""; }; FA5899DD1B3370CC008663B0 /* IFTTTFilmstripSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IFTTTFilmstripSpec.m; sourceTree = ""; }; - FA5899DF1B3372C5008663B0 /* MyCustomAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyCustomAnimation.h; sourceTree = ""; }; - FA5899E01B3372C5008663B0 /* MyCustomAnimation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyCustomAnimation.m; sourceTree = ""; }; FA5899E21B338313008663B0 /* IFTTTEasingFunctionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IFTTTEasingFunctionSpec.m; sourceTree = ""; }; FA5899E41B338612008663B0 /* IFTTTAnimationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimationSpec.m; sourceTree = ""; }; FA5899E61B3391C7008663B0 /* IFTTTInterpolatableSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IFTTTInterpolatableSpec.m; sourceTree = ""; }; @@ -134,12 +139,13 @@ 03063ED417F5FAAD007D7A97 /* JazzHandsDemo */ = { isa = PBXGroup; children = ( + FA486DF11B3CE2DB003A14B5 /* JazzHandsDemo.entitlements */, 03063F1B17F5FC61007D7A97 /* IFTTTJazzHandsViewController.h */, 03063F1D17F5FC61007D7A97 /* IFTTTJazzHandsViewController.m */, 03063EDD17F5FAAD007D7A97 /* IFTTTJazzHandsAppDelegate.h */, 03063EDE17F5FAAD007D7A97 /* IFTTTJazzHandsAppDelegate.m */, - FA5899DF1B3372C5008663B0 /* MyCustomAnimation.h */, - FA5899E01B3372C5008663B0 /* MyCustomAnimation.m */, + FA486DB81B3C92EB003A14B5 /* IFTTTCircleView.h */, + FA486DB91B3C92EB003A14B5 /* IFTTTCircleView.m */, 03063EE017F5FAAD007D7A97 /* Images.xcassets */, 03063ED517F5FAAD007D7A97 /* Supporting Files */, ); @@ -153,6 +159,8 @@ 03063ED717F5FAAD007D7A97 /* InfoPlist.strings */, 03063EDA17F5FAAD007D7A97 /* main.m */, 03063EDC17F5FAAD007D7A97 /* JazzHandsDemo-Prefix.pch */, + FA486DBB1B3CBA54003A14B5 /* LaunchScreen.storyboard */, + FA486DBD1B3CBA7C003A14B5 /* Main.storyboard */, ); name = "Supporting Files"; sourceTree = ""; @@ -235,6 +243,14 @@ LastUpgradeCheck = 0510; ORGANIZATIONNAME = "IFTTT Inc"; TargetAttributes = { + 03063ECA17F5FAAD007D7A97 = { + DevelopmentTeam = C7G23YU5BK; + SystemCapabilities = { + com.apple.iCloud = { + enabled = 0; + }; + }; + }; 03063EE517F5FAAD007D7A97 = { TestTargetID = 03063ECA17F5FAAD007D7A97; }; @@ -263,8 +279,10 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + FA486DBC1B3CBA54003A14B5 /* LaunchScreen.storyboard in Resources */, 03063ED917F5FAAD007D7A97 /* InfoPlist.strings in Resources */, 03063EE117F5FAAD007D7A97 /* Images.xcassets in Resources */, + FA486DBE1B3CBA7C003A14B5 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -346,10 +364,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + FA486DBA1B3C92EB003A14B5 /* IFTTTCircleView.m in Sources */, 03063EDF17F5FAAD007D7A97 /* IFTTTJazzHandsAppDelegate.m in Sources */, 03063F1F17F5FC61007D7A97 /* IFTTTJazzHandsViewController.m in Sources */, 03063EDB17F5FAAD007D7A97 /* main.m in Sources */, - FA5899E11B3372C5008663B0 /* MyCustomAnimation.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -471,7 +489,6 @@ baseConfigurationReference = 45B9FCE6E3104AA817948180 /* Pods-JazzHandsDemo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; @@ -485,6 +502,8 @@ CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "JazzHandsDemo/JazzHandsDemo-Prefix.pch"; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; @@ -505,6 +524,7 @@ INFOPLIST_FILE = "JazzHandsDemo/JazzHandsDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; RUN_CLANG_STATIC_ANALYZER = YES; TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = ( @@ -522,7 +542,6 @@ baseConfigurationReference = 7CFD5D71B92DB9D0FBF83A2E /* Pods-JazzHandsDemo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; @@ -536,6 +555,8 @@ CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "JazzHandsDemo/JazzHandsDemo-Prefix.pch"; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; @@ -556,6 +577,7 @@ INFOPLIST_FILE = "JazzHandsDemo/JazzHandsDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; RUN_CLANG_STATIC_ANALYZER = YES; TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = ( diff --git a/Example/JazzHandsDemo.xcworkspace/xcshareddata/JazzHandsDemo.xccheckout b/Example/JazzHandsDemo.xcworkspace/xcshareddata/JazzHandsDemo.xccheckout index 9ab83ab..8026bad 100644 --- a/Example/JazzHandsDemo.xcworkspace/xcshareddata/JazzHandsDemo.xccheckout +++ b/Example/JazzHandsDemo.xcworkspace/xcshareddata/JazzHandsDemo.xccheckout @@ -5,7 +5,7 @@ IDESourceControlProjectFavoriteDictionaryKey IDESourceControlProjectIdentifier - 821C5AA7-4AB8-487B-96EA-F11FB77B9C97 + 100E20E1-EC30-43F7-8887-A6D2A8FF2E1E IDESourceControlProjectName JazzHandsDemo IDESourceControlProjectOriginsDictionary diff --git a/Example/JazzHandsDemo/IFTTTCircleView.h b/Example/JazzHandsDemo/IFTTTCircleView.h new file mode 100644 index 0000000..d4c8a3d --- /dev/null +++ b/Example/JazzHandsDemo/IFTTTCircleView.h @@ -0,0 +1,13 @@ +// +// IFTTTCircleView.h +// JazzHandsDemo +// +// Created by Laura Skelton on 6/25/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import + +@interface IFTTTCircleView : UIView + +@end diff --git a/Example/JazzHandsDemo/IFTTTCircleView.m b/Example/JazzHandsDemo/IFTTTCircleView.m new file mode 100644 index 0000000..8f1128e --- /dev/null +++ b/Example/JazzHandsDemo/IFTTTCircleView.m @@ -0,0 +1,35 @@ +// +// IFTTTCircleView.m +// JazzHandsDemo +// +// Created by Laura Skelton on 6/25/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import "IFTTTCircleView.h" + +@interface IFTTTCircleView () + +@property (nonatomic, strong) CAShapeLayer *maskLayer; + +@end + +@implementation IFTTTCircleView + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + if (!self.maskLayer) { + self.maskLayer = [CAShapeLayer layer]; + self.layer.mask = self.maskLayer; + } + + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:CGRectGetWidth(self.bounds) / 2.f]; + self.maskLayer.path = path.CGPath; + + self.layer.cornerRadius = CGRectGetWidth(self.layer.bounds) / 2.f; +} + + +@end diff --git a/Example/JazzHandsDemo/IFTTTJazzHandsAppDelegate.m b/Example/JazzHandsDemo/IFTTTJazzHandsAppDelegate.m index 9c447cc..1d2774a 100644 --- a/Example/JazzHandsDemo/IFTTTJazzHandsAppDelegate.m +++ b/Example/JazzHandsDemo/IFTTTJazzHandsAppDelegate.m @@ -14,12 +14,6 @@ @implementation IFTTTJazzHandsAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - self.window.rootViewController = [IFTTTJazzHandsViewController new]; - self.window.backgroundColor = [UIColor whiteColor]; - - [self.window makeKeyAndVisible]; - return YES; } diff --git a/Example/JazzHandsDemo/IFTTTJazzHandsViewController.m b/Example/JazzHandsDemo/IFTTTJazzHandsViewController.m index 5657041..30e16c2 100644 --- a/Example/JazzHandsDemo/IFTTTJazzHandsViewController.m +++ b/Example/JazzHandsDemo/IFTTTJazzHandsViewController.m @@ -7,244 +7,522 @@ // #import "IFTTTJazzHandsViewController.h" -#import "MyCustomAnimation.h" +#import +#import "IFTTTCircleView.h" @interface IFTTTJazzHandsViewController () -@property (nonatomic, strong) UIImageView *wordmark; -@property (nonatomic, strong) UIImageView *unicorn; -@property (nonatomic, strong) UILabel *firstLabel; -@property (nonatomic, strong) UILabel *secondLabel; -@property (nonatomic, strong) UILabel *thirdLabel; -@property (nonatomic, strong) UILabel *fourthLabel; +@property (nonatomic, strong) IFTTTCircleView *circle; +@property (nonatomic, strong) UIImageView *iftttPresents; +@property (nonatomic, strong) UIImageView *jazz; +@property (nonatomic, strong) UIImageView *hands; +@property (nonatomic, strong) UIImageView *blueStick; +@property (nonatomic, strong) UIImageView *orangeStick; + +@property (nonatomic, strong) UIImageView *musicStand; +@property (nonatomic, strong) UIImageView *musicNotes; +@property (nonatomic, strong) UIImageView *plane; +@property (nonatomic, strong) CAShapeLayer *planePathLayer; +@property (nonatomic, strong) UIView *planePathView; + +@property (nonatomic, strong) UIImageView *bigCloud; +@property (nonatomic, strong) UIImageView *littleCloud; +@property (nonatomic, strong) UIImageView *sun; +@property (nonatomic, strong) UIImageView *iftttCloud; + +@property (nonatomic, strong) UIImageView *page2Text; +@property (nonatomic, strong) UIImageView *page3Text; + +@property (nonatomic, strong) IFTTTPathPositionAnimation *airplaneFlyingAnimation; @end @implementation IFTTTJazzHandsViewController -- (instancetype)init +- (NSUInteger)numberOfPages { - if ((self = [super init])) { - self.numberOfPages = 4; - } - - return self; + // Tell the scroll view how many pages it should have + return 4; } -- (instancetype)initWithCoder:(NSCoder *)aDecoder +- (void)viewDidLoad { - if ((self = [super initWithCoder:aDecoder])) { - self.numberOfPages = 4; - } + [super viewDidLoad]; + [[UIApplication sharedApplication] setStatusBarHidden:YES]; + self.view.backgroundColor = [UIColor whiteColor]; - return self; + [self configureViews]; + [self configureAnimations]; } -- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +- (void)viewWillAppear:(BOOL)animated { - if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { - self.numberOfPages = 4; - } - - return self; + [super viewWillAppear:animated]; + [self scaleAirplanePathToSize:self.scrollView.frame.size]; } -- (void)viewDidLoad +#pragma mark - iOS8+ Resizing + +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator { - [super viewDidLoad]; - self.scrollView.accessibilityLabel = @"JazzHands"; - self.scrollView.accessibilityIdentifier = @"JazzHands"; + [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; - self.view.backgroundColor = [UIColor whiteColor]; + [coordinator animateAlongsideTransition:^(id context) { + [self scaleAirplanePathToSize:size]; + } completion:nil]; +} + +#pragma mark - iOS7 Orientation Change Resizing + +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ + CGSize newPageSize; - [self configureViews]; - [self configureAnimations]; + if ((UIInterfaceOrientationIsLandscape(self.interfaceOrientation) + && UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) + || (UIInterfaceOrientationIsPortrait(self.interfaceOrientation) + && UIInterfaceOrientationIsLandscape(toInterfaceOrientation))) { + + newPageSize = CGSizeMake(CGRectGetHeight(self.scrollView.frame), CGRectGetWidth(self.scrollView.frame)); + } else { + newPageSize = CGSizeMake(CGRectGetWidth(self.scrollView.frame), CGRectGetHeight(self.scrollView.frame)); + } + + [UIView animateWithDuration:duration animations:^{ + [self scaleAirplanePathToSize:newPageSize]; + } completion:nil]; } +#pragma mark - Configure Views and Animations + - (void)configureViews { - self.unicorn = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Unicorn"]]; - [self.contentView addSubview:self.unicorn]; - - self.wordmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IFTTT"]]; - [self.contentView addSubview:self.wordmark]; + self.circle = [IFTTTCircleView new]; + [self.contentView addSubview:self.circle]; + + self.iftttPresents = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IFTTTPresents"]]; + [self.contentView addSubview:self.iftttPresents]; + + self.blueStick = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BlueStick"]]; + [self.contentView addSubview:self.blueStick]; + + self.orangeStick = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"OrangeStick"]]; + [self.contentView addSubview:self.orangeStick]; + + self.jazz = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Jazz"]]; + [self.contentView addSubview:self.jazz]; + + self.hands = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Hands"]]; + [self.contentView addSubview:self.hands]; + + self.planePathView = [UIView new]; + [self.contentView addSubview:self.planePathView]; - self.firstLabel = [UILabel new]; - self.firstLabel.text = @"Introducing Jazz Hands"; - [self.firstLabel sizeToFit]; - [self.contentView addSubview:self.firstLabel]; + self.plane = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plane"]]; - self.secondLabel = [UILabel new]; - self.secondLabel.text = @"Brought to you by IFTTT"; - [self.secondLabel sizeToFit]; - [self.contentView addSubview:self.secondLabel]; + self.musicStand = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MusicStand"]]; + [self.contentView addSubview:self.musicStand]; - self.thirdLabel = [UILabel new]; - self.thirdLabel.text = @"Simple keyframe animations"; - [self.thirdLabel sizeToFit]; - [self.contentView addSubview:self.thirdLabel]; + self.musicNotes = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MusicNotes"]]; + [self.contentView addSubview:self.musicNotes]; - self.fourthLabel = [UILabel new]; - self.fourthLabel.text = @"Optimized for scrolling intros"; - [self.fourthLabel sizeToFit]; - [self.contentView addSubview:self.fourthLabel]; + self.sun = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Sun"]]; + [self.contentView addSubview:self.sun]; + + self.bigCloud = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BigCloud"]]; + [self.contentView addSubview:self.bigCloud]; + + self.littleCloud = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"LittleCloud"]]; + [self.contentView addSubview:self.littleCloud]; + + self.iftttCloud = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IFTTTCloud"]]; + [self.contentView addSubview:self.iftttCloud]; + + self.page2Text = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Page2Text"]]; + [self.contentView addSubview:self.page2Text]; + + self.page3Text = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Page3Text"]]; + [self.contentView addSubview:self.page3Text]; } - (void)configureAnimations { [self configureScrollViewAnimations]; - [self configureUnicornAnimations]; - [self configureWordmarkAnimations]; - [self configureLabelAnimations]; + [self configureIFTTTPresentsAnimations]; + [self configureCircleAnimations]; + [self configureJazzHandsLabelAnimations]; + [self configureStickAnimations]; + [self configureMusicStandAnimations]; + [self configureAirplaneAnimations]; + [self configureCloudAnimations]; + [self configureSunAnimations]; + [self configurePageTextAnimations]; [self animateCurrentFrame]; } - (void)configureScrollViewAnimations { - // change the scrollView's background color for each page - IFTTTColorAnimation *backgroundColorAnimation = [IFTTTColorAnimation animationWithView:self.scrollView]; - [backgroundColorAnimation addKeyframeForTime:0 color:[[UIColor blueColor] colorWithAlphaComponent:0.4f]]; - [backgroundColorAnimation addKeyframeForTime:1 color:[[UIColor cyanColor] colorWithAlphaComponent:0.4f]]; - [backgroundColorAnimation addKeyframeForTime:2 color:[[UIColor greenColor] colorWithAlphaComponent:0.4f]]; - [backgroundColorAnimation addKeyframeForTime:3 color:[[UIColor yellowColor] colorWithAlphaComponent:0.4f]]; + // change the scrollView's background color from dark gray to blue just after page 1 + IFTTTBackgroundColorAnimation *backgroundColorAnimation = [IFTTTBackgroundColorAnimation animationWithView:self.scrollView]; + [backgroundColorAnimation addKeyframeForTime:1 color:[UIColor colorWithRed:0.2f green:0.2f blue:0.2f alpha:1.f]]; + [backgroundColorAnimation addKeyframeForTime:1.1 color:[UIColor colorWithRed:0.14f green:0.8f blue:1.f alpha:1.f]]; [self.animator addAnimation:backgroundColorAnimation]; } -- (void)configureUnicornAnimations -{ - // now, we animate the unicorn - // keep the unicorn centered when we're on pages 1 and 2. - // It will slide from the right between pages 0 and 1, and slide out to the left between pages 2 and 3. - [self keepView:self.unicorn onPages:@[ @(1), @(2) ]]; - - NSLayoutConstraint *unicornCenterYConstraint = [NSLayoutConstraint constraintWithItem:self.unicorn - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.contentView - attribute:NSLayoutAttributeCenterY - multiplier:1.f constant:0.f]; - [self.contentView addConstraint:unicornCenterYConstraint]; - - // Move the unicorn from a bit higher than center on page 1 to a bit lower on page 2, by an amount relative to the height of the view. - IFTTTConstraintMultiplierAnimation *unicornCenterYAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView - constraint:unicornCenterYConstraint - attribute:IFTTTLayoutAttributeHeight - referenceView:self.contentView]; - [unicornCenterYAnimation addKeyframeForTime:1 multiplier:-0.1f withEasingFunction:IFTTTEasingFunctionEaseOutQuad]; - [unicornCenterYAnimation addKeyframeForTime:2 multiplier:0.2f]; - [self.animator addAnimation:unicornCenterYAnimation]; - - // Scale down the unicorn by 75% between pages 1 and 2 - IFTTTScaleAnimation *unicornScaleAnimation = [IFTTTScaleAnimation animationWithView:self.unicorn]; - [unicornScaleAnimation addKeyframeForTime:1 scale:1.f]; - [unicornScaleAnimation addKeyframeForTime:2 scale:0.75f]; - [self.animator addAnimation:unicornScaleAnimation]; - - // fade the unicorn in on page 1 and out on page 3 - IFTTTAlphaAnimation *unicornAlphaAnimation = [IFTTTAlphaAnimation animationWithView:self.unicorn]; - [unicornAlphaAnimation addKeyframeForTime:0 alpha:0.f]; - [unicornAlphaAnimation addKeyframeForTime:1 alpha:1.f]; - [unicornAlphaAnimation addKeyframeForTime:2 alpha:1.f]; - [unicornAlphaAnimation addKeyframeForTime:3 alpha:0.f]; - [self.animator addAnimation:unicornAlphaAnimation]; -} - -- (void)configureWordmarkAnimations -{ - // let's animate the wordmark - // keep the wordmark centered on pages 1 and 2, slide it in fast from the right between page 0 and 1, and slide it out fast to the left between pages 2 and 3. - [self keepView:self.wordmark - onPages:@[ @(2), @(1), @(2), @(1) ] - atTimes:@[ @(0), @(1), @(2), @(3) ]]; - - // keep the wordmark vertically centered on top of the unicorn - [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.wordmark - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.unicorn - attribute:NSLayoutAttributeCenterY - multiplier:1.f constant:0.f]]; - - // Rotate the wordmark a full circle from page 1 to 2 - IFTTTRotationAnimation *wordmarkRotationAnimation = [IFTTTRotationAnimation animationWithView:self.wordmark]; - [wordmarkRotationAnimation addKeyframeForTime:1 rotation:0.f]; - [wordmarkRotationAnimation addKeyframeForTime:2 rotation:360.f]; - [self.animator addAnimation:wordmarkRotationAnimation]; - - // Scale down the wordmark by 75% between pages 1 and 2 - IFTTTScaleAnimation *wordmarkScaleAnimation = [IFTTTScaleAnimation animationWithView:self.wordmark]; - [wordmarkScaleAnimation addKeyframeForTime:1 scale:1.f]; - [wordmarkScaleAnimation addKeyframeForTime:2 scale:0.75f]; - [self.animator addAnimation:wordmarkScaleAnimation]; -} - -- (void)configureLabelAnimations -{ - // lay out labels' vertical positions - [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.firstLabel - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.contentView - attribute:NSLayoutAttributeCenterY - multiplier:1.f constant:0.f]]; - [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.secondLabel - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.contentView - attribute:NSLayoutAttributeCenterY - multiplier:1.5f constant:0.f]]; - [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.thirdLabel - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.contentView - attribute:NSLayoutAttributeCenterY - multiplier:0.5f constant:0.f]]; - [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.fourthLabel - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:self.contentView - attribute:NSLayoutAttributeCenterY - multiplier:1.f constant:0.f]]; - - // lay out the labels' horizontal positions (centered on each page) - [self keepView:self.firstLabel onPage:0]; - [self keepView:self.secondLabel onPage:1]; - [self keepView:self.thirdLabel onPage:2]; - [self keepView:self.fourthLabel onPage:3]; - - // apply a 3D zoom animation to the first label - IFTTTTransform3DAnimation * labelTransform = [IFTTTTransform3DAnimation animationWithView:self.firstLabel]; - IFTTTTransform3D *tt1 = [IFTTTTransform3D transformWithM34:0.03f]; - IFTTTTransform3D *tt2 = [IFTTTTransform3D transformWithM34:0.3f]; - tt2.rotate = (IFTTTTransform3DRotate){ -(CGFloat)(M_PI), 1, 0, 0 }; - tt2.translate = (IFTTTTransform3DTranslate){ 0, 0, 50 }; - tt2.scale = (IFTTTTransform3DScale){ 1.f, 2.f, 1.f }; - [labelTransform addKeyframeForTime:0 transform:tt1]; - [labelTransform addKeyframeForTime:0.5f transform:tt2]; - [self.animator addAnimation:labelTransform]; - - // fade out the first label - IFTTTAlphaAnimation *firstLabelAlphaAnimation = [IFTTTAlphaAnimation animationWithView:self.firstLabel]; - [firstLabelAlphaAnimation addKeyframeForTime:0 alpha:1.f]; - [firstLabelAlphaAnimation addKeyframeForTime:0.35f alpha:0.f]; - [self.animator addAnimation:firstLabelAlphaAnimation]; - - // custom animate the third label - MyCustomAnimation *thirdLabelAnimation = [MyCustomAnimation animationWithView:self.thirdLabel]; - [thirdLabelAnimation addKeyframeForTime:1.5f shadowOpacity:0.f]; - [thirdLabelAnimation addKeyframeForTime:2 shadowOpacity:1.f]; - [thirdLabelAnimation addKeyframeForTime:2.5f shadowOpacity:0.f]; - [self.animator addAnimation:thirdLabelAnimation]; - - self.thirdLabel.layer.shadowColor = [UIColor darkGrayColor].CGColor; - self.thirdLabel.layer.shadowRadius = 1.f; - self.thirdLabel.layer.shadowOffset = CGSizeMake(1.f, 1.f); - - // Fade out the last label by dragging on the last page - IFTTTAlphaAnimation *lastLabelAlphaAnimation = [IFTTTAlphaAnimation animationWithView:self.fourthLabel]; - [lastLabelAlphaAnimation addKeyframeForTime:3 alpha:1.f]; - [lastLabelAlphaAnimation addKeyframeForTime:3.35f alpha:0.f]; - [self.animator addAnimation:lastLabelAlphaAnimation]; +- (void)configureIFTTTPresentsAnimations +{ + // Keep IFTTTPresents centered at the top of pages 0 and 1 + [self keepView:self.iftttPresents onPages:@[@(0), @(-1)] atTimes:@[@(0), @(1)]]; + [self.iftttPresents mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.contentView).offset(20); + }]; +} + +- (void)configureCircleAnimations +{ + // lay out the circle with autolayout (no x-position constraint since we are using the keepView:onPage: method) + [self.circle mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.lessThanOrEqualTo(self.scrollView); + make.width.equalTo(self.scrollView).multipliedBy(0.9).with.priorityHigh(); + make.top.greaterThanOrEqualTo(self.scrollView).offset(60); + make.height.equalTo(self.circle.mas_width); + make.centerY.equalTo(self.contentView).multipliedBy(0.8); + }]; + + // keep the circle centered on pages 0 and 1 + [self keepView:self.circle onPages:@[@(0), @(1)]]; + + // change the circle's color from gray to blue between pages 0 and 1 + IFTTTBackgroundColorAnimation *circleColorAnimation = [IFTTTBackgroundColorAnimation animationWithView:self.circle]; + [circleColorAnimation addKeyframeForTime:0 color:[UIColor colorWithRed:0.4f green:0.4f blue:0.4f alpha:1.f]]; + [circleColorAnimation addKeyframeForTime:1 color:[UIColor colorWithRed:0.14f green:0.8f blue:1.f alpha:1.f]]; + [self.animator addAnimation:circleColorAnimation]; + + // grow the circle into the background between pages 0 and 1 + IFTTTScaleAnimation *circleScaleAnimation = [IFTTTScaleAnimation animationWithView:self.circle]; + [circleScaleAnimation addKeyframeForTime:0 scale:1 withEasingFunction:IFTTTEasingFunctionEaseInQuad]; + [circleScaleAnimation addKeyframeForTime:1 scale:6]; + [self.animator addAnimation:circleScaleAnimation]; + + // hide the circle after page 1 (instead the background color will show) + IFTTTHideAnimation *circleHideAnimation = [IFTTTHideAnimation animationWithView:self.circle hideAt:1.15]; + [self.animator addAnimation:circleHideAnimation]; +} + +- (void)configureJazzHandsLabelAnimations +{ + // lay out jazz and hands with autolayout (no x-position or y-position constraint since we are animating those separately) + [self.jazz mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.equalTo(self.circle).multipliedBy(0.89); + make.height.equalTo(self.jazz.mas_width).multipliedBy(186.f/607.f); + }]; + + [self.hands mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.equalTo(self.jazz).multipliedBy(550.f / 607.f); + make.height.equalTo(self.hands.mas_width).multipliedBy(244.f/550.f); + }]; + + NSLayoutConstraint *jazzVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.jazz + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.circle + attribute:NSLayoutAttributeCenterY + multiplier:1.f constant:0.f]; + NSLayoutConstraint *handsVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.hands + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.circle + attribute:NSLayoutAttributeCenterY + multiplier:1.f constant:0.f]; + + [self.contentView addConstraint:jazzVerticalConstraint]; + [self.contentView addConstraint:handsVerticalConstraint]; + + // move JAZZ up between pages 0 and 1 + IFTTTConstraintMultiplierAnimation *jazzVerticalAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView + constraint:jazzVerticalConstraint + attribute:IFTTTLayoutAttributeHeight + referenceView:self.circle]; + [jazzVerticalAnimation addKeyframeForTime:0 multiplier:-0.14f]; + [jazzVerticalAnimation addKeyframeForTime:1 multiplier:-0.64f]; + [self.animator addAnimation:jazzVerticalAnimation]; + + // move HANDS down between pages 0 and 1 + IFTTTConstraintMultiplierAnimation *handsVerticalAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView + constraint:handsVerticalConstraint + attribute:IFTTTLayoutAttributeHeight + referenceView:self.circle]; + [handsVerticalAnimation addKeyframeForTime:0 multiplier:0.2f]; + [handsVerticalAnimation addKeyframeForTime:1 multiplier:0.72f]; + [self.animator addAnimation:handsVerticalAnimation]; + + // keep JAZZ on page 0, a little to the right + [self keepView:self.jazz onPages:@[@(0)] atTimes:@[@(0)]]; + + // keep HANDS centered on page 0 + [self keepView:self.hands onPages:@[@(0)] atTimes:@[@(0)]]; + + // Rotate Jazz 100 degrees counterclockwise between pages 0 and 1 + IFTTTRotationAnimation *jazzRotationAnimation = [IFTTTRotationAnimation animationWithView:self.jazz]; + [jazzRotationAnimation addKeyframeForTime:0 rotation:0]; + [jazzRotationAnimation addKeyframeForTime:1 rotation:100]; + [self.animator addAnimation:jazzRotationAnimation]; + + // Rotate Hands 100 degrees clockwise between pages 0 and 1 + IFTTTRotationAnimation *handsRotationAnimation = [IFTTTRotationAnimation animationWithView:self.hands]; + [handsRotationAnimation addKeyframeForTime:0 rotation:0]; + [handsRotationAnimation addKeyframeForTime:1 rotation:-100]; + [self.animator addAnimation:handsRotationAnimation]; +} + +- (void)configureStickAnimations +{ + // lay out sticks with autolayout (no x-position or y-position constraint since we are animating those separately) + [self.blueStick mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.equalTo(self.scrollView).multipliedBy(0.75); + make.width.equalTo(self.blueStick.mas_height).multipliedBy(466.f/1002.f); + }]; + + [self.orangeStick mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.equalTo(self.scrollView).multipliedBy(0.65); + make.width.equalTo(self.orangeStick.mas_height).multipliedBy(234.f/866.f); + make.centerY.equalTo(self.contentView).multipliedBy(1.1); + }]; + + // Keep the orange stick centered horizontally on page 0 + [self keepView:self.orangeStick onPage:0]; + + NSLayoutConstraint *blueStickVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.blueStick + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.contentView + attribute:NSLayoutAttributeTop + multiplier:1.f constant:0.f]; + + [self.contentView addConstraint:blueStickVerticalConstraint]; + + // Keep the blue stick centered horizontally on pages 0 and 1 + [self keepView:self.blueStick onPages:@[@(0), @(1)]]; + + // Animate the blue stick moving down off the screen between pages 0 and 1 + IFTTTConstraintMultiplierAnimation *blueStickVerticalAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView + constraint:blueStickVerticalConstraint + attribute:IFTTTLayoutAttributeCenterY + referenceView:self.contentView]; + [blueStickVerticalAnimation addKeyframeForTime:0 multiplier:1.1f]; + [blueStickVerticalAnimation addKeyframeForTime:1 multiplier:3.1f]; + [self.animator addAnimation:blueStickVerticalAnimation]; +} + +- (void)configureMusicStandAnimations +{ + // Keep the music stand aligned with the right edge of pages 1 and 2 (this takes care of the x-position autolayout constraint) + [self keepView:self.musicStand onPages:@[@(1), @(2)] withAttribute:IFTTTHorizontalPositionAttributeRight]; + + // Lay out the music stand using Autolayout (no x-position or y-position constraint since we are animating those separately) + [self.musicStand mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.lessThanOrEqualTo(self.scrollView); + make.height.equalTo(self.musicStand.mas_width).multipliedBy(1184.f/750.f); + make.height.lessThanOrEqualTo(self.scrollView).offset(-40); + }]; + + // Animate the music stand moving down off the screen between pages 1 and 2 + NSLayoutConstraint *musicStandVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.musicStand + attribute:NSLayoutAttributeBottom + relatedBy:NSLayoutRelationEqual + toItem:self.contentView + attribute:NSLayoutAttributeBottom + multiplier:1.f constant:0.f]; + + [self.contentView addConstraint:musicStandVerticalConstraint]; + + IFTTTConstraintMultiplierAnimation *musicStandVerticalAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView + constraint:musicStandVerticalConstraint + attribute:IFTTTLayoutAttributeHeight + referenceView:self.contentView]; + [musicStandVerticalAnimation addKeyframeForTime:1 multiplier:0.f withEasingFunction:IFTTTEasingFunctionEaseOutCubic]; + [musicStandVerticalAnimation addKeyframeForTime:2 multiplier:1.f]; + [self.animator addAnimation:musicStandVerticalAnimation]; + + // Layout the music notes using Autolayout (no x-position constraint since we are using keepView:onPages: to set the horizontal position) + [self.musicNotes mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.and.height.and.width.equalTo(self.musicStand); + }]; + + // zoom the music notes over from the right between pages 0 and 1, then keep the music notes image aligned with the right edge of pages 1 and 2 + [self keepView:self.musicNotes onPages:@[@(2), @(1), @(2)] atTimes:@[@(0.5), @(1), @(2)] withAttribute:IFTTTHorizontalPositionAttributeRight]; +} + +- (void)configurePageTextAnimations +{ + // Use Autolayout to set the vertical position of the text (it has an inherent size) + [self.page2Text mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(self.contentView).multipliedBy(0.95); + }]; + + // Set the horizontal position to keep the text centered on page 2 + [self keepView:self.page2Text onPage:2]; + + // Use Autolayout to set the vertical position of the text (it has an inherent size) + [self.page3Text mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(self.contentView); + }]; + + // Set the horizontal position to keep the text centered on page 3 + [self keepView:self.page3Text onPage:3]; +} + +- (void)configureCloudAnimations +{ + // lay out big cloud with autolayout (no x-position or y-position constraint since we are animating those separately) + [self.bigCloud mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.lessThanOrEqualTo(self.scrollView).multipliedBy(0.78); + make.height.lessThanOrEqualTo(self.scrollView).multipliedBy(0.2); + make.height.equalTo(self.bigCloud.mas_width).multipliedBy(0.45); + }]; + + // keep the big cloud a bit to the righthand side of pages 1 and 2, then zoom it off to the left between pages 2 and 3 + [self keepView:self.bigCloud onPages:@[@(1.35), @(2.35), @(1.8)] atTimes:@[@(1), @(2), @(3)]]; + + // Move the big cloud down from above the screen on page 1 to near the top of the screen on page 2 + NSLayoutConstraint *bigCloudVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.bigCloud + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.contentView + attribute:NSLayoutAttributeTop + multiplier:1.f constant:0.f]; + + [self.contentView addConstraint:bigCloudVerticalConstraint]; + + IFTTTConstraintMultiplierAnimation *bigCloudVerticalAnimation = [IFTTTConstraintMultiplierAnimation animationWithSuperview:self.contentView + constraint:bigCloudVerticalConstraint + attribute:IFTTTLayoutAttributeHeight + referenceView:self.contentView]; + [bigCloudVerticalAnimation addKeyframeForTime:1 multiplier:-0.2f]; + [bigCloudVerticalAnimation addKeyframeForTime:2 multiplier:0.2f]; + [self.animator addAnimation:bigCloudVerticalAnimation]; + + // Layout the little cloud using Autolayout (the x-position is set by keepView:onPages:atTimes:) + [self.littleCloud mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.bigCloud.mas_top).offset(20); + make.width.equalTo(self.bigCloud.mas_height); + make.height.equalTo(self.littleCloud.mas_width).multipliedBy(0.5); + }]; + + // Keep the little cloud a bit to the left of pages 1 and 2 + [self keepView:self.littleCloud onPages:@[@(0.75), @(1.75)] atTimes:@[@(1), @(2)]]; + + // Layout the vertical position of the IFTTT cloud using Autolayout (it has an inherent size) + [self.iftttCloud mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(self.contentView).multipliedBy(1.5); + }]; + + // Zoom in the IFTTT cloud from the right between pages 2 and 3 + [self keepView:self.iftttCloud onPages:@[@(3.5), @(3)] atTimes:@[@(2), @(3)]]; +} + +- (void)configureSunAnimations +{ + // Move the sun from the right side of page 2.5 to the left side of page 3 + [self keepView:self.sun onPages:@[@(2.8), @(2.6)] atTimes:@[@(2.5), @(3)]]; + + // Animate the sun moving down from above the screen to near the top of the screen bewteen pages 2.5 and 3 + NSLayoutConstraint *sunVerticalConstraint = [NSLayoutConstraint constraintWithItem:self.sun + attribute:NSLayoutAttributeCenterY + relatedBy:NSLayoutRelationEqual + toItem:self.contentView + attribute:NSLayoutAttributeTop + multiplier:1.f constant:0.f]; + + [self.contentView addConstraint:sunVerticalConstraint]; + + IFTTTConstraintConstantAnimation *sunVerticalAnimation = [IFTTTConstraintConstantAnimation animationWithSuperview:self.contentView + constraint:sunVerticalConstraint]; + [sunVerticalAnimation addKeyframeForTime:2 constant:-200.f]; + [sunVerticalAnimation addKeyframeForTime:3 constant:20.f]; + [self.animator addAnimation:sunVerticalAnimation]; +} + +- (void)configureAirplaneAnimations +{ + // Set up the view that contains the airplane view and its dashed line path view + self.planePathLayer = [self airplanePathLayer]; + [self.planePathView.layer addSublayer:self.planePathLayer]; + + [self.planePathView addSubview:self.plane]; + [self.plane mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.planePathView.mas_centerY); + make.right.equalTo(self.planePathView.mas_centerX); + }]; + + [self.planePathView mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.scrollView).offset(55); + make.width.and.height.equalTo(self.plane); + }]; + + // Keep the left edge of the planePathView at the center of pages 1 and 2 + [self keepView:self.planePathView onPages:@[@(1.5), @(2.5)] atTimes:@[@(1), @(2)] withAttribute:IFTTTHorizontalPositionAttributeLeft]; + + // Fly the plane along the path + self.airplaneFlyingAnimation = [IFTTTPathPositionAnimation animationWithView:self.plane path:self.planePathLayer.path]; + [self.airplaneFlyingAnimation addKeyframeForTime:1 animationProgress:0]; + [self.airplaneFlyingAnimation addKeyframeForTime:2 animationProgress:1]; + [self.animator addAnimation:self.airplaneFlyingAnimation]; + + // Change the stroke end of the dashed line airplane path to match the plane's current position + IFTTTLayerStrokeEndAnimation *planePathAnimation = [IFTTTLayerStrokeEndAnimation animationWithLayer:self.planePathLayer]; + [planePathAnimation addKeyframeForTime:1 strokeEnd:0]; + [planePathAnimation addKeyframeForTime:2 strokeEnd:1]; + [self.animator addAnimation:planePathAnimation]; + + // Fade the plane path view in after page 1 and fade it out again after page 2.5 + IFTTTAlphaAnimation *planeAlphaAnimation = [IFTTTAlphaAnimation animationWithView:self.planePathView]; + [planeAlphaAnimation addKeyframeForTime:1.06f alpha:0]; + [planeAlphaAnimation addKeyframeForTime:1.08f alpha:1]; + [planeAlphaAnimation addKeyframeForTime:2.5f alpha:1]; + [planeAlphaAnimation addKeyframeForTime:3.f alpha:0]; + [self.animator addAnimation:planeAlphaAnimation]; +} + +- (CGPathRef)airplanePath +{ + // Create a bezier path for the airplane to fly along + UIBezierPath *airplanePath = [UIBezierPath bezierPath]; + [airplanePath moveToPoint: CGPointMake(120, 20)]; + [airplanePath addCurveToPoint: CGPointMake(40, -130) controlPoint1: CGPointMake(120, 20) controlPoint2: CGPointMake(140, -50)]; + [airplanePath addCurveToPoint: CGPointMake(30, -430) controlPoint1: CGPointMake(-60, -210) controlPoint2: CGPointMake(-320, -430)]; + [airplanePath addCurveToPoint: CGPointMake(-210, -190) controlPoint1: CGPointMake(320, -430) controlPoint2: CGPointMake(130, -190)]; + + return airplanePath.CGPath; +} + +- (CAShapeLayer *)airplanePathLayer +{ + // Create a shape layer to draw the airplane's path + CAShapeLayer *shapeLayer = [CAShapeLayer layer]; + shapeLayer.path = [self airplanePath]; + shapeLayer.fillColor = nil; + shapeLayer.strokeColor = [UIColor whiteColor].CGColor; + shapeLayer.lineDashPattern = @[@(20), @(20)]; + shapeLayer.lineWidth = 4; + shapeLayer.miterLimit = 4; + shapeLayer.fillRule = kCAFillRuleEvenOdd; + + return shapeLayer; +} + +- (void)scaleAirplanePathToSize:(CGSize)pageSize +{ + // Scale the airplane path to the given page size + CGSize scaleSize = CGSizeMake(pageSize.width / 375.f, pageSize.height / 667.f); + + CGAffineTransform scaleTransform = CGAffineTransformMakeScale(scaleSize.width, scaleSize.height); + + CGPathRef scaledPath = CGPathCreateCopyByTransformingPath(self.airplanePath, &scaleTransform); + + self.planePathLayer.path = scaledPath; + self.airplaneFlyingAnimation.path = scaledPath; + CGPathRelease(scaledPath); } @end diff --git a/Example/JazzHandsDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/AppIcon.appiconset/Contents.json index a396706..33ec0bc 100644 --- a/Example/JazzHandsDemo/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/JazzHandsDemo/Images.xcassets/AppIcon.appiconset/Contents.json @@ -14,6 +14,11 @@ "idiom" : "iphone", "size" : "60x60", "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" } ], "info" : { diff --git a/Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/BigCloud.png b/Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/BigCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd99363ba8ab416a818f135921e03864e7ee424 GIT binary patch literal 11072 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 D13s^X literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/Contents.json new file mode 100644 index 0000000..d0213bd --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/BigCloud.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "BigCloud.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/BlueStick.png b/Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/BlueStick.png new file mode 100644 index 0000000000000000000000000000000000000000..66c531f4f52b3afeaded0a275717cd59d61d5a48 GIT binary patch literal 31318 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%0D%;CnpNMe3MTOoUJXZ@}e@ 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 literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/Contents.json new file mode 100644 index 0000000..3d9ced4 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/BlueStick.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "BlueStick.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/Hands.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Hands.imageset/Contents.json new file mode 100644 index 0000000..3bc6648 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/Hands.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "hands.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/Hands.imageset/hands.png b/Example/JazzHandsDemo/Images.xcassets/Hands.imageset/hands.png new file mode 100644 index 0000000000000000000000000000000000000000..ff896963c9c5674ba50aadfd0235b9b910b6db0a GIT binary patch literal 17563 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 P0wg9ZEmSR_>;HcMK%kbD literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT.png b/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT.png deleted file mode 100644 index 1d71b144279d6fb1bab107a9a7f9638f550c3fe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53780 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 diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT@2x.png b/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/IFTTT@2x.png deleted file mode 100644 index 39f3ebc3c5db41faa7f6f17d65a0478dd8c720f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53822 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 bE!L8|vgghRXjOh&4|Mj7DYR1W(v^P!6-Y5r diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/Contents.json new file mode 100644 index 0000000..3eb1a56 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "IFTTTCloud.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/IFTTTCloud.png b/Example/JazzHandsDemo/Images.xcassets/IFTTTCloud.imageset/IFTTTCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ea2f51b6721ce353905ff48673d40a1d6fe79b GIT binary patch literal 5327 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 literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/Contents.json new file mode 100644 index 0000000..0e9cc68 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "iftttpresents.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/iftttpresents.png b/Example/JazzHandsDemo/Images.xcassets/IFTTTPresents.imageset/iftttpresents.png new file mode 100644 index 0000000000000000000000000000000000000000..c71a11bbeec6016f048d71b79fa871210b164e7a GIT binary patch literal 3559 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 PMtud9R+OrgGz|J5VE+T4 literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/JazzHandsDemo/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index c79ebd3..0000000 --- a/Example/JazzHandsDemo/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "subtype" : "retina4", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/Contents.json new file mode 100644 index 0000000..1619f2a --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "littleCloud.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/littleCloud.png b/Example/JazzHandsDemo/Images.xcassets/LittleCloud.imageset/littleCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..51de8023651c1cccfa3f09513871946c658d972b GIT binary patch literal 4569 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 literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/Contents.json new file mode 100644 index 0000000..9d776a4 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "MusicStand.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/MusicStand.png b/Example/JazzHandsDemo/Images.xcassets/MusicStand.imageset/MusicStand.png new file mode 100644 index 0000000000000000000000000000000000000000..0161e10e52fec762e52c2adf186740f0e4321b54 GIT binary patch literal 48948 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 b_$KxC@Ba4W&CZT9;Ais&tM$3-+-Uy~4QZm$ literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/Contents.json new file mode 100644 index 0000000..a6e20ad --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "OrangeStick.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/OrangeStick.png b/Example/JazzHandsDemo/Images.xcassets/OrangeStick.imageset/OrangeStick.png new file mode 100644 index 0000000000000000000000000000000000000000..a039dc2238160c1ce3d6e82a3c70e1793e739c6e GIT binary patch literal 17051 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 B@umO( literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/Contents.json new file mode 100644 index 0000000..2e76b91 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "text2.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/text2.png b/Example/JazzHandsDemo/Images.xcassets/Page2Text.imageset/text2.png new file mode 100644 index 0000000000000000000000000000000000000000..25229846e5a0d1e4425a41f745f1a1b20d89084b GIT binary patch literal 7195 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 UC7?$Br+o-Bu#_=2M3o5lmGw# literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/Contents.json new file mode 100644 index 0000000..0861120 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "text3.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/text3.png b/Example/JazzHandsDemo/Images.xcassets/Page3Text.imageset/text3.png new file mode 100644 index 0000000000000000000000000000000000000000..0531a279d0f67063a40b5e7badc02c6b4ed6eafe GIT binary patch literal 4561 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 X9sb7OU0E%@`=3A1_3vML<=g)c_M!0Y literal 0 HcmV?d00001 diff --git a/Example/JazzHandsDemo/Images.xcassets/Plane.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Plane.imageset/Contents.json new file mode 100644 index 0000000..b72def8 --- /dev/null +++ b/Example/JazzHandsDemo/Images.xcassets/Plane.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Airplane.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Contents.json similarity index 54% rename from Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/Contents.json rename to Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Contents.json index 2620cf8..55128b0 100644 --- a/Example/JazzHandsDemo/Images.xcassets/IFTTT.imageset/Contents.json +++ b/Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Contents.json @@ -2,13 +2,16 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "IFTTT.png" + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "IFTTT@2x.png" + "filename" : "Sun.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Sun.png b/Example/JazzHandsDemo/Images.xcassets/Sun.imageset/Sun.png new file mode 100644 index 0000000000000000000000000000000000000000..6b56d4893707661a41a2dac6db6e03d5248d7fc1 GIT binary patch literal 37708 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

-f56eP?Qq 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

hkI5HV7R8 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.0 LSRequiresIPhoneOS + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main UIRequiredDeviceCapabilities armv7 @@ -34,5 +38,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIViewControllerBasedStatusBarAppearance + diff --git a/Example/JazzHandsDemo/JazzHandsDemo.entitlements b/Example/JazzHandsDemo/JazzHandsDemo.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/Example/JazzHandsDemo/JazzHandsDemo.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/Example/JazzHandsDemo/LaunchScreen.storyboard b/Example/JazzHandsDemo/LaunchScreen.storyboard new file mode 100644 index 0000000..673e0f7 --- /dev/null +++ b/Example/JazzHandsDemo/LaunchScreen.storyboard @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Example/JazzHandsDemo/Main.storyboard b/Example/JazzHandsDemo/Main.storyboard new file mode 100644 index 0000000..29e0328 --- /dev/null +++ b/Example/JazzHandsDemo/Main.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/JazzHandsDemo/MyCustomAnimation.h b/Example/JazzHandsDemo/MyCustomAnimation.h deleted file mode 100644 index e2de532..0000000 --- a/Example/JazzHandsDemo/MyCustomAnimation.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// MyCustomAnimation.h -// JazzHandsDemo -// -// Created by Laura Skelton on 6/18/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "IFTTTViewAnimation.h" - -@interface MyCustomAnimation : IFTTTViewAnimation - -- (void)addKeyframeForTime:(CGFloat)time shadowOpacity:(CGFloat)shadowOpacity; - -@end diff --git a/Example/JazzHandsDemo/MyCustomAnimation.m b/Example/JazzHandsDemo/MyCustomAnimation.m deleted file mode 100644 index f72415c..0000000 --- a/Example/JazzHandsDemo/MyCustomAnimation.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// MyCustomAnimation.m -// JazzHandsDemo -// -// Created by Laura Skelton on 6/18/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "MyCustomAnimation.h" - -@implementation MyCustomAnimation - -- (void)addKeyframeForTime:(CGFloat)time shadowOpacity:(CGFloat)shadowOpacity -{ - [self addKeyframeForTime:time value:@(shadowOpacity)]; -} - -- (void)animate:(CGFloat)time -{ - if (!self.hasKeyframes) return; - self.view.layer.shadowOpacity = (float)[(NSNumber *)[self valueAtTime:time] floatValue]; -} - -@end diff --git a/Example/JazzHandsTests/IFTTTAnimationSpec.m b/Example/JazzHandsTests/IFTTTAnimationSpec.m index 2010bab..e323645 100644 --- a/Example/JazzHandsTests/IFTTTAnimationSpec.m +++ b/Example/JazzHandsTests/IFTTTAnimationSpec.m @@ -29,14 +29,14 @@ IFTTTAnimator *animator = [IFTTTAnimator new]; IFTTTAlphaAnimation *alphaAnimation = [IFTTTAlphaAnimation animationWithView:label]; - IFTTTColorAnimation *colorAnimation = [IFTTTColorAnimation animationWithView:label]; + IFTTTBackgroundColorAnimation *colorAnimation = [IFTTTBackgroundColorAnimation animationWithView:label]; IFTTTCornerRadiusAnimation *cornerRadiusAnimation = [IFTTTCornerRadiusAnimation animationWithView:label]; - IFTTTFillColorAnimation *fillColorAnimation = [IFTTTFillColorAnimation animationWithLayer:layer]; + IFTTTLayerFillColorAnimation *fillColorAnimation = [IFTTTLayerFillColorAnimation animationWithLayer:layer]; IFTTTHideAnimation *hideAnimation = [IFTTTHideAnimation animationWithView:label hideAt:2]; IFTTTRotationAnimation *rotationAnimation = [IFTTTRotationAnimation animationWithView:label]; IFTTTScaleAnimation *scaleAnimation = [IFTTTScaleAnimation animationWithView:label]; - IFTTTStrokeEndAnimation *strokeEndAnimation = [IFTTTStrokeEndAnimation animationWithLayer:layer]; - IFTTTStrokeStartAnimation *strokeStartAnimation = [IFTTTStrokeStartAnimation animationWithLayer:layer]; + IFTTTLayerStrokeEndAnimation *strokeEndAnimation = [IFTTTLayerStrokeEndAnimation animationWithLayer:layer]; + IFTTTLayerStrokeStartAnimation *strokeStartAnimation = [IFTTTLayerStrokeStartAnimation animationWithLayer:layer]; IFTTTTextColorAnimation *textColorAnimation = [IFTTTTextColorAnimation animationWithLabel:label]; IFTTTTransform3DAnimation *transformAnimation = [IFTTTTransform3DAnimation animationWithView:label]; IFTTTTranslationAnimation *translationAnimation = [IFTTTTranslationAnimation animationWithView:label]; diff --git a/Example/ObjectiveC.gcno b/Example/ObjectiveC.gcno new file mode 100644 index 0000000000000000000000000000000000000000..8eb83f74dc959b498c3c4d02d279270fe24909ab GIT binary patch literal 44220 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 '../JazzHands.podspec' + pod 'Masonry' end target :JazzHandsDemo do diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 815cfea..d075437 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,11 +1,13 @@ PODS: - Expecta (1.0.0) - - JazzHands (2.0.2) + - JazzHands (2.0.3) + - Masonry (0.6.1) - Specta (1.0.2) DEPENDENCIES: - Expecta - JazzHands (from `../JazzHands.podspec`) + - Masonry - Specta EXTERNAL SOURCES: @@ -14,7 +16,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024 - JazzHands: 088a3949e539480b07ba6ae4877da935efcc061b + JazzHands: 0f3c8578f33f45b2fe73975deed6a5f02f9c22d3 + Masonry: 4972309f2f134de9dd312f4dc4a21359b50e6caa Specta: 9cec98310dca411f7c7ffd6943552b501622abfe -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.0 diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTBackgroundColorAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTBackgroundColorAnimation.h new file mode 120000 index 0000000..d493a02 --- /dev/null +++ b/Example/Pods/Headers/Private/JazzHands/IFTTTBackgroundColorAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTBackgroundColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTColorAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTColorAnimation.h deleted file mode 120000 index eceb7c8..0000000 --- a/Example/Pods/Headers/Private/JazzHands/IFTTTColorAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTFillColorAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTFillColorAnimation.h deleted file mode 120000 index e0d8e59..0000000 --- a/Example/Pods/Headers/Private/JazzHands/IFTTTFillColorAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTFillColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTLabelAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTLabelAnimation.h deleted file mode 120000 index 81ee329..0000000 --- a/Example/Pods/Headers/Private/JazzHands/IFTTTLabelAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTLabelAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTLayerFillColorAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerFillColorAnimation.h new file mode 120000 index 0000000..b6c858d --- /dev/null +++ b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerFillColorAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerFillColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeEndAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeEndAnimation.h new file mode 120000 index 0000000..f2c7d89 --- /dev/null +++ b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeEndAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerStrokeEndAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeStartAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeStartAnimation.h new file mode 120000 index 0000000..55b31ea --- /dev/null +++ b/Example/Pods/Headers/Private/JazzHands/IFTTTLayerStrokeStartAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerStrokeStartAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTPathPositionAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTPathPositionAnimation.h new file mode 120000 index 0000000..350bbea --- /dev/null +++ b/Example/Pods/Headers/Private/JazzHands/IFTTTPathPositionAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTPathPositionAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeEndAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeEndAnimation.h deleted file mode 120000 index ab82c81..0000000 --- a/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeEndAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTStrokeEndAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeStartAnimation.h b/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeStartAnimation.h deleted file mode 120000 index f34e314..0000000 --- a/Example/Pods/Headers/Private/JazzHands/IFTTTStrokeStartAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTStrokeStartAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASCompositeConstraint.h b/Example/Pods/Headers/Private/Masonry/MASCompositeConstraint.h new file mode 120000 index 0000000..b1b3410 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASCompositeConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASCompositeConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASConstraint+Private.h b/Example/Pods/Headers/Private/Masonry/MASConstraint+Private.h new file mode 120000 index 0000000..ed9aa9f --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASConstraint+Private.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraint+Private.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASConstraint.h b/Example/Pods/Headers/Private/Masonry/MASConstraint.h new file mode 120000 index 0000000..76e9e73 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASConstraintMaker.h b/Example/Pods/Headers/Private/Masonry/MASConstraintMaker.h new file mode 120000 index 0000000..b6d6027 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASConstraintMaker.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraintMaker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASLayoutConstraint.h b/Example/Pods/Headers/Private/Masonry/MASLayoutConstraint.h new file mode 120000 index 0000000..73e8796 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASLayoutConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASLayoutConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASUtilities.h b/Example/Pods/Headers/Private/Masonry/MASUtilities.h new file mode 120000 index 0000000..aae5e32 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASUtilities.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASUtilities.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASViewAttribute.h b/Example/Pods/Headers/Private/Masonry/MASViewAttribute.h new file mode 120000 index 0000000..5399f64 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASViewAttribute.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASViewAttribute.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/MASViewConstraint.h b/Example/Pods/Headers/Private/Masonry/MASViewConstraint.h new file mode 120000 index 0000000..382c419 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/MASViewConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASViewConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/Masonry.h b/Example/Pods/Headers/Private/Masonry/Masonry.h new file mode 120000 index 0000000..f509303 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/Masonry.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/Masonry.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h b/Example/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h new file mode 120000 index 0000000..db1d0ea --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSArray+MASAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h b/Example/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h new file mode 120000 index 0000000..2169edc --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Example/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h new file mode 120000 index 0000000..72f5943 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/View+MASAdditions.h b/Example/Pods/Headers/Private/Masonry/View+MASAdditions.h new file mode 120000 index 0000000..9060451 --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/View+MASAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/View+MASAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h b/Example/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h new file mode 120000 index 0000000..91ef93f --- /dev/null +++ b/Example/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/View+MASShorthandAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTBackgroundColorAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTBackgroundColorAnimation.h new file mode 120000 index 0000000..d493a02 --- /dev/null +++ b/Example/Pods/Headers/Public/JazzHands/IFTTTBackgroundColorAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTBackgroundColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTColorAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTColorAnimation.h deleted file mode 120000 index eceb7c8..0000000 --- a/Example/Pods/Headers/Public/JazzHands/IFTTTColorAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTFillColorAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTFillColorAnimation.h deleted file mode 120000 index e0d8e59..0000000 --- a/Example/Pods/Headers/Public/JazzHands/IFTTTFillColorAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTFillColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTLabelAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTLabelAnimation.h deleted file mode 120000 index 81ee329..0000000 --- a/Example/Pods/Headers/Public/JazzHands/IFTTTLabelAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTLabelAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTLayerFillColorAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerFillColorAnimation.h new file mode 120000 index 0000000..b6c858d --- /dev/null +++ b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerFillColorAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerFillColorAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeEndAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeEndAnimation.h new file mode 120000 index 0000000..f2c7d89 --- /dev/null +++ b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeEndAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerStrokeEndAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeStartAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeStartAnimation.h new file mode 120000 index 0000000..55b31ea --- /dev/null +++ b/Example/Pods/Headers/Public/JazzHands/IFTTTLayerStrokeStartAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTLayerStrokeStartAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTPathPositionAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTPathPositionAnimation.h new file mode 120000 index 0000000..350bbea --- /dev/null +++ b/Example/Pods/Headers/Public/JazzHands/IFTTTPathPositionAnimation.h @@ -0,0 +1 @@ +../../../../../JazzHands/IFTTTPathPositionAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeEndAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeEndAnimation.h deleted file mode 120000 index ab82c81..0000000 --- a/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeEndAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTStrokeEndAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeStartAnimation.h b/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeStartAnimation.h deleted file mode 120000 index f34e314..0000000 --- a/Example/Pods/Headers/Public/JazzHands/IFTTTStrokeStartAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../JazzHands/IFTTTStrokeStartAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASCompositeConstraint.h b/Example/Pods/Headers/Public/Masonry/MASCompositeConstraint.h new file mode 120000 index 0000000..b1b3410 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASCompositeConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASCompositeConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASConstraint+Private.h b/Example/Pods/Headers/Public/Masonry/MASConstraint+Private.h new file mode 120000 index 0000000..ed9aa9f --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASConstraint+Private.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraint+Private.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASConstraint.h b/Example/Pods/Headers/Public/Masonry/MASConstraint.h new file mode 120000 index 0000000..76e9e73 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASConstraintMaker.h b/Example/Pods/Headers/Public/Masonry/MASConstraintMaker.h new file mode 120000 index 0000000..b6d6027 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASConstraintMaker.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASConstraintMaker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASLayoutConstraint.h b/Example/Pods/Headers/Public/Masonry/MASLayoutConstraint.h new file mode 120000 index 0000000..73e8796 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASLayoutConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASLayoutConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASUtilities.h b/Example/Pods/Headers/Public/Masonry/MASUtilities.h new file mode 120000 index 0000000..aae5e32 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASUtilities.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASUtilities.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASViewAttribute.h b/Example/Pods/Headers/Public/Masonry/MASViewAttribute.h new file mode 120000 index 0000000..5399f64 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASViewAttribute.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASViewAttribute.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/MASViewConstraint.h b/Example/Pods/Headers/Public/Masonry/MASViewConstraint.h new file mode 120000 index 0000000..382c419 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/MASViewConstraint.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/MASViewConstraint.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/Masonry.h b/Example/Pods/Headers/Public/Masonry/Masonry.h new file mode 120000 index 0000000..f509303 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/Masonry.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/Masonry.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h b/Example/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h new file mode 120000 index 0000000..db1d0ea --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSArray+MASAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h b/Example/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h new file mode 120000 index 0000000..2169edc --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Example/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h new file mode 120000 index 0000000..72f5943 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/View+MASAdditions.h b/Example/Pods/Headers/Public/Masonry/View+MASAdditions.h new file mode 120000 index 0000000..9060451 --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/View+MASAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/View+MASAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h b/Example/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h new file mode 120000 index 0000000..91ef93f --- /dev/null +++ b/Example/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../Masonry/Masonry/View+MASShorthandAdditions.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/JazzHands.podspec.json b/Example/Pods/Local Podspecs/JazzHands.podspec.json index 5fa9192..a81bc4b 100644 --- a/Example/Pods/Local Podspecs/JazzHands.podspec.json +++ b/Example/Pods/Local Podspecs/JazzHands.podspec.json @@ -1,6 +1,6 @@ { "name": "JazzHands", - "version": "2.0.2", + "version": "2.0.3", "summary": "Simple keyframe animations for scrolling intros.", "homepage": "https://github.com/IFTTT/JazzHands", "authors": { @@ -11,7 +11,7 @@ }, "source": { "git": "https://github.com/IFTTT/JazzHands.git", - "tag": "2.0.2" + "tag": "2.0.3" }, "platforms": { "ios": "7.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 815cfea..d075437 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,11 +1,13 @@ PODS: - Expecta (1.0.0) - - JazzHands (2.0.2) + - JazzHands (2.0.3) + - Masonry (0.6.1) - Specta (1.0.2) DEPENDENCIES: - Expecta - JazzHands (from `../JazzHands.podspec`) + - Masonry - Specta EXTERNAL SOURCES: @@ -14,7 +16,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024 - JazzHands: 088a3949e539480b07ba6ae4877da935efcc061b + JazzHands: 0f3c8578f33f45b2fe73975deed6a5f02f9c22d3 + Masonry: 4972309f2f134de9dd312f4dc4a21359b50e6caa Specta: 9cec98310dca411f7c7ffd6943552b501622abfe -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.0 diff --git a/Example/Pods/Masonry/LICENSE b/Example/Pods/Masonry/LICENSE new file mode 100644 index 0000000..a843c00 --- /dev/null +++ b/Example/Pods/Masonry/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h new file mode 100644 index 0000000..934c6f1 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.h @@ -0,0 +1,26 @@ +// +// MASCompositeConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraint.h" +#import "MASUtilities.h" + +/** + * A group of MASConstraint objects + */ +@interface MASCompositeConstraint : MASConstraint + +/** + * Creates a composite with a predefined array of children + * + * @param children child MASConstraints + * + * @return a composite constraint + */ +- (id)initWithChildren:(NSArray *)children; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m new file mode 100644 index 0000000..fd1e8c8 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASCompositeConstraint.m @@ -0,0 +1,177 @@ +// +// MASCompositeConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASCompositeConstraint.h" +#import "MASConstraint+Private.h" + +@interface MASCompositeConstraint () + +@property (nonatomic, strong) id mas_key; +@property (nonatomic, strong) NSMutableArray *childConstraints; + +@end + +@implementation MASCompositeConstraint + +- (id)initWithChildren:(NSArray *)children { + self = [super init]; + if (!self) return nil; + + _childConstraints = [children mutableCopy]; + for (MASConstraint *constraint in _childConstraints) { + constraint.delegate = self; + } + + return self; +} + +#pragma mark - MASConstraintDelegate + +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint { + NSUInteger index = [self.childConstraints indexOfObject:constraint]; + NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint); + [self.childConstraints replaceObjectAtIndex:index withObject:replacementConstraint]; +} + +- (MASConstraint *)constraint:(MASConstraint __unused *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + id strongDelegate = self.delegate; + MASConstraint *newConstraint = [strongDelegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; + newConstraint.delegate = self; + [self.childConstraints addObject:newConstraint]; + return newConstraint; +} + +#pragma mark - NSLayoutConstraint multiplier proxies + +- (MASConstraint * (^)(CGFloat))multipliedBy { + return ^id(CGFloat multiplier) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.multipliedBy(multiplier); + } + return self; + }; +} + +- (MASConstraint * (^)(CGFloat))dividedBy { + return ^id(CGFloat divider) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.dividedBy(divider); + } + return self; + }; +} + +#pragma mark - MASLayoutPriority proxy + +- (MASConstraint * (^)(MASLayoutPriority))priority { + return ^id(MASLayoutPriority priority) { + for (MASConstraint *constraint in self.childConstraints) { + constraint.priority(priority); + } + return self; + }; +} + +#pragma mark - NSLayoutRelation proxy + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { + return ^id(id attr, NSLayoutRelation relation) { + for (MASConstraint *constraint in self.childConstraints.copy) { + constraint.equalToWithRelation(attr, relation); + } + return self; + }; +} + +#pragma mark - attribute chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + [self constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; + return self; +} + +#pragma mark - Animator proxy + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE + +- (MASConstraint *)animator { + for (MASConstraint *constraint in self.childConstraints) { + [constraint animator]; + } + return self; +} + +#endif + +#pragma mark - debug helpers + +- (MASConstraint * (^)(id))key { + return ^id(id key) { + self.mas_key = key; + int i = 0; + for (MASConstraint *constraint in self.childConstraints) { + constraint.key([NSString stringWithFormat:@"%@[%d]", key, i++]); + } + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant setters + +- (void)setInsets:(MASEdgeInsets)insets { + for (MASConstraint *constraint in self.childConstraints) { + constraint.insets = insets; + } +} + +- (void)setOffset:(CGFloat)offset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.offset = offset; + } +} + +- (void)setSizeOffset:(CGSize)sizeOffset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.sizeOffset = sizeOffset; + } +} + +- (void)setCenterOffset:(CGPoint)centerOffset { + for (MASConstraint *constraint in self.childConstraints) { + constraint.centerOffset = centerOffset; + } +} + +#pragma mark - MASConstraint + +- (void)activate { + for (MASConstraint *constraint in self.childConstraints) { + [constraint activate]; + } +} + +- (void)deactivate { + for (MASConstraint *constraint in self.childConstraints) { + [constraint deactivate]; + } +} + +- (void)install { + for (MASConstraint *constraint in self.childConstraints) { + constraint.updateExisting = self.updateExisting; + [constraint install]; + } +} + +- (void)uninstall { + for (MASConstraint *constraint in self.childConstraints) { + [constraint uninstall]; + } +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint+Private.h b/Example/Pods/Masonry/Masonry/MASConstraint+Private.h new file mode 100644 index 0000000..ee0fd96 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint+Private.h @@ -0,0 +1,66 @@ +// +// MASConstraint+Private.h +// Masonry +// +// Created by Nick Tymchenko on 29/04/14. +// Copyright (c) 2014 cloudling. All rights reserved. +// + +#import "MASConstraint.h" + +@protocol MASConstraintDelegate; + + +@interface MASConstraint () + +/** + * Whether or not to check for an existing constraint instead of adding constraint + */ +@property (nonatomic, assign) BOOL updateExisting; + +/** + * Usually MASConstraintMaker but could be a parent MASConstraint + */ +@property (nonatomic, weak) id delegate; + +/** + * Based on a provided value type, is equal to calling: + * NSNumber - setOffset: + * NSValue with CGPoint - setPointOffset: + * NSValue with CGSize - setSizeOffset: + * NSValue with MASEdgeInsets - setInsets: + */ +- (void)setLayoutConstantWithValue:(NSValue *)value; + +@end + + +@interface MASConstraint (Abstract) + +/** + * Sets the constraint relation to given NSLayoutRelation + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; + +/** + * Override to set a custom chaining behaviour + */ +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; + +@end + + +@protocol MASConstraintDelegate + +/** + * Notifies the delegate when the constraint needs to be replaced with another constraint. For example + * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks + */ +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; + +- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint.h b/Example/Pods/Masonry/Masonry/MASConstraint.h new file mode 100644 index 0000000..648b781 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint.h @@ -0,0 +1,237 @@ +// +// MASConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * Enables Constraints to be created with chainable syntax + * Constraint can represent single NSLayoutConstraint (MASViewConstraint) + * or a group of NSLayoutConstraints (MASComposisteConstraint) + */ +@interface MASConstraint : NSObject + +// Chaining Support + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight + */ +- (MASConstraint * (^)(MASEdgeInsets insets))insets; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeWidth, NSLayoutAttributeHeight + */ +- (MASConstraint * (^)(CGSize offset))sizeOffset; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeCenterX, NSLayoutAttributeCenterY + */ +- (MASConstraint * (^)(CGPoint offset))centerOffset; + +/** + * Modifies the NSLayoutConstraint constant + */ +- (MASConstraint * (^)(CGFloat offset))offset; + +/** + * Modifies the NSLayoutConstraint constant based on a value type + */ +- (MASConstraint * (^)(NSValue *value))valueOffset; + +/** + * Sets the NSLayoutConstraint multiplier property + */ +- (MASConstraint * (^)(CGFloat multiplier))multipliedBy; + +/** + * Sets the NSLayoutConstraint multiplier to 1.0/dividedBy + */ +- (MASConstraint * (^)(CGFloat divider))dividedBy; + +/** + * Sets the NSLayoutConstraint priority to a float or MASLayoutPriority + */ +- (MASConstraint * (^)(MASLayoutPriority priority))priority; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityLow + */ +- (MASConstraint * (^)())priorityLow; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityMedium + */ +- (MASConstraint * (^)())priorityMedium; + +/** + * Sets the NSLayoutConstraint priority to MASLayoutPriorityHigh + */ +- (MASConstraint * (^)())priorityHigh; + +/** + * Sets the constraint relation to NSLayoutRelationEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))equalTo; + +/** + * Sets the constraint relation to NSLayoutRelationGreaterThanOrEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))greaterThanOrEqualTo; + +/** + * Sets the constraint relation to NSLayoutRelationLessThanOrEqual + * returns a block which accepts one of the following: + * MASViewAttribute, UIView, NSValue, NSArray + * see readme for more details. + */ +- (MASConstraint * (^)(id attr))lessThanOrEqualTo; + +/** + * Optional semantic property which has no effect but improves the readability of constraint + */ +- (MASConstraint *)with; + +/** + * Optional semantic property which has no effect but improves the readability of constraint + */ +- (MASConstraint *)and; + +/** + * Creates a new MASCompositeConstraint with the called attribute and reciever + */ +- (MASConstraint *)left; +- (MASConstraint *)top; +- (MASConstraint *)right; +- (MASConstraint *)bottom; +- (MASConstraint *)leading; +- (MASConstraint *)trailing; +- (MASConstraint *)width; +- (MASConstraint *)height; +- (MASConstraint *)centerX; +- (MASConstraint *)centerY; +- (MASConstraint *)baseline; + +/** + * Sets the constraint debug name + */ +- (MASConstraint * (^)(id key))key; + +// NSLayoutConstraint constant Setters +// for use outside of mas_updateConstraints/mas_makeConstraints blocks + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight + */ +- (void)setInsets:(MASEdgeInsets)insets; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeWidth, NSLayoutAttributeHeight + */ +- (void)setSizeOffset:(CGSize)sizeOffset; + +/** + * Modifies the NSLayoutConstraint constant, + * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following + * NSLayoutAttributeCenterX, NSLayoutAttributeCenterY + */ +- (void)setCenterOffset:(CGPoint)centerOffset; + +/** + * Modifies the NSLayoutConstraint constant + */ +- (void)setOffset:(CGFloat)offset; + + +// NSLayoutConstraint Installation support + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE +/** + * Whether or not to go through the animator proxy when modifying the constraint + */ +@property (nonatomic, copy, readonly) MASConstraint *animator; +#endif + +/** + * Activates an NSLayoutConstraint if it's supported by an OS. + * Invokes install otherwise. + */ +- (void)activate; + +/** + * Deactivates previously installed/activated NSLayoutConstraint. + */ +- (void)deactivate; + +/** + * Creates a NSLayoutConstraint and adds it to the appropriate view. + */ +- (void)install; + +/** + * Removes previously installed NSLayoutConstraint + */ +- (void)uninstall; + +@end + + +/** + * Convenience auto-boxing macros for MASConstraint methods. + * + * Defining MAS_SHORTHAND_GLOBALS will turn on auto-boxing for default syntax. + * A potential drawback of this is that the unprefixed macros will appear in global scope. + */ +#define mas_equalTo(...) equalTo(MASBoxValue((__VA_ARGS__))) +#define mas_greaterThanOrEqualTo(...) greaterThanOrEqualTo(MASBoxValue((__VA_ARGS__))) +#define mas_lessThanOrEqualTo(...) lessThanOrEqualTo(MASBoxValue((__VA_ARGS__))) + +#define mas_offset(...) valueOffset(MASBoxValue((__VA_ARGS__))) + + +#ifdef MAS_SHORTHAND_GLOBALS + +#define equalTo(...) mas_equalTo(__VA_ARGS__) +#define greaterThanOrEqualTo(...) mas_greaterThanOrEqualTo(__VA_ARGS__) +#define lessThanOrEqualTo(...) mas_lessThanOrEqualTo(__VA_ARGS__) + +#define offset(...) mas_offset(__VA_ARGS__) + +#endif + + +@interface MASConstraint (AutoboxingSupport) + +/** + * Aliases to corresponding relation methods (for shorthand macros) + * Also needed to aid autocompletion + */ +- (MASConstraint * (^)(id attr))mas_equalTo; +- (MASConstraint * (^)(id attr))mas_greaterThanOrEqualTo; +- (MASConstraint * (^)(id attr))mas_lessThanOrEqualTo; + +/** + * A dummy method to aid autocompletion + */ +- (MASConstraint * (^)(id offset))mas_offset; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraint.m b/Example/Pods/Masonry/Masonry/MASConstraint.m new file mode 100644 index 0000000..78ce96a --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraint.m @@ -0,0 +1,245 @@ +// +// MASConstraint.m +// Masonry +// +// Created by Nick Tymchenko on 1/20/14. +// + +#import "MASConstraint.h" +#import "MASConstraint+Private.h" + +#define MASMethodNotImplemented() \ + @throw [NSException exceptionWithName:NSInternalInconsistencyException \ + reason:[NSString stringWithFormat:@"You must override %@ in a subclass.", NSStringFromSelector(_cmd)] \ + userInfo:nil] + +@implementation MASConstraint + +#pragma mark - Init + +- (id)init { + NSAssert(![self isMemberOfClass:[MASConstraint class]], @"MASConstraint is an abstract class, you should not instantiate it directly."); + return [super init]; +} + +#pragma mark - NSLayoutRelation proxies + +- (MASConstraint * (^)(id))equalTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationEqual); + }; +} + +- (MASConstraint * (^)(id))mas_equalTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationEqual); + }; +} + +- (MASConstraint * (^)(id))greaterThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))mas_greaterThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))lessThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual); + }; +} + +- (MASConstraint * (^)(id))mas_lessThanOrEqualTo { + return ^id(id attribute) { + return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual); + }; +} + +#pragma mark - MASLayoutPriority proxies + +- (MASConstraint * (^)())priorityLow { + return ^id{ + self.priority(MASLayoutPriorityDefaultLow); + return self; + }; +} + +- (MASConstraint * (^)())priorityMedium { + return ^id{ + self.priority(MASLayoutPriorityDefaultMedium); + return self; + }; +} + +- (MASConstraint * (^)())priorityHigh { + return ^id{ + self.priority(MASLayoutPriorityDefaultHigh); + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant proxies + +- (MASConstraint * (^)(MASEdgeInsets))insets { + return ^id(MASEdgeInsets insets){ + self.insets = insets; + return self; + }; +} + +- (MASConstraint * (^)(CGSize))sizeOffset { + return ^id(CGSize offset) { + self.sizeOffset = offset; + return self; + }; +} + +- (MASConstraint * (^)(CGPoint))centerOffset { + return ^id(CGPoint offset) { + self.centerOffset = offset; + return self; + }; +} + +- (MASConstraint * (^)(CGFloat))offset { + return ^id(CGFloat offset){ + self.offset = offset; + return self; + }; +} + +- (MASConstraint * (^)(NSValue *value))valueOffset { + return ^id(NSValue *offset) { + NSAssert([offset isKindOfClass:NSValue.class], @"expected an NSValue offset, got: %@", offset); + [self setLayoutConstantWithValue:offset]; + return self; + }; +} + +- (MASConstraint * (^)(id offset))mas_offset { + // Will never be called due to macro + return nil; +} + +#pragma mark - NSLayoutConstraint constant setter + +- (void)setLayoutConstantWithValue:(NSValue *)value { + if ([value isKindOfClass:NSNumber.class]) { + self.offset = [(NSNumber *)value doubleValue]; + } else if (strcmp(value.objCType, @encode(CGPoint)) == 0) { + CGPoint point; + [value getValue:&point]; + self.centerOffset = point; + } else if (strcmp(value.objCType, @encode(CGSize)) == 0) { + CGSize size; + [value getValue:&size]; + self.sizeOffset = size; + } else if (strcmp(value.objCType, @encode(MASEdgeInsets)) == 0) { + MASEdgeInsets insets; + [value getValue:&insets]; + self.insets = insets; + } else { + NSAssert(NO, @"attempting to set layout constant with unsupported value: %@", value); + } +} + +#pragma mark - Semantic properties + +- (MASConstraint *)with { + return self; +} + +- (MASConstraint *)and { + return self; +} + +#pragma mark - Chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute __unused)layoutAttribute { + MASMethodNotImplemented(); +} + +- (MASConstraint *)left { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASConstraint *)top { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop]; +} + +- (MASConstraint *)right { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight]; +} + +- (MASConstraint *)bottom { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASConstraint *)leading { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASConstraint *)trailing { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASConstraint *)width { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASConstraint *)height { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASConstraint *)centerX { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASConstraint *)centerY { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASConstraint *)baseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; +} + +#pragma mark - Abstract + +- (MASConstraint * (^)(CGFloat multiplier))multipliedBy { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(CGFloat divider))dividedBy { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(MASLayoutPriority priority))priority { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { MASMethodNotImplemented(); } + +- (MASConstraint * (^)(id key))key { MASMethodNotImplemented(); } + +- (void)setInsets:(MASEdgeInsets __unused)insets { MASMethodNotImplemented(); } + +- (void)setSizeOffset:(CGSize __unused)sizeOffset { MASMethodNotImplemented(); } + +- (void)setCenterOffset:(CGPoint __unused)centerOffset { MASMethodNotImplemented(); } + +- (void)setOffset:(CGFloat __unused)offset { MASMethodNotImplemented(); } + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE + +- (MASConstraint *)animator { MASMethodNotImplemented(); } + +#endif + +- (void)activate { MASMethodNotImplemented(); } + +- (void)deactivate { MASMethodNotImplemented(); } + +- (void)install { MASMethodNotImplemented(); } + +- (void)uninstall { MASMethodNotImplemented(); } + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraintMaker.h b/Example/Pods/Masonry/Masonry/MASConstraintMaker.h new file mode 100644 index 0000000..d8e7fc2 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraintMaker.h @@ -0,0 +1,105 @@ +// +// MASConstraintBuilder.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraint.h" +#import "MASUtilities.h" + +typedef NS_OPTIONS(NSInteger, MASAttribute) { + MASAttributeLeft = 1 << NSLayoutAttributeLeft, + MASAttributeRight = 1 << NSLayoutAttributeRight, + MASAttributeTop = 1 << NSLayoutAttributeTop, + MASAttributeBottom = 1 << NSLayoutAttributeBottom, + MASAttributeLeading = 1 << NSLayoutAttributeLeading, + MASAttributeTrailing = 1 << NSLayoutAttributeTrailing, + MASAttributeWidth = 1 << NSLayoutAttributeWidth, + MASAttributeHeight = 1 << NSLayoutAttributeHeight, + MASAttributeCenterX = 1 << NSLayoutAttributeCenterX, + MASAttributeCenterY = 1 << NSLayoutAttributeCenterY, + MASAttributeBaseline = 1 << NSLayoutAttributeBaseline, +}; + +/** + * Provides factory methods for creating MASConstraints. + * Constraints are collected until they are ready to be installed + * + */ +@interface MASConstraintMaker : NSObject + +/** + * The following properties return a new MASViewConstraint + * with the first item set to the makers associated view and the appropriate MASViewAttribute + */ +@property (nonatomic, strong, readonly) MASConstraint *left; +@property (nonatomic, strong, readonly) MASConstraint *top; +@property (nonatomic, strong, readonly) MASConstraint *right; +@property (nonatomic, strong, readonly) MASConstraint *bottom; +@property (nonatomic, strong, readonly) MASConstraint *leading; +@property (nonatomic, strong, readonly) MASConstraint *trailing; +@property (nonatomic, strong, readonly) MASConstraint *width; +@property (nonatomic, strong, readonly) MASConstraint *height; +@property (nonatomic, strong, readonly) MASConstraint *centerX; +@property (nonatomic, strong, readonly) MASConstraint *centerY; +@property (nonatomic, strong, readonly) MASConstraint *baseline; + +/** + * Returns a block which creates a new MASCompositeConstraint with the first item set + * to the makers associated view and children corresponding to the set bits in the + * MASAttribute parameter. Combine multiple attributes via binary-or. + */ +@property (nonatomic, strong, readonly) MASConstraint *(^attributes)(MASAttribute attrs); + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeEdges + * which generates the appropriate MASViewConstraint children (top, left, bottom, right) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *edges; + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeSize + * which generates the appropriate MASViewConstraint children (width, height) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *size; + +/** + * Creates a MASCompositeConstraint with type MASCompositeConstraintTypeCenter + * which generates the appropriate MASViewConstraint children (centerX, centerY) + * with the first item set to the makers associated view + */ +@property (nonatomic, strong, readonly) MASConstraint *center; + +/** + * Whether or not to check for an existing constraint instead of adding constraint + */ +@property (nonatomic, assign) BOOL updateExisting; + +/** + * Whether or not to remove existing constraints prior to installing + */ +@property (nonatomic, assign) BOOL removeExisting; + +/** + * initialises the maker with a default view + * + * @param view any MASConstrait are created with this view as the first item + * + * @return a new MASConstraintMaker + */ +- (id)initWithView:(MAS_VIEW *)view; + +/** + * Calls install method on any MASConstraints which have been created by this maker + * + * @return an array of all the installed MASConstraints + */ +- (NSArray *)install; + +- (MASConstraint * (^)(dispatch_block_t))group; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASConstraintMaker.m b/Example/Pods/Masonry/Masonry/MASConstraintMaker.m new file mode 100644 index 0000000..b7206e0 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASConstraintMaker.m @@ -0,0 +1,193 @@ +// +// MASConstraintBuilder.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASConstraintMaker.h" +#import "MASViewConstraint.h" +#import "MASCompositeConstraint.h" +#import "MASConstraint+Private.h" +#import "MASViewAttribute.h" +#import "View+MASAdditions.h" + +@interface MASConstraintMaker () + +@property (nonatomic, weak) MAS_VIEW *view; +@property (nonatomic, strong) NSMutableArray *constraints; + +@end + +@implementation MASConstraintMaker + +- (id)initWithView:(MAS_VIEW *)view { + self = [super init]; + if (!self) return nil; + + self.view = view; + self.constraints = NSMutableArray.new; + + return self; +} + +- (NSArray *)install { + if (self.removeExisting) { + NSArray *installedConstraints = [MASViewConstraint installedConstraintsForView:self.view]; + for (MASConstraint *constraint in installedConstraints) { + [constraint uninstall]; + } + } + NSArray *constraints = self.constraints.copy; + for (MASConstraint *constraint in constraints) { + constraint.updateExisting = self.updateExisting; + [constraint install]; + } + [self.constraints removeAllObjects]; + return constraints; +} + +#pragma mark - MASConstraintDelegate + +- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint { + NSUInteger index = [self.constraints indexOfObject:constraint]; + NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint); + [self.constraints replaceObjectAtIndex:index withObject:replacementConstraint]; +} + +- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + MASViewAttribute *viewAttribute = [[MASViewAttribute alloc] initWithView:self.view layoutAttribute:layoutAttribute]; + MASViewConstraint *newConstraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:viewAttribute]; + if ([constraint isKindOfClass:MASViewConstraint.class]) { + //replace with composite constraint + NSArray *children = @[constraint, newConstraint]; + MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + compositeConstraint.delegate = self; + [self constraint:constraint shouldBeReplacedWithConstraint:compositeConstraint]; + return compositeConstraint; + } + if (!constraint) { + newConstraint.delegate = self; + [self.constraints addObject:newConstraint]; + } + return newConstraint; +} + +- (MASConstraint *)addConstraintWithAttributes:(MASAttribute)attrs { + __unused MASAttribute anyAttribute = MASAttributeLeft | MASAttributeRight | MASAttributeTop | MASAttributeBottom | MASAttributeLeading | MASAttributeTrailing | MASAttributeWidth | MASAttributeHeight | MASAttributeCenterX | MASAttributeCenterY | MASAttributeBaseline; + + NSAssert((attrs & anyAttribute) != 0, @"You didn't pass any attribute to make.attributes(...)"); + + NSMutableArray *attributes = [NSMutableArray array]; + + if (attrs & MASAttributeLeft) [attributes addObject:self.view.mas_left]; + if (attrs & MASAttributeRight) [attributes addObject:self.view.mas_right]; + if (attrs & MASAttributeTop) [attributes addObject:self.view.mas_top]; + if (attrs & MASAttributeBottom) [attributes addObject:self.view.mas_bottom]; + if (attrs & MASAttributeLeading) [attributes addObject:self.view.mas_leading]; + if (attrs & MASAttributeTrailing) [attributes addObject:self.view.mas_trailing]; + if (attrs & MASAttributeWidth) [attributes addObject:self.view.mas_width]; + if (attrs & MASAttributeHeight) [attributes addObject:self.view.mas_height]; + if (attrs & MASAttributeCenterX) [attributes addObject:self.view.mas_centerX]; + if (attrs & MASAttributeCenterY) [attributes addObject:self.view.mas_centerY]; + if (attrs & MASAttributeBaseline) [attributes addObject:self.view.mas_baseline]; + + NSMutableArray *children = [NSMutableArray arrayWithCapacity:attributes.count]; + + for (MASViewAttribute *a in attributes) { + [children addObject:[[MASViewConstraint alloc] initWithFirstViewAttribute:a]]; + } + + MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + constraint.delegate = self; + [self.constraints addObject:constraint]; + return constraint; +} + +#pragma mark - standard Attributes + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + return [self constraint:nil addConstraintWithLayoutAttribute:layoutAttribute]; +} + +- (MASConstraint *)left { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASConstraint *)top { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop]; +} + +- (MASConstraint *)right { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight]; +} + +- (MASConstraint *)bottom { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASConstraint *)leading { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASConstraint *)trailing { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASConstraint *)width { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASConstraint *)height { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASConstraint *)centerX { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASConstraint *)centerY { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASConstraint *)baseline { + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; +} + +- (MASConstraint *(^)(MASAttribute))attributes { + return ^(MASAttribute attrs){ + return [self addConstraintWithAttributes:attrs]; + }; +} + + +#pragma mark - composite Attributes + +- (MASConstraint *)edges { + return [self addConstraintWithAttributes:MASAttributeTop | MASAttributeLeft | MASAttributeRight | MASAttributeBottom]; +} + +- (MASConstraint *)size { + return [self addConstraintWithAttributes:MASAttributeWidth | MASAttributeHeight]; +} + +- (MASConstraint *)center { + return [self addConstraintWithAttributes:MASAttributeCenterX | MASAttributeCenterY]; +} + +#pragma mark - grouping + +- (MASConstraint *(^)(dispatch_block_t group))group { + return ^id(dispatch_block_t group) { + NSInteger previousCount = self.constraints.count; + group(); + + NSArray *children = [self.constraints subarrayWithRange:NSMakeRange(previousCount, self.constraints.count - previousCount)]; + MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + constraint.delegate = self; + return constraint; + }; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h new file mode 100644 index 0000000..699041c --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.h @@ -0,0 +1,22 @@ +// +// MASLayoutConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * When you are debugging or printing the constraints attached to a view this subclass + * makes it easier to identify which constraints have been created via Masonry + */ +@interface MASLayoutConstraint : NSLayoutConstraint + +/** + * a key to associate with this constraint + */ +@property (nonatomic, strong) id mas_key; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m new file mode 100644 index 0000000..3483f02 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASLayoutConstraint.m @@ -0,0 +1,13 @@ +// +// MASLayoutConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASLayoutConstraint.h" + +@implementation MASLayoutConstraint + +@end diff --git a/Example/Pods/Masonry/Masonry/MASUtilities.h b/Example/Pods/Masonry/Masonry/MASUtilities.h new file mode 100644 index 0000000..472d7a1 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASUtilities.h @@ -0,0 +1,131 @@ +// +// MASUtilities.h +// Masonry +// +// Created by Jonas Budelmann on 19/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import + +#if TARGET_OS_IPHONE + + #import + #define MAS_VIEW UIView + #define MASEdgeInsets UIEdgeInsets + + typedef UILayoutPriority MASLayoutPriority; + static const MASLayoutPriority MASLayoutPriorityRequired = UILayoutPriorityRequired; + static const MASLayoutPriority MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh; + static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 500; + static const MASLayoutPriority MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow; + static const MASLayoutPriority MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel; + +#elif TARGET_OS_MAC + + #import + #define MAS_VIEW NSView + #define MASEdgeInsets NSEdgeInsets + + typedef NSLayoutPriority MASLayoutPriority; + static const MASLayoutPriority MASLayoutPriorityRequired = NSLayoutPriorityRequired; + static const MASLayoutPriority MASLayoutPriorityDefaultHigh = NSLayoutPriorityDefaultHigh; + static const MASLayoutPriority MASLayoutPriorityDragThatCanResizeWindow = NSLayoutPriorityDragThatCanResizeWindow; + static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 501; + static const MASLayoutPriority MASLayoutPriorityWindowSizeStayPut = NSLayoutPriorityWindowSizeStayPut; + static const MASLayoutPriority MASLayoutPriorityDragThatCannotResizeWindow = NSLayoutPriorityDragThatCannotResizeWindow; + static const MASLayoutPriority MASLayoutPriorityDefaultLow = NSLayoutPriorityDefaultLow; + static const MASLayoutPriority MASLayoutPriorityFittingSizeCompression = NSLayoutPriorityFittingSizeCompression; + +#endif + +/** + * Allows you to attach keys to objects matching the variable names passed. + * + * view1.mas_key = @"view1", view2.mas_key = @"view2"; + * + * is equivalent to: + * + * MASAttachKeys(view1, view2); + */ +#define MASAttachKeys(...) \ + NSDictionary *keyPairs = NSDictionaryOfVariableBindings(__VA_ARGS__); \ + for (id key in keyPairs.allKeys) { \ + id obj = keyPairs[key]; \ + NSAssert([obj respondsToSelector:@selector(setMas_key:)], \ + @"Cannot attach mas_key to %@", obj); \ + [obj setMas_key:key]; \ + } + +/** + * Used to create object hashes + * Based on http://www.mikeash.com/pyblog/friday-qa-2010-06-18-implementing-equality-and-hashing.html + */ +#define MAS_NSUINT_BIT (CHAR_BIT * sizeof(NSUInteger)) +#define MAS_NSUINTROTATE(val, howmuch) ((((NSUInteger)val) << howmuch) | (((NSUInteger)val) >> (MAS_NSUINT_BIT - howmuch))) + +/** + * Given a scalar or struct value, wraps it in NSValue + * Based on EXPObjectify: https://github.com/specta/expecta + */ +static inline id _MASBoxValue(const char *type, ...) { + va_list v; + va_start(v, type); + id obj = nil; + if (strcmp(type, @encode(id)) == 0) { + id actual = va_arg(v, id); + obj = actual; + } else if (strcmp(type, @encode(CGPoint)) == 0) { + CGPoint actual = (CGPoint)va_arg(v, CGPoint); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(CGSize)) == 0) { + CGSize actual = (CGSize)va_arg(v, CGSize); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(MASEdgeInsets)) == 0) { + MASEdgeInsets actual = (MASEdgeInsets)va_arg(v, MASEdgeInsets); + obj = [NSValue value:&actual withObjCType:type]; + } else if (strcmp(type, @encode(double)) == 0) { + double actual = (double)va_arg(v, double); + obj = [NSNumber numberWithDouble:actual]; + } else if (strcmp(type, @encode(float)) == 0) { + float actual = (float)va_arg(v, double); + obj = [NSNumber numberWithFloat:actual]; + } else if (strcmp(type, @encode(int)) == 0) { + int actual = (int)va_arg(v, int); + obj = [NSNumber numberWithInt:actual]; + } else if (strcmp(type, @encode(long)) == 0) { + long actual = (long)va_arg(v, long); + obj = [NSNumber numberWithLong:actual]; + } else if (strcmp(type, @encode(long long)) == 0) { + long long actual = (long long)va_arg(v, long long); + obj = [NSNumber numberWithLongLong:actual]; + } else if (strcmp(type, @encode(short)) == 0) { + short actual = (short)va_arg(v, int); + obj = [NSNumber numberWithShort:actual]; + } else if (strcmp(type, @encode(char)) == 0) { + char actual = (char)va_arg(v, int); + obj = [NSNumber numberWithChar:actual]; + } else if (strcmp(type, @encode(bool)) == 0) { + bool actual = (bool)va_arg(v, int); + obj = [NSNumber numberWithBool:actual]; + } else if (strcmp(type, @encode(unsigned char)) == 0) { + unsigned char actual = (unsigned char)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedChar:actual]; + } else if (strcmp(type, @encode(unsigned int)) == 0) { + unsigned int actual = (unsigned int)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedInt:actual]; + } else if (strcmp(type, @encode(unsigned long)) == 0) { + unsigned long actual = (unsigned long)va_arg(v, unsigned long); + obj = [NSNumber numberWithUnsignedLong:actual]; + } else if (strcmp(type, @encode(unsigned long long)) == 0) { + unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long); + obj = [NSNumber numberWithUnsignedLongLong:actual]; + } else if (strcmp(type, @encode(unsigned short)) == 0) { + unsigned short actual = (unsigned short)va_arg(v, unsigned int); + obj = [NSNumber numberWithUnsignedShort:actual]; + } + va_end(v); + return obj; +} + +#define MASBoxValue(value) _MASBoxValue(@encode(__typeof__((value))), (value)) diff --git a/Example/Pods/Masonry/Masonry/MASViewAttribute.h b/Example/Pods/Masonry/Masonry/MASViewAttribute.h new file mode 100644 index 0000000..f594f48 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewAttribute.h @@ -0,0 +1,39 @@ +// +// MASAttribute.h +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * An immutable tuple which stores the view and the related NSLayoutAttribute. + * Describes part of either the left or right hand side of a constraint equation + */ +@interface MASViewAttribute : NSObject + +/** + * The view which the reciever relates to + */ +@property (nonatomic, weak, readonly) MAS_VIEW *view; + +/** + * The attribute which the reciever relates to + */ +@property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; + +/** + * The designated initializer. + */ +- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; + +/** + * Determine whether the layoutAttribute is a size attribute + * + * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight + */ +- (BOOL)isSizeAttribute; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewAttribute.m b/Example/Pods/Masonry/Masonry/MASViewAttribute.m new file mode 100644 index 0000000..1032826 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewAttribute.m @@ -0,0 +1,40 @@ +// +// MASAttribute.m +// Masonry +// +// Created by Jonas Budelmann on 21/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewAttribute.h" + +@implementation MASViewAttribute + +- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { + self = [super init]; + if (!self) return nil; + + _view = view; + _layoutAttribute = layoutAttribute; + + return self; +} + +- (BOOL)isSizeAttribute { + return self.layoutAttribute == NSLayoutAttributeWidth + || self.layoutAttribute == NSLayoutAttributeHeight; +} + +- (BOOL)isEqual:(MASViewAttribute *)viewAttribute { + if ([viewAttribute isKindOfClass:self.class]) { + return self.view == viewAttribute.view + && self.layoutAttribute == viewAttribute.layoutAttribute; + } + return [super isEqual:viewAttribute]; +} + +- (NSUInteger)hash { + return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewConstraint.h b/Example/Pods/Masonry/Masonry/MASViewConstraint.h new file mode 100644 index 0000000..5c78f7a --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewConstraint.h @@ -0,0 +1,48 @@ +// +// MASConstraint.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewAttribute.h" +#import "MASConstraint.h" +#import "MASLayoutConstraint.h" +#import "MASUtilities.h" + +/** + * A single constraint. + * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view + */ +@interface MASViewConstraint : MASConstraint + +/** + * First item/view and first attribute of the NSLayoutConstraint + */ +@property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; + +/** + * Second item/view and second attribute of the NSLayoutConstraint + */ +@property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; + +/** + * initialises the MASViewConstraint with the first part of the equation + * + * @param firstViewAttribute view.mas_left, view.mas_width etc. + * + * @return a new view constraint + */ +- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; + +/** + * Returns all MASViewConstraints installed with this view as a first item. + * + * @param view A view to retrieve constraints for. + * + * @return An array of MASViewConstraints. + */ ++ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; + +@end diff --git a/Example/Pods/Masonry/Masonry/MASViewConstraint.m b/Example/Pods/Masonry/Masonry/MASViewConstraint.m new file mode 100644 index 0000000..aa2434f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/MASViewConstraint.m @@ -0,0 +1,395 @@ +// +// MASConstraint.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASViewConstraint.h" +#import "MASConstraint+Private.h" +#import "MASCompositeConstraint.h" +#import "MASLayoutConstraint.h" +#import "View+MASAdditions.h" +#import + +@interface MAS_VIEW (MASConstraints) + +@property (nonatomic, readonly) NSMutableSet *mas_installedConstraints; + +@end + +@implementation MAS_VIEW (MASConstraints) + +static char kInstalledConstraintsKey; + +- (NSMutableSet *)mas_installedConstraints { + NSMutableSet *constraints = objc_getAssociatedObject(self, &kInstalledConstraintsKey); + if (!constraints) { + constraints = [NSMutableSet set]; + objc_setAssociatedObject(self, &kInstalledConstraintsKey, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return constraints; +} + +@end + + +@interface MASViewConstraint () + +@property (nonatomic, strong, readwrite) MASViewAttribute *secondViewAttribute; +@property (nonatomic, weak) MAS_VIEW *installedView; +@property (nonatomic, weak) MASLayoutConstraint *layoutConstraint; +@property (nonatomic, assign) NSLayoutRelation layoutRelation; +@property (nonatomic, assign) MASLayoutPriority layoutPriority; +@property (nonatomic, assign) CGFloat layoutMultiplier; +@property (nonatomic, assign) CGFloat layoutConstant; +@property (nonatomic, assign) BOOL hasLayoutRelation; +@property (nonatomic, strong) id mas_key; +@property (nonatomic, assign) BOOL useAnimator; + +@end + +@implementation MASViewConstraint + +- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute { + self = [super init]; + if (!self) return nil; + + _firstViewAttribute = firstViewAttribute; + self.layoutPriority = MASLayoutPriorityRequired; + self.layoutMultiplier = 1; + + return self; +} + +#pragma mark - NSCoping + +- (id)copyWithZone:(NSZone __unused *)zone { + MASViewConstraint *constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:self.firstViewAttribute]; + constraint.layoutConstant = self.layoutConstant; + constraint.layoutRelation = self.layoutRelation; + constraint.layoutPriority = self.layoutPriority; + constraint.layoutMultiplier = self.layoutMultiplier; + constraint.delegate = self.delegate; + return constraint; +} + +#pragma mark - Public + ++ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view { + return [view.mas_installedConstraints allObjects]; +} + +#pragma mark - Private + +- (void)setLayoutConstant:(CGFloat)layoutConstant { + _layoutConstant = layoutConstant; + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE + if (self.useAnimator) { + [self.layoutConstraint.animator setConstant:layoutConstant]; + } else { + self.layoutConstraint.constant = layoutConstant; + } +#else + self.layoutConstraint.constant = layoutConstant; +#endif +} + +- (void)setLayoutRelation:(NSLayoutRelation)layoutRelation { + _layoutRelation = layoutRelation; + self.hasLayoutRelation = YES; +} + +- (BOOL)supportsActiveProperty { + return [self.layoutConstraint respondsToSelector:@selector(isActive)]; +} + +- (BOOL)isActive { + BOOL active = YES; + if ([self supportsActiveProperty]) { + active = [self.layoutConstraint isActive]; + } + + return active; +} + +- (BOOL)hasBeenInstalled { + return (self.layoutConstraint != nil) && [self isActive]; +} + +- (void)setSecondViewAttribute:(id)secondViewAttribute { + if ([secondViewAttribute isKindOfClass:NSValue.class]) { + [self setLayoutConstantWithValue:secondViewAttribute]; + } else if ([secondViewAttribute isKindOfClass:MAS_VIEW.class]) { + _secondViewAttribute = [[MASViewAttribute alloc] initWithView:secondViewAttribute layoutAttribute:self.firstViewAttribute.layoutAttribute]; + } else if ([secondViewAttribute isKindOfClass:MASViewAttribute.class]) { + _secondViewAttribute = secondViewAttribute; + } else { + NSAssert(NO, @"attempting to add unsupported attribute: %@", secondViewAttribute); + } +} + +#pragma mark - NSLayoutConstraint multiplier proxies + +- (MASConstraint * (^)(CGFloat))multipliedBy { + return ^id(CGFloat multiplier) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint multiplier after it has been installed"); + + self.layoutMultiplier = multiplier; + return self; + }; +} + + +- (MASConstraint * (^)(CGFloat))dividedBy { + return ^id(CGFloat divider) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint multiplier after it has been installed"); + + self.layoutMultiplier = 1.0/divider; + return self; + }; +} + +#pragma mark - MASLayoutPriority proxy + +- (MASConstraint * (^)(MASLayoutPriority))priority { + return ^id(MASLayoutPriority priority) { + NSAssert(!self.hasBeenInstalled, + @"Cannot modify constraint priority after it has been installed"); + + self.layoutPriority = priority; + return self; + }; +} + +#pragma mark - NSLayoutRelation proxy + +- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { + return ^id(id attribute, NSLayoutRelation relation) { + if ([attribute isKindOfClass:NSArray.class]) { + NSAssert(!self.hasLayoutRelation, @"Redefinition of constraint relation"); + NSMutableArray *children = NSMutableArray.new; + for (id attr in attribute) { + MASViewConstraint *viewConstraint = [self copy]; + viewConstraint.secondViewAttribute = attr; + [children addObject:viewConstraint]; + } + MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children]; + compositeConstraint.delegate = self.delegate; + [self.delegate constraint:self shouldBeReplacedWithConstraint:compositeConstraint]; + return compositeConstraint; + } else { + NSAssert(!self.hasLayoutRelation || self.layoutRelation == relation && [attribute isKindOfClass:NSValue.class], @"Redefinition of constraint relation"); + self.layoutRelation = relation; + self.secondViewAttribute = attribute; + return self; + } + }; +} + +#pragma mark - Semantic properties + +- (MASConstraint *)with { + return self; +} + +- (MASConstraint *)and { + return self; +} + +#pragma mark - attribute chaining + +- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { + NSAssert(!self.hasLayoutRelation, @"Attributes should be chained before defining the constraint relation"); + + return [self.delegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute]; +} + +#pragma mark - Animator proxy + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE + +- (MASConstraint *)animator { + self.useAnimator = YES; + return self; +} + +#endif + +#pragma mark - debug helpers + +- (MASConstraint * (^)(id))key { + return ^id(id key) { + self.mas_key = key; + return self; + }; +} + +#pragma mark - NSLayoutConstraint constant setters + +- (void)setInsets:(MASEdgeInsets)insets { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeLeft: + self.layoutConstant = insets.left; + break; + case NSLayoutAttributeTop: + self.layoutConstant = insets.top; + break; + case NSLayoutAttributeBottom: + self.layoutConstant = -insets.bottom; + break; + case NSLayoutAttributeRight: + self.layoutConstant = -insets.right; + break; + default: + break; + } +} + +- (void)setOffset:(CGFloat)offset { + self.layoutConstant = offset; +} + +- (void)setSizeOffset:(CGSize)sizeOffset { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeWidth: + self.layoutConstant = sizeOffset.width; + break; + case NSLayoutAttributeHeight: + self.layoutConstant = sizeOffset.height; + break; + default: + break; + } +} + +- (void)setCenterOffset:(CGPoint)centerOffset { + NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute; + switch (layoutAttribute) { + case NSLayoutAttributeCenterX: + self.layoutConstant = centerOffset.x; + break; + case NSLayoutAttributeCenterY: + self.layoutConstant = centerOffset.y; + break; + default: + break; + } +} + +#pragma mark - MASConstraint + +- (void)activate { + if ([self supportsActiveProperty] && self.layoutConstraint) { + if (self.hasBeenInstalled) { + return; + } + self.layoutConstraint.active = YES; + [self.firstViewAttribute.view.mas_installedConstraints addObject:self]; + } else { + [self install]; + } +} + +- (void)deactivate { + if ([self supportsActiveProperty]) { + self.layoutConstraint.active = NO; + [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; + } else { + [self uninstall]; + } +} + +- (void)install { + if (self.hasBeenInstalled) { + return; + } + + MAS_VIEW *firstLayoutItem = self.firstViewAttribute.view; + + NSLayoutAttribute firstLayoutAttribute = self.firstViewAttribute.layoutAttribute; + MAS_VIEW *secondLayoutItem = self.secondViewAttribute.view; + NSLayoutAttribute secondLayoutAttribute = self.secondViewAttribute.layoutAttribute; + + // alignment attributes must have a secondViewAttribute + // therefore we assume that is refering to superview + // eg make.left.equalTo(@10) + if (!self.firstViewAttribute.isSizeAttribute && !self.secondViewAttribute) { + secondLayoutItem = firstLayoutItem.superview; + secondLayoutAttribute = firstLayoutAttribute; + } + + MASLayoutConstraint *layoutConstraint + = [MASLayoutConstraint constraintWithItem:firstLayoutItem + attribute:firstLayoutAttribute + relatedBy:self.layoutRelation + toItem:secondLayoutItem + attribute:secondLayoutAttribute + multiplier:self.layoutMultiplier + constant:self.layoutConstant]; + + layoutConstraint.priority = self.layoutPriority; + layoutConstraint.mas_key = self.mas_key; + + if (secondLayoutItem) { + MAS_VIEW *closestCommonSuperview = [firstLayoutItem mas_closestCommonSuperview:secondLayoutItem]; + NSAssert(closestCommonSuperview, + @"couldn't find a common superview for %@ and %@", + firstLayoutItem, secondLayoutItem); + self.installedView = closestCommonSuperview; + } else { + self.installedView = firstLayoutItem; + } + + + MASLayoutConstraint *existingConstraint = nil; + if (self.updateExisting) { + existingConstraint = [self layoutConstraintSimilarTo:layoutConstraint]; + } + if (existingConstraint) { + // just update the constant + existingConstraint.constant = layoutConstraint.constant; + self.layoutConstraint = existingConstraint; + } else { + [self.installedView addConstraint:layoutConstraint]; + self.layoutConstraint = layoutConstraint; + } + + [firstLayoutItem.mas_installedConstraints addObject:self]; +} + +- (MASLayoutConstraint *)layoutConstraintSimilarTo:(MASLayoutConstraint *)layoutConstraint { + // check if any constraints are the same apart from the only mutable property constant + + // go through constraints in reverse as we do not want to match auto-resizing or interface builder constraints + // and they are likely to be added first. + for (NSLayoutConstraint *existingConstraint in self.installedView.constraints.reverseObjectEnumerator) { + if (![existingConstraint isKindOfClass:MASLayoutConstraint.class]) continue; + if (existingConstraint.firstItem != layoutConstraint.firstItem) continue; + if (existingConstraint.secondItem != layoutConstraint.secondItem) continue; + if (existingConstraint.firstAttribute != layoutConstraint.firstAttribute) continue; + if (existingConstraint.secondAttribute != layoutConstraint.secondAttribute) continue; + if (existingConstraint.relation != layoutConstraint.relation) continue; + if (existingConstraint.multiplier != layoutConstraint.multiplier) continue; + if (existingConstraint.priority != layoutConstraint.priority) continue; + + return (id)existingConstraint; + } + return nil; +} + +- (void)uninstall { + [self.installedView removeConstraint:self.layoutConstraint]; + self.layoutConstraint = nil; + self.installedView = nil; + + [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/Masonry.h b/Example/Pods/Masonry/Masonry/Masonry.h new file mode 100644 index 0000000..0a1c7ba --- /dev/null +++ b/Example/Pods/Masonry/Masonry/Masonry.h @@ -0,0 +1,20 @@ +// +// Masonry.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" +#import "View+MASAdditions.h" +#import "View+MASShorthandAdditions.h" +#import "NSArray+MASAdditions.h" +#import "NSArray+MASShorthandAdditions.h" +#import "MASConstraint.h" +#import "MASCompositeConstraint.h" +#import "MASViewAttribute.h" +#import "MASViewConstraint.h" +#import "MASConstraintMaker.h" +#import "MASLayoutConstraint.h" +#import "NSLayoutConstraint+MASDebugAdditions.h" diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h new file mode 100644 index 0000000..189d51f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.h @@ -0,0 +1,47 @@ +// +// NSArray+MASAdditions.h +// +// +// Created by Daniel Hammond on 11/26/13. +// +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +@interface NSArray (MASAdditions) + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created MASConstraints + */ +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. + * If an existing constraint exists then it will be updated instead. + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with each view in the callee. + * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. + * All constraints previously installed for the views will be removed. + * + * @param block scope within which you can build up the constraints which you wish to apply to each view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m new file mode 100644 index 0000000..dbbe671 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASAdditions.m @@ -0,0 +1,41 @@ +// +// NSArray+MASAdditions.m +// +// +// Created by Daniel Hammond on 11/26/13. +// +// + +#import "NSArray+MASAdditions.h" +#import "View+MASAdditions.h" + +@implementation NSArray (MASAdditions) + +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_makeConstraints:block]]; + } + return constraints; +} + +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_updateConstraints:block]]; + } + return constraints; +} + +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { + NSMutableArray *constraints = [NSMutableArray array]; + for (MAS_VIEW *view in self) { + NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); + [constraints addObjectsFromArray:[view mas_remakeConstraints:block]]; + } + return constraints; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h b/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h new file mode 100644 index 0000000..8b47369 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h @@ -0,0 +1,41 @@ +// +// NSArray+MASShorthandAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "NSArray+MASAdditions.h" + +#ifdef MAS_SHORTHAND + +/** + * Shorthand array additions without the 'mas_' prefixes, + * only enabled if MAS_SHORTHAND is defined + */ +@interface NSArray (MASShorthandAdditions) + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end + +@implementation NSArray (MASShorthandAdditions) + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end + +#endif diff --git a/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h new file mode 100644 index 0000000..1279b4f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h @@ -0,0 +1,16 @@ +// +// NSLayoutConstraint+MASDebugAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * makes debug and log output of NSLayoutConstraints more readable + */ +@interface NSLayoutConstraint (MASDebugAdditions) + +@end diff --git a/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m new file mode 100644 index 0000000..674943f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.m @@ -0,0 +1,129 @@ +// +// NSLayoutConstraint+MASDebugAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 3/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "NSLayoutConstraint+MASDebugAdditions.h" +#import "MASConstraint.h" +#import "MASLayoutConstraint.h" + +@implementation NSLayoutConstraint (MASDebugAdditions) + +#pragma mark - description maps + ++ (NSDictionary *)layoutRelationDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ + descriptionMap = @{ + @(NSLayoutRelationEqual) : @"==", + @(NSLayoutRelationGreaterThanOrEqual) : @">=", + @(NSLayoutRelationLessThanOrEqual) : @"<=", + }; + }); + return descriptionMap; +} + ++ (NSDictionary *)layoutAttributeDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ + descriptionMap = @{ + @(NSLayoutAttributeTop) : @"top", + @(NSLayoutAttributeLeft) : @"left", + @(NSLayoutAttributeBottom) : @"bottom", + @(NSLayoutAttributeRight) : @"right", + @(NSLayoutAttributeLeading) : @"leading", + @(NSLayoutAttributeTrailing) : @"trailing", + @(NSLayoutAttributeWidth) : @"width", + @(NSLayoutAttributeHeight) : @"height", + @(NSLayoutAttributeCenterX) : @"centerX", + @(NSLayoutAttributeCenterY) : @"centerY", + @(NSLayoutAttributeBaseline) : @"baseline", + }; + + }); + return descriptionMap; +} + + ++ (NSDictionary *)layoutPriorityDescriptionsByValue { + static dispatch_once_t once; + static NSDictionary *descriptionMap; + dispatch_once(&once, ^{ +#if TARGET_OS_IPHONE + descriptionMap = @{ + @(MASLayoutPriorityDefaultHigh) : @"high", + @(MASLayoutPriorityDefaultLow) : @"low", + @(MASLayoutPriorityDefaultMedium) : @"medium", + @(MASLayoutPriorityRequired) : @"required", + @(MASLayoutPriorityFittingSizeLevel) : @"fitting size", + }; +#elif TARGET_OS_MAC + descriptionMap = @{ + @(MASLayoutPriorityDefaultHigh) : @"high", + @(MASLayoutPriorityDragThatCanResizeWindow) : @"drag can resize window", + @(MASLayoutPriorityDefaultMedium) : @"medium", + @(MASLayoutPriorityWindowSizeStayPut) : @"window size stay put", + @(MASLayoutPriorityDragThatCannotResizeWindow) : @"drag cannot resize window", + @(MASLayoutPriorityDefaultLow) : @"low", + @(MASLayoutPriorityFittingSizeCompression) : @"fitting size", + @(MASLayoutPriorityRequired) : @"required", + }; +#endif + }); + return descriptionMap; +} + +#pragma mark - description override + ++ (NSString *)descriptionForObject:(id)obj { + if ([obj respondsToSelector:@selector(mas_key)] && [obj mas_key]) { + return [NSString stringWithFormat:@"%@:%@", [obj class], [obj mas_key]]; + } + return [NSString stringWithFormat:@"%@:%p", [obj class], obj]; +} + +- (NSString *)description { + NSMutableString *description = [[NSMutableString alloc] initWithString:@"<"]; + + [description appendString:[self.class descriptionForObject:self]]; + + [description appendFormat:@" %@", [self.class descriptionForObject:self.firstItem]]; + if (self.firstAttribute != NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@".%@", [self.class.layoutAttributeDescriptionsByValue objectForKey:@(self.firstAttribute)]]; + } + + [description appendFormat:@" %@", [self.class.layoutRelationDescriptionsByValue objectForKey:@(self.relation)]]; + + if (self.secondItem) { + [description appendFormat:@" %@", [self.class descriptionForObject:self.secondItem]]; + } + if (self.secondAttribute != NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@".%@", [self.class.layoutAttributeDescriptionsByValue objectForKey:@(self.secondAttribute)]]; + } + + if (self.multiplier != 1) { + [description appendFormat:@" * %g", self.multiplier]; + } + + if (self.secondAttribute == NSLayoutAttributeNotAnAttribute) { + [description appendFormat:@" %g", self.constant]; + } else { + if (self.constant) { + [description appendFormat:@" %@ %g", (self.constant < 0 ? @"-" : @"+"), ABS(self.constant)]; + } + } + + if (self.priority != MASLayoutPriorityRequired) { + [description appendFormat:@" ^%@", [self.class.layoutPriorityDescriptionsByValue objectForKey:@(self.priority)] ?: [NSNumber numberWithDouble:self.priority]]; + } + + [description appendString:@">"]; + return description; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASAdditions.h b/Example/Pods/Masonry/Masonry/View+MASAdditions.h new file mode 100644 index 0000000..7c29a0f --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASAdditions.h @@ -0,0 +1,81 @@ +// +// UIView+MASAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +/** + * Provides constraint maker block + * and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs + */ +@interface MAS_VIEW (MASAdditions) + +/** + * following properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute + */ +@property (nonatomic, strong, readonly) MASViewAttribute *mas_left; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_top; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_right; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottom; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_leading; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailing; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_width; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_height; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerX; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerY; +@property (nonatomic, strong, readonly) MASViewAttribute *mas_baseline; +@property (nonatomic, strong, readonly) MASViewAttribute *(^mas_attribute)(NSLayoutAttribute attr); + +/** + * a key to associate with this view + */ +@property (nonatomic, strong) id mas_key; + +/** + * Finds the closest common superview between this view and another view + * + * @param view other view + * + * @return returns nil if common superview could not be found + */ +- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created MASConstraints + */ +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. + * If an existing constraint exists then it will be updated instead. + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block; + +/** + * Creates a MASConstraintMaker with the callee view. + * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. + * All constraints previously installed for the view will be removed. + * + * @param block scope within which you can build up the constraints which you wish to apply to the view. + * + * @return Array of created/updated MASConstraints + */ +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASAdditions.m b/Example/Pods/Masonry/Masonry/View+MASAdditions.m new file mode 100644 index 0000000..d91d9fd --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASAdditions.m @@ -0,0 +1,119 @@ +// +// UIView+MASAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 20/07/13. +// Copyright (c) 2013 cloudling. All rights reserved. +// + +#import "View+MASAdditions.h" +#import + +@implementation MAS_VIEW (MASAdditions) + +- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + constraintMaker.updateExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { + self.translatesAutoresizingMaskIntoConstraints = NO; + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; + constraintMaker.removeExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +#pragma mark - NSLayoutAttribute properties + +- (MASViewAttribute *)mas_left { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASViewAttribute *)mas_top { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTop]; +} + +- (MASViewAttribute *)mas_right { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRight]; +} + +- (MASViewAttribute *)mas_bottom { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASViewAttribute *)mas_leading { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASViewAttribute *)mas_trailing { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASViewAttribute *)mas_width { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASViewAttribute *)mas_height { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASViewAttribute *)mas_centerX { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASViewAttribute *)mas_centerY { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASViewAttribute *)mas_baseline { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBaseline]; +} + +- (MASViewAttribute *(^)(NSLayoutAttribute))mas_attribute +{ + return ^(NSLayoutAttribute attr) { + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:attr]; + }; +} + +#pragma mark - associated properties + +- (id)mas_key { + return objc_getAssociatedObject(self, @selector(mas_key)); +} + +- (void)setMas_key:(id)key { + objc_setAssociatedObject(self, @selector(mas_key), key, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +#pragma mark - heirachy + +- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view { + MAS_VIEW *closestCommonSuperview = nil; + + MAS_VIEW *secondViewSuperview = view; + while (!closestCommonSuperview && secondViewSuperview) { + MAS_VIEW *firstViewSuperview = self; + while (!closestCommonSuperview && firstViewSuperview) { + if (secondViewSuperview == firstViewSuperview) { + closestCommonSuperview = secondViewSuperview; + } + firstViewSuperview = firstViewSuperview.superview; + } + secondViewSuperview = secondViewSuperview.superview; + } + return closestCommonSuperview; +} + +@end diff --git a/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h b/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h new file mode 100644 index 0000000..9003394 --- /dev/null +++ b/Example/Pods/Masonry/Masonry/View+MASShorthandAdditions.h @@ -0,0 +1,75 @@ +// +// UIView+MASShorthandAdditions.h +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "View+MASAdditions.h" + +#ifdef MAS_SHORTHAND + +/** + * Shorthand view additions without the 'mas_' prefixes, + * only enabled if MAS_SHORTHAND is defined + */ +@interface MAS_VIEW (MASShorthandAdditions) + +@property (nonatomic, strong, readonly) MASViewAttribute *left; +@property (nonatomic, strong, readonly) MASViewAttribute *top; +@property (nonatomic, strong, readonly) MASViewAttribute *right; +@property (nonatomic, strong, readonly) MASViewAttribute *bottom; +@property (nonatomic, strong, readonly) MASViewAttribute *leading; +@property (nonatomic, strong, readonly) MASViewAttribute *trailing; +@property (nonatomic, strong, readonly) MASViewAttribute *width; +@property (nonatomic, strong, readonly) MASViewAttribute *height; +@property (nonatomic, strong, readonly) MASViewAttribute *centerX; +@property (nonatomic, strong, readonly) MASViewAttribute *centerY; +@property (nonatomic, strong, readonly) MASViewAttribute *baseline; +@property (nonatomic, strong, readonly) MASViewAttribute *(^attribute)(NSLayoutAttribute attr); + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; + +@end + +#define MAS_ATTR_FORWARD(attr) \ +- (MASViewAttribute *)attr { \ + return [self mas_##attr]; \ +} + +@implementation MAS_VIEW (MASShorthandAdditions) + +MAS_ATTR_FORWARD(top); +MAS_ATTR_FORWARD(left); +MAS_ATTR_FORWARD(bottom); +MAS_ATTR_FORWARD(right); +MAS_ATTR_FORWARD(leading); +MAS_ATTR_FORWARD(trailing); +MAS_ATTR_FORWARD(width); +MAS_ATTR_FORWARD(height); +MAS_ATTR_FORWARD(centerX); +MAS_ATTR_FORWARD(centerY); +MAS_ATTR_FORWARD(baseline); + +- (MASViewAttribute *(^)(NSLayoutAttribute))attribute { + return [self mas_attribute]; +} + +- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end + +#endif diff --git a/Example/Pods/Masonry/README.md b/Example/Pods/Masonry/README.md new file mode 100644 index 0000000..ed758e2 --- /dev/null +++ b/Example/Pods/Masonry/README.md @@ -0,0 +1,363 @@ +#Masonry [![Build Status](https://travis-ci.org/Masonry/Masonry.svg?branch=master)](https://travis-ci.org/Masonry/Masonry) [![Coverage Status](https://img.shields.io/coveralls/Masonry/Masonry.svg?style=flat-square)](https://coveralls.io/r/Masonry/Masonry) + +Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax. Masonry has its own layout DSL which provides a chainable way of describing your NSLayoutConstraints which results in layout code that is more concise and readable. +Masonry supports iOS and Mac OS X. + +For examples take a look at the **Masonry iOS Examples** project in the Masonry workspace. You will need to run `pod install` after downloading. + +## What's wrong with NSLayoutConstraints? + +Under the hood Auto Layout is a powerful and flexible way of organising and laying out your views. However creating constraints from code is verbose and not very descriptive. +Imagine a simple example in which you want to have a view fill its superview but inset by 10 pixels on every side +```obj-c +UIView *superview = self; + +UIView *view1 = [[UIView alloc] init]; +view1.translatesAutoresizingMaskIntoConstraints = NO; +view1.backgroundColor = [UIColor greenColor]; +[superview addSubview:view1]; + +UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10); + +[superview addConstraints:@[ + + //view1 constraints + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeTop + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeTop + multiplier:1.0 + constant:padding.top], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeLeft + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeLeft + multiplier:1.0 + constant:padding.left], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeBottom + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeBottom + multiplier:1.0 + constant:-padding.bottom], + + [NSLayoutConstraint constraintWithItem:view1 + attribute:NSLayoutAttributeRight + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeRight + multiplier:1 + constant:-padding.right], + + ]]; +``` +Even with such a simple example the code needed is quite verbose and quickly becomes unreadable when you have more than 2 or 3 views. +Another option is to use Visual Format Language (VFL), which is a bit less long winded. +However the ASCII type syntax has its own pitfalls and its also a bit harder to animate as `NSLayoutConstraint constraintsWithVisualFormat:` returns an array. + +## Prepare to meet your Maker! + +Heres the same constraints created using MASConstraintMaker + +```obj-c +UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10); + +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(superview.mas_top).with.offset(padding.top); //with is an optional semantic filler + make.left.equalTo(superview.mas_left).with.offset(padding.left); + make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom); + make.right.equalTo(superview.mas_right).with.offset(-padding.right); +}]; +``` +Or even shorter + +```obj-c +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(superview).with.insets(padding); +}]; +``` + +Also note in the first example we had to add the constraints to the superview `[superview addConstraints:...`. +Masonry however will automagically add constraints to the appropriate view. + +Masonry will also call `view1.translatesAutoresizingMaskIntoConstraints = NO;` for you. + +## Not all things are created equal + +> `.equalTo` equivalent to **NSLayoutRelationEqual** + +> `.lessThanOrEqualTo` equivalent to **NSLayoutRelationLessThanOrEqual** + +> `.greaterThanOrEqualTo` equivalent to **NSLayoutRelationGreaterThanOrEqual** + +These three equality constraints accept one argument which can be any of the following: + +#### 1. MASViewAttribute + +```obj-c +make.centerX.lessThanOrEqualTo(view2.mas_left); +``` + +MASViewAttribute | NSLayoutAttribute +------------------------- | -------------------------- +view.mas_left | NSLayoutAttributeLeft +view.mas_right | NSLayoutAttributeRight +view.mas_top | NSLayoutAttributeTop +view.mas_bottom | NSLayoutAttributeBottom +view.mas_leading | NSLayoutAttributeLeading +view.mas_trailing | NSLayoutAttributeTrailing +view.mas_width | NSLayoutAttributeWidth +view.mas_height | NSLayoutAttributeHeight +view.mas_centerX | NSLayoutAttributeCenterX +view.mas_centerY | NSLayoutAttributeCenterY +view.mas_baseline | NSLayoutAttributeBaseline + +#### 2. UIView/NSView + +if you want view.left to be greater than or equal to label.left : +```obj-c +//these two constraints are exactly the same +make.left.greaterThanOrEqualTo(label); +make.left.greaterThanOrEqualTo(label.mas_left); +``` + +#### 3. NSNumber + +Auto Layout allows width and height to be set to constant values. +if you want to set view to have a minimum and maximum width you could pass a number to the equality blocks: +```obj-c +//width >= 200 && width <= 400 +make.width.greaterThanOrEqualTo(@200); +make.width.lessThanOrEqualTo(@400) +``` + +However Auto Layout does not allow alignment attributes such as left, right, centerY etc to be set to constant values. +So if you pass a NSNumber for these attributes Masonry will turn these into constraints relative to the view’s superview ie: +```obj-c +//creates view.left = view.superview.left + 10 +make.left.lessThanOrEqualTo(@10) +``` + +Instead of using NSNumber, you can use primitives and structs to build your constraints, like so: +```obj-c +make.top.mas_equalTo(42); +make.height.mas_equalTo(20); +make.size.mas_equalTo(CGSizeMake(50, 100)); +make.edges.mas_equalTo(UIEdgeInsetsMake(10, 0, 10, 0)); +make.left.mas_equalTo(view).mas_offset(UIEdgeInsetsMake(10, 0, 10, 0)); +``` + +By default, macros which support [autoboxing](https://en.wikipedia.org/wiki/Autoboxing#Autoboxing) are prefixed with `mas_`. Unprefixed versions are available by defining `MAS_SHORTHAND_GLOBALS` before importing Masonry. + +#### 4. NSArray + +An array of a mixture of any of the previous types +```obj-c +make.height.equalTo(@[view1.mas_height, view2.mas_height]); +make.height.equalTo(@[view1, view2]); +make.left.equalTo(@[view1, @100, view3.right]); +```` + +## Learn to prioritize + +> `.prority` allows you to specify an exact priority + +> `.priorityHigh` equivalent to **UILayoutPriorityDefaultHigh** + +> `.priorityMedium` is half way between high and low + +> `.priorityLow` equivalent to **UILayoutPriorityDefaultLow** + +Priorities are can be tacked on to the end of a constraint chain like so: +```obj-c +make.left.greaterThanOrEqualTo(label.mas_left).with.priorityLow(); + +make.top.equalTo(label.mas_top).with.priority(600); +``` + +## Composition, composition, composition + +Masonry also gives you a few convenience methods which create multiple constraints at the same time. These are called MASCompositeConstraints + +#### edges + +```obj-c +// make top, left, bottom, right equal view2 +make.edges.equalTo(view2); + +// make top = superview.top + 5, left = superview.left + 10, +// bottom = superview.bottom - 15, right = superview.right - 20 +make.edges.equalTo(superview).insets(UIEdgeInsetsMake(5, 10, 15, 20)) +``` + +#### size + +```obj-c +// make width and height greater than or equal to titleLabel +make.size.greaterThanOrEqualTo(titleLabel) + +// make width = superview.width + 100, height = superview.height - 50 +make.size.equalTo(superview).sizeOffset(CGSizeMake(100, -50)) +``` + +#### center +```obj-c +// make centerX and centerY = button1 +make.center.equalTo(button1) + +// make centerX = superview.centerX - 5, centerY = superview.centerY + 10 +make.center.equalTo(superview).centerOffset(CGPointMake(-5, 10)) +``` + +You can chain view attributes for increased readability: + +```obj-c +// All edges but the top should equal those of the superview +make.left.right.and.bottom.equalTo(superview); +make.top.equalTo(otherView); +``` + +## Hold on for dear life + +Sometimes you need modify existing constraints in order to animate or remove/replace constraints. +In Masonry there are a few different approaches to updating constraints. + +#### 1. References +You can hold on to a reference of a particular constraint by assigning the result of a constraint make expression to a local variable or a class property. +You could also reference multiple constraints by storing them away in an array. + +```obj-c +// in public/private interface +@property (nonatomic, strong) MASConstraint *topConstraint; + +... + +// when making constraints +[view1 mas_makeConstraints:^(MASConstraintMaker *make) { + self.topConstraint = make.top.equalTo(superview.mas_top).with.offset(padding.top); + make.left.equalTo(superview.mas_left).with.offset(padding.left); +}]; + +... +// then later you can call +[self.topConstraint uninstall]; +``` + +#### 2. mas_updateConstraints +Alternatively if you are only updating the constant value of the constraint you can use the convience method `mas_updateConstraints` instead of `mas_makeConstraints` + +```obj-c +// this is Apple's recommended place for adding/updating constraints +// this method can get called multiple times in response to setNeedsUpdateConstraints +// which can be called by UIKit internally or in your code if you need to trigger an update to your constraints +- (void)updateConstraints { + [self.growingButton mas_updateConstraints:^(MASConstraintMaker *make) { + make.center.equalTo(self); + make.width.equalTo(@(self.buttonSize.width)).priorityLow(); + make.height.equalTo(@(self.buttonSize.height)).priorityLow(); + make.width.lessThanOrEqualTo(self); + make.height.lessThanOrEqualTo(self); + }]; + + //according to apple super should be called at end of method + [super updateConstraints]; +} +``` + +### 3. mas_remakeConstraints +`mas_updateConstraints` is useful for updating a set of constraints, but doing anything beyond updating constant values can get exhausting. That's where `mas_remakeConstraints` comes in. + +`mas_remakeConstraints` is similar to `mas_updateConstraints`, but instead of updating constant values, it will remove all of its contraints before installing them again. This lets you provide different constraints without having to keep around references to ones which you want to remove. + +```obj-c +- (void)changeButtonPosition { + [self.button mas_remakeConstraints:^(MASConstraintMaker *make) { + make.size.equalTo(self.buttonSize); + + if (topLeft) { + make.top.and.left.offset(10); + } else { + make.bottom.and.right.offset(-10); + } + }]; +} +``` + +You can find more detailed examples of all three approaches in the **Masonry iOS Examples** project. + +## When the ^&*!@ hits the fan! + +Laying out your views doesn't always goto plan. So when things literally go pear shaped, you don't want to be looking at console output like this: + +```obj-c +Unable to simultaneously satisfy constraints.....blah blah blah.... +( + "=5000)]>", + "", + "", + "" +) + +Will attempt to recover by breaking constraint +=5000)]> +``` + +Masonry adds a category to NSLayoutConstraint which overrides the default implementation of `- (NSString *)description`. +Now you can give meaningful names to views and constraints, and also easily pick out the constraints created by Masonry. + +which means your console output can now look like this: + +```obj-c +Unable to simultaneously satisfy constraints......blah blah blah.... +( + "", + "= 5000>", + "", + "" +) + +Will attempt to recover by breaking constraint += 5000> +``` + +For an example of how to set this up take a look at the **Masonry iOS Examples** project in the Masonry workspace. + +## Installation +Use the [orsome](http://www.youtube.com/watch?v=YaIZF8uUTtk) [CocoaPods](http://github.com/CocoaPods/CocoaPods). + +In your Podfile +>`pod 'Masonry'` + +If you want to use masonry without all those pesky 'mas_' prefixes. Add #define MAS_SHORTHAND to your prefix.pch before importing Masonry +>`#define MAS_SHORTHAND` + +Get busy Masoning +>`#import "Masonry.h"` + +## Code Snippets + +Copy the included code snippets to ``~/Library/Developer/Xcode/UserData/CodeSnippets`` to write your masonry blocks at lightning speed! + +`mas_make` -> `[ mas_makeConstraints:^(MASConstraintMaker *make){}];` + +`mas_update` -> `[ mas_updateConstraints:^(MASConstraintMaker *make){}];` + +`mas_remake` -> `[ mas_remakeConstraints:^(MASConstraintMaker *make){}];` + +## Features +* Not limited to subset of Auto Layout. Anything NSLayoutConstraint can do, Masonry can do too! +* Great debug support, give your views and constraints meaningful names. +* Constraints read like sentences. +* No crazy macro magic. Masonry won't pollute the global namespace with macros. +* Not string or dictionary based and hence you get compile time checking. + +## TODO +* Eye candy +* Mac example project +* More tests and examples + diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 17b358d..24a04ea 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1352 +7,1370 @@ objects = { /* Begin PBXBuildFile section */ - 0292CDCF88E0AE040AE457AD /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B41BC4F59C9AFB0F2B2F9709 /* XCTest.framework */; }; - 02F89F0F32F9666ECF4FD784 /* IFTTTAlphaAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E3DACEFD08C0645E69178D2 /* IFTTTAlphaAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 03799167DD970F98A0AE533F /* IFTTTTransform3DAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 750FB2EF7FDC6010FCCA2506 /* IFTTTTransform3DAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 03DAAF757F23EDE7041E0704 /* IFTTTLabelAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F7993624656BB6FA551993BB /* IFTTTLabelAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 042E8F9038771BD52F7CA5D8 /* IFTTTEasingFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = 66827CB2F1A3D514BB314695 /* IFTTTEasingFunction.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 045A5B5B3709D5C7715C300B /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 7339B482CD14D83172838D4A /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 04D5A51BC5418EE88719B937 /* IFTTTTransform3DAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C4A2ED28DFE02466E7B2DB6 /* IFTTTTransform3DAnimation.h */; }; - 05D6E1C242177E0C2E88C837 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = FF049F59D8CA2671225B373D /* SPTTestSuite.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 08154935B7EAD98A36767285 /* IFTTTFilmstrip.m in Sources */ = {isa = PBXBuildFile; fileRef = D1DECE85F99DB176A990CB84 /* IFTTTFilmstrip.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 0875F4680F789BF646473FB7 /* IFTTTHideAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E8C366F517DDCC943F01AD3 /* IFTTTHideAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 0994C094BFA00464C0F2DE33 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 907DD1B245F66962FCC38175 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 099C8FAB2CA040449260F0BB /* IFTTTColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F92F4C576AA5DF053E7FE99E /* IFTTTColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 0B652046B8FE9A6D49A86F8C /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = D09A2DD9308A955710899C86 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0E0A17AF6C5CD43F23D78921 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = E148F4C7E1F7B4AE6859D5F3 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0F30A89BCF0F033C5B8F174A /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 411FE79644EFC92FD5999BC2 /* SPTExample.h */; }; - 10A0A7E270EE3C5D2A6BD15E /* IFTTTTranslationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBD14E380909DBEB60A523 /* IFTTTTranslationAnimation.h */; }; - 12D7C3815AE235C1097FA56F /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C022B31F1996A4E30BC964B /* SPTExampleGroup.h */; }; - 139D1C1CB14AA8BC86AA26F6 /* IFTTTAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E852DF9A8D8B6C5BD9D174 /* IFTTTAnimator.h */; }; - 1438674FE8E05E421B774F4B /* IFTTTAnimatedPagingScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C030FDB2672516FEC00B8A /* IFTTTAnimatedPagingScrollViewController.h */; }; - 159B0775A1BF98C5D503946A /* IFTTTScaleAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 41665A98E7A2989C0540932B /* IFTTTScaleAnimation.h */; }; - 16B841CBC555D8C5B6DF8E16 /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D9375A8FA1FB91E14D42BFB3 /* EXPMatchers+beCloseTo.h */; }; - 176F0B0CFABDE496FE2CB75C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - 17E0B42AF301ABE8A77038BF /* IFTTTConstraintMultiplierAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = DC97B97BE29E599A1E061DF4 /* IFTTTConstraintMultiplierAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 195BAA47E890209EEBB8BDE4 /* IFTTTViewAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E49EE81C8B6906E648059D /* IFTTTViewAnimation.h */; }; - 1CBED30EFD0EE9F3E9852211 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B1B5419A0190E33FC50F04E /* EXPMatchers+conformTo.h */; }; - 211AB2C2210C9B0F3AFB6775 /* IFTTTStrokeStartAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = D45C64A3B920291E2CA08B3D /* IFTTTStrokeStartAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 21EBA63E9D88A8E6A754E6EB /* IFTTTFillColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 294E402DA2EEE4E96A109F72 /* IFTTTFillColorAnimation.h */; }; - 222FC3D192E6844C6A7DF36F /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = D5F0B5332F43EBB506D452FF /* Expecta.h */; }; - 23EABAFEFA75AB2DA796CE75 /* IFTTTTextColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3446018392C5339D4A3631D3 /* IFTTTTextColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 252568172A036560CA1689E0 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 4491CD033F8C68F60DC98D2D /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 27D31754A20F4CD00089387B /* IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = D1A7CA255EEE41815C415CEA /* IFTTTJazzHands.h */; }; - 2A028F81753787B6A419D5F3 /* IFTTTHideAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = EE4984D09E42888921D0E413 /* IFTTTHideAnimation.h */; }; - 2A0FE7308221339BC8906D75 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F29880F4B7BB0C295040701 /* EXPMatchers+equal.h */; }; - 2A5D50B959D7BA13596DA6D6 /* IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = D1A7CA255EEE41815C415CEA /* IFTTTJazzHands.h */; }; - 2AB1689EAFBE5C90C88F1779 /* IFTTTShapeLayerAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7907D01D0D268B01F5E91357 /* IFTTTShapeLayerAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 2B0D16AECD7050C99BEEDFB9 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = A0662A21ACE7C1E14AF1FAA9 /* SPTCallSite.h */; }; - 2BC1C453BA3E696C7D1CC449 /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A680AEBD78661666B26114 /* SPTSpec.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 2C99B0DDFBC1069FEDBC1007 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = C7824ABCCD4DB01B5092F46D /* IFTTTScrollViewPageConstraintAnimation.h */; }; - 2DB6759B8496A3E92AF9171A /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = B1212A8114D53161D6FB685D /* NSObject+Expecta.h */; }; - 2DDAC087C0452B02FBB84520 /* IFTTTScaleAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB5203E60770E20F1BF4F5F /* IFTTTScaleAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 2DF575221F1C748A71BEA15B /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = B41E7A44F69A601BA2E42AC8 /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2E1A43FD33880DDD68824C0F /* IFTTTInterpolatable.m in Sources */ = {isa = PBXBuildFile; fileRef = 6022CE483547D3A6727C0AC8 /* IFTTTInterpolatable.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 306CFAB93A5A15EA82A26A57 /* IFTTTEasingFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 66C5C5B6E2894A60757FF56C /* IFTTTEasingFunction.h */; }; - 315A780D1CB573F839388CA9 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = C7824ABCCD4DB01B5092F46D /* IFTTTScrollViewPageConstraintAnimation.h */; }; - 31D9BD8037C4BD78BD906EEA /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F877527E404A15C4C0BF7F6 /* SPTSharedExampleGroups.h */; }; - 321FB4FC3104B87E191791F2 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3536E34D98AD361993E21C /* SpectaUtility.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 325FA289B5E6F3496BF3A758 /* IFTTTStrokeStartAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7436478379463FAEDCFC50C7 /* IFTTTStrokeStartAnimation.h */; }; - 32827D11EFAAE7685D4D1D43 /* IFTTTRotationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 475496CF1856DA976736F2C3 /* IFTTTRotationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 334243D85377389D1C65EC71 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 1581475D443D0D795DB1AC20 /* EXPFloatTuple.h */; }; - 33DB088C0CEBF66F56D84925 /* IFTTTTextColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0385E9231A11BDEC59E31FC3 /* IFTTTTextColorAnimation.h */; }; - 3549919920910D13D6467976 /* IFTTTConstraintMultiplierAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = DC97B97BE29E599A1E061DF4 /* IFTTTConstraintMultiplierAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 35ABF55FD5CDDF2208EE5CE7 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B02B9C1E6538ACC6BBC21CEA /* EXPMatchers+beGreaterThanOrEqualTo.h */; }; - 35DD98939CA7BA6B7469AD69 /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E599076A43298BB62D0BCAF /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 375037094CFC94BD0418B323 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 6186EC8D959CB54D484F6989 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 38F0699F2E01878CD5799170 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 785DDBC1ECA68425191C8A4D /* CoreGraphics.framework */; }; - 392A54F40B3EC68311942B1A /* IFTTTAlphaAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = EAB88DD680277C61C98FC295 /* IFTTTAlphaAnimation.h */; }; - 3A4C0AF097B4F050268CD0B9 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DF20F56A9E619A9CD821D55 /* SpectaDSL.h */; }; - 3A59FEB38BA3D6DCC2CCB82B /* IFTTTAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 45217821746137F806307B8B /* IFTTTAnimator.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 3AADC39303BD29BD596DE002 /* IFTTTAnimatedPagingScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C748F8880E0A11BF2D91BFB3 /* IFTTTAnimatedPagingScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 3BFB22AD97DAD0D502244D8E /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 069882731E4D551CF7B80EC9 /* SpectaUtility.h */; }; - 3D1BAF646FC923D0B587F44C /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 759ED3AE9DCE9A46B442A9A2 /* EXPMatchers+contain.h */; }; - 3DB800444D4EDBD1EA8830D3 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = A8FD15B85FF51D8CDCC2FD5A /* SPTCompiledExample.h */; }; - 3F9F8794A8EC55FE0B28C036 /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = AE752EA8051EDDBB5FBAC953 /* NSValue+Expecta.h */; }; - 41F55D96D3FF084C0AAF3B6A /* UIView+IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = DF26417E447AAA9B5BE0B962 /* UIView+IFTTTJazzHands.h */; }; - 438C8BB0B439BEEA34690A7B /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 838017DD02842D44F5EE765D /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 44E2A01AA83CD44F48068F9A /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 085BD59CA56065738DF42113 /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 44F50BCBB5E732AE3E0B7BD1 /* IFTTTHideAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = EE4984D09E42888921D0E413 /* IFTTTHideAnimation.h */; }; - 45A23022C60E4D2F32C5A124 /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AEA0508E6B6580768E25A11 /* SPTExample.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 468F3ED8EF8A3584608650E9 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBE40D3D0603C5727D292FE /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 47ADBAD6176CA9F36DCC028A /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D85F65556ED22B74787D161 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 48537965DB768D84C23CB45A /* IFTTTAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D4A17355F3E76FE956DD8F /* IFTTTAnimation.h */; }; - 499D8BFA4B7EC42D384C050F /* IFTTTConstraintConstantAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C44FA18D390D4A7C180C747 /* IFTTTConstraintConstantAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 4A380256D66880F4C68D6627 /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 60A898A457ECC717FF89B1F2 /* EXPMatchers+beIdenticalTo.h */; }; - 4A6A2D1AEBA6905E43B4D61D /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F1D3C86CB28C9691E3D9914 /* XCTestCase+Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 4C2617AB94CB2DD4FEC72DF6 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EDA2EB03F64F6C8B3AD147C /* EXPUnsupportedObject.h */; }; - 4D546BCF4C9787C034C4F0D4 /* IFTTTFrameAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B3B16635730AB19C470062 /* IFTTTFrameAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 4ED62314C18CDA44E2240370 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 75C654997F9E90270462B9C3 /* Specta.h */; }; - 4FE2E327E5A4EF2C0DB0D3A0 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EFD2D093A5CA5ADC681AE8E /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 500F5B8E5FC47672818DA917 /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = C3DD9F07C9B3B9742C11384F /* SPTSpec.h */; }; - 5246C2ABD428044190235A69 /* IFTTTColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = E28E5B7BEE4F0CB18DBF7624 /* IFTTTColorAnimation.h */; }; - 52F55117A9EE0609C89C3DD1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - 5434FAF7795BEA69BDF0EA20 /* IFTTTEasingFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = 66827CB2F1A3D514BB314695 /* IFTTTEasingFunction.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 570130BF0A444F0992C16548 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D3BC093FBD571E07F702DE6 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5C2931306FE64CD2DDBFF0E8 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AA02D9FFB8AF6184582149C /* EXPMatchers+postNotification.h */; }; - 5D453002F89499062E764E27 /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = FBB7DE6A6D8019C196B680D6 /* SPTSharedExampleGroups.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 5D4DCA227763B675FF64498E /* IFTTTScaleAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB5203E60770E20F1BF4F5F /* IFTTTScaleAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 5FEA35F336C5ED994DEF0154 /* IFTTTShapeLayerAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 78645949EDC177E1FBC00F5E /* IFTTTShapeLayerAnimation.h */; }; - 63C066B14D0ACD7F7FAEB625 /* IFTTTRotationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = AE00247518DCD77900CF76A3 /* IFTTTRotationAnimation.h */; }; - 64877141CC91721A160D01BD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 785DDBC1ECA68425191C8A4D /* CoreGraphics.framework */; }; - 65C6225AC843B7D2F7C1FB03 /* IFTTTTextColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0385E9231A11BDEC59E31FC3 /* IFTTTTextColorAnimation.h */; }; - 6701530040B139446AFE8AC5 /* IFTTTLabelAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6545EF0918678FA7FCC8F050 /* IFTTTLabelAnimation.h */; }; - 6853BEA14FE80D1723897AFD /* IFTTTFillColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FD3CF03FD3994B9039C63EF /* IFTTTFillColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 6B45BCFEB08A64B102A0CFAC /* Pods-JazzHandsTests-Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F3550B6564714C53C72E7E07 /* Pods-JazzHandsTests-Expecta-dummy.m */; }; - 6D6CF4B0C2AF532B12EB8C4D /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C5B94E1F22A2B62F684DCA /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6ED2BE0EDC023FF4A2B7FF79 /* IFTTTLabelAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6545EF0918678FA7FCC8F050 /* IFTTTLabelAnimation.h */; }; - 6EE6F6846EF04012DB87319A /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 21035450E227DB901C3F33D7 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6EFF72CC40BEFE800F9BBD4D /* IFTTTAnimatedScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A24AC2A3192B4E396BDCCD /* IFTTTAnimatedScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 6FFB7115608386FE68393A22 /* UIView+IFTTTJazzHands.m in Sources */ = {isa = PBXBuildFile; fileRef = 272D9B2C4213EEED01F9460E /* UIView+IFTTTJazzHands.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 70EFA63A96B065F6FCDA154A /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5B6302116ECAF896A36A02 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7582CA2E13BF419313F585F8 /* IFTTTFillColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 294E402DA2EEE4E96A109F72 /* IFTTTFillColorAnimation.h */; }; - 76194E2B00CB012DE426FE5F /* UIView+IFTTTJazzHands.m in Sources */ = {isa = PBXBuildFile; fileRef = 272D9B2C4213EEED01F9460E /* UIView+IFTTTJazzHands.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 76EF2563C445E42217F796A1 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 84E383F1CCF3088D055550A6 /* SPTCallSite.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 77CC42D502BFBDCBEE305850 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 77EAD45720FB5D5E2CA928C3 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7A130EFBDB71E142E848724F /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = BBEA0F11C67AA49A843453E7 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7AC716705A089C6E3C8B15A6 /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = D71CC96F4DD135744424EB3F /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7BE758224697E24A2AEC9954 /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B3D1DD8DFA8F080872960CA8 /* EXPMatchers+beKindOf.h */; }; - 7BF42DA08DD571A7DA07BD95 /* IFTTTConstraintMultiplierAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C0192850549356DAF19349 /* IFTTTConstraintMultiplierAnimation.h */; }; - 7C2B0643008CF97DBE803A19 /* IFTTTLabelAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F7993624656BB6FA551993BB /* IFTTTLabelAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 7C9A824B6C0052C1D3C070B5 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = A7ACD2D2EBCF6E377FD67E00 /* SPTGlobalBeforeAfterEach.h */; }; - 7D25C3357C030C687FE08EC8 /* IFTTTConstraintMultiplierAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C0192850549356DAF19349 /* IFTTTConstraintMultiplierAnimation.h */; }; - 7DC06BA9846C33EC42D206A8 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E57316DD118F52E45207152 /* SPTExcludeGlobalBeforeAfterEach.h */; }; - 7DDAC136F0A88F60D59819AB /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF7BE4C7CD334FDE7799B95 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7F5A14EECEDD0328325DC732 /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A1F47E4C663DEEFEBDE6474C /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7FCB92A56ACB3713B1F50405 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6633193AD4BA6AFAF71B370B /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8002D933224DDEC6BB0C2C8B /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D42A7CED746B6B91A99B360 /* EXPMatchers+beLessThan.h */; }; - 800F0FCDC016E97DC972072D /* IFTTTStrokeStartAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7436478379463FAEDCFC50C7 /* IFTTTStrokeStartAnimation.h */; }; - 80CD7BE60090B1A2B9A12D12 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - 81FDC325FB9E1CEDD3823323 /* IFTTTColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F92F4C576AA5DF053E7FE99E /* IFTTTColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 8322BF370EF3225DF80E09C1 /* IFTTTTranslationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1537E4CE53FDCC85590BFC6C /* IFTTTTranslationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 850E0F9C334CF89D0156DEF6 /* IFTTTRotationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 475496CF1856DA976736F2C3 /* IFTTTRotationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 85A67B087289D31EE36081AE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D891D288817872D5AD9FC40 /* UIKit.framework */; }; - 85C92E43CD73CFA456D3200E /* IFTTTConstraintConstantAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F7DE6E48FEC85D3FAF87C9 /* IFTTTConstraintConstantAnimation.h */; }; - 8752804DECC81C49D4EBD4E2 /* IFTTTFrameAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F15AEFA328224BC372E4EB56 /* IFTTTFrameAnimation.h */; }; - 886DCA8421D181A0BDC8F847 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - 88766996F27F2842A8A95F9E /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = C835FE7F279FDDC568CAACD6 /* SPTExampleGroup.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 887C6C0EECAC5BD4C537B53E /* IFTTTCornerRadiusAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A063D479F7E7ED0ADA7C9F /* IFTTTCornerRadiusAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 88B71C71561A754744BD3CE4 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE17D3C0CDAE51D6E6672DC /* EXPExpect.h */; }; - 8A5AAD775DF0432ADF0F0D7A /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = DDE0D1A0A631EF774B5B5EA3 /* EXPMatchers+raiseWithReason.h */; }; - 8BE9183CC214E3EBD3C519C6 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 05E2B8AD4E6A4FB10A3D60DD /* EXPMatchers+beSupersetOf.h */; }; - 8F51C9758C0D6D0A94F38ED9 /* IFTTTConstraintConstantAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C44FA18D390D4A7C180C747 /* IFTTTConstraintConstantAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 90FC36BD24509FA4703C6AAF /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 641BC4FE9A9657D810384555 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 91C998C488B50F6909FB3145 /* IFTTTStrokeEndAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6067F91822EB4F1D3752C0B0 /* IFTTTStrokeEndAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 93E823ADC7F3CDBBD7598D43 /* Pods-JazzHandsDemo-JazzHands-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A4D3AE9B257720CC1A3719 /* Pods-JazzHandsDemo-JazzHands-dummy.m */; }; - 95BECE5D4C3719B629DD7B1E /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E6987844DA1781B5E8F5749 /* EXPMatchers+beInTheRangeOf.h */; }; - 96253032625559D718AA3975 /* IFTTTHideAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E8C366F517DDCC943F01AD3 /* IFTTTHideAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 9653D35DA0072E0D848AF74B /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C49CA465A2547739740C01D /* SPTCompiledExample.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 9681993C6747C1DF4273B541 /* IFTTTStrokeEndAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 652870E176D149654FC4F114 /* IFTTTStrokeEndAnimation.h */; }; - 9903969F3BAD6AD3F7829D17 /* IFTTTTranslationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBD14E380909DBEB60A523 /* IFTTTTranslationAnimation.h */; }; - 9934961F07249278011FD22E /* IFTTTInterpolatable.h in Headers */ = {isa = PBXBuildFile; fileRef = E73A5EC36B307783A21CFDDB /* IFTTTInterpolatable.h */; }; - 995D6A6781ACC97511B06C6F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - 9A4F82CCA7E3A410AB9CEC04 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 934434C0BD2DB769110411CD /* EXPMatchers+beSubclassOf.h */; }; - 9B323AF1E31F90FCABF797A1 /* IFTTTScrollViewPageConstraintAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6564E350AAA1B2647EF101AE /* IFTTTScrollViewPageConstraintAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - 9E56EB3754464BCC728D0591 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 56CF580A1548C16138C1A174 /* EXPMatchers+beFalsy.h */; }; - A14D62D6FC10147822B42392 /* IFTTTCornerRadiusAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FF746A899C264E74823631 /* IFTTTCornerRadiusAnimation.h */; }; - A2C05EB72A265E9BDFF7778B /* IFTTTFilmstrip.m in Sources */ = {isa = PBXBuildFile; fileRef = D1DECE85F99DB176A990CB84 /* IFTTTFilmstrip.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - A3990BB12514F458170AF4EE /* IFTTTFrameAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B3B16635730AB19C470062 /* IFTTTFrameAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - A5F99C360088CA1A58D5D84A /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E201135640ABD991AB704B67 /* EXPMatchers+beInstanceOf.h */; }; - A68F084F61752B741CB2D167 /* IFTTTFilmstrip.h in Headers */ = {isa = PBXBuildFile; fileRef = BF2126960454E4508B4C8F47 /* IFTTTFilmstrip.h */; }; - AA88B3E196B989A04999889D /* IFTTTAnimatable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E64BC8420E597A057004433 /* IFTTTAnimatable.h */; }; - AB456E309AB09BF42B4F366B /* IFTTTViewAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = B383AE2E43A2CE2341AC6C7E /* IFTTTViewAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - AB905F401AFD285D932B25DE /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110957F6855AE1BD2FB369F /* ExpectaSupport.h */; }; - AE089596AB771096ED52EE4B /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 439F8F70ABD2957C877335D2 /* EXPMatchers+beTruthy.h */; }; - B0C0FD88E306CD985B4D5197 /* Pods-JazzHandsTests-JazzHands-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 11BB584B81272FC191A041A0 /* Pods-JazzHandsTests-JazzHands-dummy.m */; }; - B129A79A7F5995227A6030C3 /* IFTTTColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = E28E5B7BEE4F0CB18DBF7624 /* IFTTTColorAnimation.h */; }; - B145AC676E8E4DCCE928A4C7 /* IFTTTAnimatedPagingScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C030FDB2672516FEC00B8A /* IFTTTAnimatedPagingScrollViewController.h */; }; - B22D1CFEB4042132C21B5F0F /* IFTTTAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D4A17355F3E76FE956DD8F /* IFTTTAnimation.h */; }; - B2E78F7DBC43FFCD180AF457 /* IFTTTInterpolatable.m in Sources */ = {isa = PBXBuildFile; fileRef = 6022CE483547D3A6727C0AC8 /* IFTTTInterpolatable.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - B2F5135481E23EB9065CE3E2 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = B5B4B8A49B8B86B75C90676C /* EXPDoubleTuple.h */; }; - B32D3067815526DAEB5FB51C /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE18933E13686194E220A52 /* EXPMatchers+respondTo.h */; }; - B386064B6191149915F43479 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FCDBAEBFDD5F2EFE2BFF59D /* QuartzCore.framework */; }; - B43490ED4F203534E12B11C8 /* IFTTTAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4714C82809C283AD75123D20 /* IFTTTAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - B725BA404E5AE55ACA31A002 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9CC552477FB201D26A2C8B /* Foundation.framework */; }; - B739A048A7B7CC3870F8A6C6 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 056F3A6F464F3F77019C2057 /* EXPDefines.h */; }; - B761BC6A9276B24EC6ECE5E5 /* IFTTTStrokeEndAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6067F91822EB4F1D3752C0B0 /* IFTTTStrokeEndAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - B8BEC9051FC8BB3316C517FB /* IFTTTConstraintConstantAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F7DE6E48FEC85D3FAF87C9 /* IFTTTConstraintConstantAnimation.h */; }; - B98167CCBB32AF8D3AD11653 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4974C86B8D66A56007169259 /* XCTest+Private.h */; }; - BA53B965C5F1E57B915B11F0 /* IFTTTAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 45217821746137F806307B8B /* IFTTTAnimator.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - BA5FB6F3B1D25420598F80C6 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 710EC4E5C7FE49A60DACAEAB /* EXPMatcherHelpers.h */; }; - BBBB0EEA7707CE1242BA7AE5 /* IFTTTStrokeStartAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = D45C64A3B920291E2CA08B3D /* IFTTTStrokeStartAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - BC7CF6F1BCBB044A31B3AAC6 /* IFTTTRotationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = AE00247518DCD77900CF76A3 /* IFTTTRotationAnimation.h */; }; - BE665A569FC18E64E4EE9EA0 /* IFTTTCornerRadiusAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FF746A899C264E74823631 /* IFTTTCornerRadiusAnimation.h */; }; - C01BB1C0955E09579B198635 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E1050E299910C9551A73727 /* SPTTestSuite.h */; }; - C18A439E943BC1CA86128BC9 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D5F2D6BA0BCFE437618171D /* EXPMatchers+beGreaterThan.h */; }; - C4E7481024CD88098560A310 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 55AAA9162E2BBEDDAAFC1524 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C5C3E5A7B22A4359A1ACAAA5 /* IFTTTFilmstrip.h in Headers */ = {isa = PBXBuildFile; fileRef = BF2126960454E4508B4C8F47 /* IFTTTFilmstrip.h */; }; - C7DABBF3D686565A0E2D0337 /* IFTTTTextColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3446018392C5339D4A3631D3 /* IFTTTTextColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - C8397C4E0282C903A93C6D9C /* IFTTTScrollViewPageConstraintAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6564E350AAA1B2647EF101AE /* IFTTTScrollViewPageConstraintAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - C87707964F3C8CE1963DFDCE /* Pods-JazzHandsTests-Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AF6E47F5FB8196B619F2194 /* Pods-JazzHandsTests-Specta-dummy.m */; }; - CC3C9FE15DBC036ABA00AA11 /* UIView+IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = DF26417E447AAA9B5BE0B962 /* UIView+IFTTTJazzHands.h */; }; - D008F1E054C3E8448A2E2A30 /* IFTTTAnimatedScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 47830E8280C22A00348B3A3A /* IFTTTAnimatedScrollViewController.h */; }; - D0A5F8031C55764CDBD9A38B /* IFTTTCornerRadiusAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A063D479F7E7ED0ADA7C9F /* IFTTTCornerRadiusAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - D19A9C14E7DE124DCB6B9696 /* IFTTTAnimatedScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A24AC2A3192B4E396BDCCD /* IFTTTAnimatedScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - D212149881EB1D2A9DBC849B /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2668D41D1B3BC3C559DE1 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D29FAA17389476FF7953A5CB /* IFTTTAnimatable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E64BC8420E597A057004433 /* IFTTTAnimatable.h */; }; - D49C495BEEDA1BB1FD506180 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A26063CB8EC8E43B6A342C1E /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D56EEB8B91BEF8AF4B23BCB4 /* IFTTTFillColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FD3CF03FD3994B9039C63EF /* IFTTTFillColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - D683217CFA8D337ABDD2E042 /* IFTTTAnimatedPagingScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C748F8880E0A11BF2D91BFB3 /* IFTTTAnimatedPagingScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - D7C4C1CEEF874E4AA6EF0ED9 /* IFTTTEasingFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 66C5C5B6E2894A60757FF56C /* IFTTTEasingFunction.h */; }; - D8582D6C05B4FCA6C935FAF2 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 23043E7DD2D5B53653FA27AE /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D934C211A218BE6C28E60653 /* IFTTTTranslationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1537E4CE53FDCC85590BFC6C /* IFTTTTranslationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - DA886C15FA3AE10E9FC96148 /* IFTTTTransform3DAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C4A2ED28DFE02466E7B2DB6 /* IFTTTTransform3DAnimation.h */; }; - DACBCA1A159DDA9A9FB9CE9F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FCDBAEBFDD5F2EFE2BFF59D /* QuartzCore.framework */; }; - DB67A66BB47D5F948E1BFF3A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B41BC4F59C9AFB0F2B2F9709 /* XCTest.framework */; }; - DE3F780DC71B0CD3470FF3AB /* IFTTTAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E852DF9A8D8B6C5BD9D174 /* IFTTTAnimator.h */; }; - DFB82CEE5D4EE6B864719C64 /* IFTTTAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4714C82809C283AD75123D20 /* IFTTTAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - E0F0D04930ACE01D2C50E863 /* IFTTTAlphaAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = EAB88DD680277C61C98FC295 /* IFTTTAlphaAnimation.h */; }; - E2E66ADCC45C81E249EF18A3 /* IFTTTShapeLayerAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7907D01D0D268B01F5E91357 /* IFTTTShapeLayerAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - E68F9252FD569CD9E9C7E220 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = D9612CA2B60C3E8A91FC066E /* SpectaTypes.h */; }; - E69C98D05BBA0954FAEAD865 /* IFTTTStrokeEndAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 652870E176D149654FC4F114 /* IFTTTStrokeEndAnimation.h */; }; - E6F62634EF008AB1BBDA24B8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D891D288817872D5AD9FC40 /* UIKit.framework */; }; - E7FDCBFDDF5EC8199762BEE4 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 07A9B1FF0044C513E33841A9 /* EXPMatchers+beLessThanOrEqualTo.h */; }; - E8C3AB54B69A4D4994351181 /* IFTTTFrameAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F15AEFA328224BC372E4EB56 /* IFTTTFrameAnimation.h */; }; - E8D0FFA7468AA2AC7E5150F4 /* IFTTTAnimatedScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 47830E8280C22A00348B3A3A /* IFTTTAnimatedScrollViewController.h */; }; - E99DB0D50CC6C8C6CE497A4F /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = BF8E7F1EEE95E55452C23AEB /* EXPMatchers+haveCountOf.h */; }; - EA22ECA321C8B6EDF9894B9E /* IFTTTShapeLayerAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 78645949EDC177E1FBC00F5E /* IFTTTShapeLayerAnimation.h */; }; - EA24BA4B0D40671F373D7166 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B4DF6374CDAF3E0A03C5B2A /* EXPMatchers+beginWith.h */; }; - EB66E9DD1563F41C2D2576E6 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ABB96F59464DE2566C69AFA /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EBE307F7B457F31A5AA00835 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = E2E57523EB6AA145577FAEE0 /* EXPMatchers+match.h */; }; - EC13F9FB6BB92638AB252516 /* IFTTTViewAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E49EE81C8B6906E648059D /* IFTTTViewAnimation.h */; }; - ECFCA1D920F3AD75098D4EEC /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B5B8553878CEBEF88C5BB9B /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EE5CFC315FCC9705B10246AD /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CD0CD9FC41731400E239262 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F0BF4C10ED060C61ED83A892 /* Pods-JazzHandsDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2706E0E7D9AA89E92BDBF199 /* Pods-JazzHandsDemo-dummy.m */; }; - F1AB773FC02731C1524F95B6 /* IFTTTViewAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = B383AE2E43A2CE2341AC6C7E /* IFTTTViewAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - F1BD842001CB60DEDAC8C3DC /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 09575E439CBF70EA95DB5A39 /* EXPBlockDefinedMatcher.h */; }; - F2BBA54DD096B5E7F710BC65 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9576A2DE3D9C00ED4B963C10 /* EXPMatchers+raise.h */; }; - F33CE5D170C6F709FA2EE893 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B89F3FC74388C51C36E8894 /* EXPMatcher.h */; }; - F40CBA6730EC67DC7FBAA3EB /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = CE734C94E8443D6FADDBB7BD /* SpectaDSL.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F433D42C3142E7A228FCD752 /* IFTTTAlphaAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E3DACEFD08C0645E69178D2 /* IFTTTAlphaAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - F44C945CA601B3EB9665C6E5 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 42240CBAB22777F1797A8EA5 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F48379B8DCC44E745A2CC8EA /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 95CD90EE7B68BECE534221AB /* EXPMatchers+beNil.h */; }; - F648D8B86DDA6C4D6974725A /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 2548213E96884E030A76C5D3 /* ExpectaObject.h */; }; - F6EC3D77BB0B1BF9E625901B /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A04DD1C2E7D7F22A7C8B0B9 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F9DC198B0C3FA529698E9751 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 29255C0F3CF62A4B1DF8E6A4 /* XCTestCase+Specta.h */; }; - FA60D1A1497EA865C83E8015 /* IFTTTInterpolatable.h in Headers */ = {isa = PBXBuildFile; fileRef = E73A5EC36B307783A21CFDDB /* IFTTTInterpolatable.h */; }; - FAB0655B7F7656DE97F1A00D /* IFTTTScaleAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 41665A98E7A2989C0540932B /* IFTTTScaleAnimation.h */; }; - FB33704695B44330F8361BED /* IFTTTTransform3DAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 750FB2EF7FDC6010FCCA2506 /* IFTTTTransform3DAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; - FB4A5602F6D6801996C53D4C /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DE31AA03022BE3B166158A4 /* EXPMatchers.h */; }; - FBDDB5CDB340020AE8257F14 /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A621680EDE998BA81FDE667 /* EXPMatchers+endWith.h */; }; - FC47D010FF86BDEC414FFB28 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = BAAC3FB77DFAC352B8E52CD3 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FFF8573322324BE0F53E2BDB /* Pods-JazzHandsTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FE004A8C521BD9ACAAA87F7 /* Pods-JazzHandsTests-dummy.m */; }; + 03E8C4C585DFF14910051FF69688EA26 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D1466913725877B5C26F9199BC08EB8 /* MASConstraint+Private.h */; }; + 05FFF31A3F9556A0BF7BC285E1D6AE2A /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = AD824E9743EDC05E8FCD7BD1891E0E5C /* EXPMatchers+beTruthy.h */; }; + 06442CB8F33BD30FA8E3CF5DEC87C384 /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6099B6062F0708A5CBFB33BD012357 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 07291CB8F259956F1DA7289A5C742D4D /* IFTTTLayerStrokeStartAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 017FC6D220FAA413BD7D191746186918 /* IFTTTLayerStrokeStartAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 07E73802CDFB92FB5AD22DC121B61CFA /* IFTTTTextColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = B9E4C402E4D6835AAFE17C57E63ED316 /* IFTTTTextColorAnimation.h */; }; + 09D30087E025E9D2B30424981C48F3E7 /* IFTTTFrameAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 38DE256F90D274203BB0B7586C536768 /* IFTTTFrameAnimation.h */; }; + 09EDDD7FDDBE545F1651EB87B90EE7BE /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 739C414FEAE8C6E579E2A6672CC2BEFA /* XCTestCase+Specta.h */; }; + 0A44D9E1074AE7CF77FB7490B61EADDF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = CE449897A111A7FC006B8660C5B7446B /* EXPMatchers+beGreaterThanOrEqualTo.h */; }; + 0A8B9BFE296F3AAD1F123C546E72BF49 /* IFTTTAlphaAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3FA964763C1DDB0BA9560E061CA98E /* IFTTTAlphaAnimation.h */; }; + 0AB56088B7A7A3D45B66C6BDB697E88B /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2185136441FB8B281669BAA9B2C283 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0B92BD81FA310EA845D92D0F82BEDFA9 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 02BB88871F8A376A6694285D966B7BD1 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0F24054D5BFB25E16986FAA029C73096 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AD978FEC8107CB5414FD65686099780 /* SPTExample.h */; }; + 113887BDA1743462B6C3DB9853A578BF /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 9339D9187D0D833953BFF83FBDC6318B /* SPTTestSuite.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 1198113A393D7D33B0F3359BB7744BAA /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4478FE1575F6249DEF44A32F65BDEB3B /* SPTSpec.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 12157483148A10CACB66F1F3C1020587 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F633A3B997F9474EF4672947956E8E3 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1224EAD9801E8C4E1D34AE68CE6C780D /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 439D155986590405100077D4516A10CC /* SPTSharedExampleGroups.h */; }; + 12DB2E9313DE789948E572E43FBC903A /* IFTTTEasingFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 10E241FC9FA86B8755AC1637E56F48B3 /* IFTTTEasingFunction.h */; }; + 1515BDDC68C44C9075591D9D65038720 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D7123431A0DA886D7C3DF29B8AB90028 /* SpectaUtility.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 1AEA98BA96CDF91F077DE12D25BEAE87 /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 5572C111EDD5C94CDA45FE8403A8CA28 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1AFA762020164C08EC80F3D277A8A75C /* IFTTTViewAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F7171AA6E08E5CC4941B507D4D11BDC9 /* IFTTTViewAnimation.h */; }; + 1BB935238FE80DF60822ECFF6E15223A /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A58A298CF4AD83AA2773054430AB2E8 /* View+MASAdditions.m */; }; + 1D49BB22B51E71ADC923063D51E6CAAB /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 274F1CCE890DC33157C4AAD25A8AB1DE /* SPTSpec.h */; }; + 1D97E2B87F63B5B7B4E05864B3059381 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = C61B45BA4D81CB42405344BE39257114 /* SPTCallSite.h */; }; + 1F75EB3F2E6B39BE5F33D0EF226D07F3 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E16304397FEF227A23092DA638C82446 /* EXPMatchers+beInTheRangeOf.h */; }; + 1F854FE91202751B66156CE36DDFE0D5 /* IFTTTBackgroundColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E88E59B6EDB6935BE7BC4E62EEBDEFF /* IFTTTBackgroundColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 1FB7DFE18F96E82963607D0CF4211231 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FE34D74DFFDEC14B670E01760321 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1FBBB9EE3B11819E86C96E4EB1E6AE72 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 902C38E1274810E40D30F3EDE7583A65 /* EXPMatchers+match.h */; }; + 1FCDA0A59B7DA09B92736326AF1A016A /* IFTTTLayerStrokeEndAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3592089E6B6764FA5085BF622FB4A28F /* IFTTTLayerStrokeEndAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 2141CD11607D8776D7D865BFD72DE214 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = CF987CC5EBA49241E2450AD835C9336E /* EXPUnsupportedObject.h */; }; + 2182F9FF2C3AF4F435CA277F60BB7EA8 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 53413A54470EEECBCB3ED2076BEFC917 /* EXPMatchers+conformTo.h */; }; + 224E48C2F07345E51FED7115E98617D3 /* IFTTTAnimatedScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DBD67B0AC13F3B51DFC6E8EFD448EF /* IFTTTAnimatedScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 233881BD70FE2D2A1FEB6E7A2F8EA429 /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 039307585B74513225DE868BD72CDDF2 /* XCTestCase+Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 23D9116304AAE2A7E03EFA7ADB354DEF /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = F778B621E07B00779E8C0559EEF48295 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 2497E2237EF28BE466C66DB8B4EF6B4D /* IFTTTCornerRadiusAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C3656098A8F479FEFE47FE78F5B7D82 /* IFTTTCornerRadiusAnimation.h */; }; + 29B8C35B4E5C189EF20EC18505B88CEC /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 074CB9AEE48C00897532E99F4DD54B94 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 29F5428EFBBB87682558D6F0EEC8F7BF /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1541479B80B87EEB10575C0019A0886C /* MASConstraintMaker.m */; }; + 2ABDD7E8D8DE4726D84E1F2A979A8C46 /* IFTTTTranslationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A1665585902A947D974113EBCFBB2CB3 /* IFTTTTranslationAnimation.h */; }; + 2AC3B91BEDBD10F33ACAC5870201F31E /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 240D9CFF6C14BE0D9A6B60C560259873 /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 2D54A731A05392D7DFCD53186BCA7165 /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CAC291410901C2348BDA4DCD911C612 /* EXPMatchers+beIdenticalTo.h */; }; + 2D9E0A060F0232DD15B5306C467AB687 /* IFTTTConstraintMultiplierAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D71069641BD5F781B575635DACF4EB9 /* IFTTTConstraintMultiplierAnimation.h */; }; + 2DDCADF3471597DC4F07C155AB6215CE /* IFTTTShapeLayerAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B0A3E90917A999E9FF906B583592407 /* IFTTTShapeLayerAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 2ED94B7E9E99E45F47A442841DEA84B4 /* IFTTTAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = C995AF079544567FFAD102FF82D3E710 /* IFTTTAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 2F29CA4EE41A564883D509C4D57CAD10 /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 397C98202446A9506225D8D4F8AC4B30 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3292C3B3655620C7C055DE3700A1A528 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = D5E2308F20C4541E98548A6770D192C1 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3300BF0D1C8F6929037EFAF74DA97C68 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = FC098F9EFC76345CDEFDCE8DBFA34AB0 /* SPTCallSite.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 34449703F4296058417ED73754E48276 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = E84B8AE44CAC9FA37E8282ABACBA57A9 /* SPTExampleGroup.h */; }; + 34BEA412544B2E7A253D1E9C280CB6FB /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DCDA3128ABB9382CBEF4D668F241EB6B /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 379629D005838E241909BD3E8F5108DD /* IFTTTAnimatedScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA514492A2A071B4C402B771323C81A /* IFTTTAnimatedScrollViewController.h */; }; + 38535B663FD658A94CC1D7F13DFB3BB7 /* IFTTTLayerFillColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = F29603C53D6E4E1A7EA6736D3C6374BC /* IFTTTLayerFillColorAnimation.h */; }; + 38914F59CB4CDCAB7B95E187D60E9520 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 34E555A119006DE80A85C17FF8CD9B36 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 38A2CF2F324AA123FA46ABF36B0D6F9B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F38BD6B2EA8E3D607D37364462D778DF /* CoreGraphics.framework */; }; + 39341B5FBBE44CEDD539CF1DC51021C0 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 888022AEFC3B3174B552185E61CE5584 /* MASLayoutConstraint.m */; }; + 39484DA1A54C6A69125842E45AAA251E /* IFTTTAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = F43B145F6F49BD25867EA23C02E1BA06 /* IFTTTAnimator.h */; }; + 39DED9411A2A7D4892FE42170FF08B7D /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = C7A249FEE57C22346B05B7994BFF3FD0 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3BAFCE42B379E5702438EA9AB83AE2F5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC10E684DD68F44558F62A6931E6390A /* UIKit.framework */; }; + 3C4A84AB0617B01E93FE3F7BC1EDFB6B /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 93E3DBD91129F3B9C3942FF803ED5FAB /* NSLayoutConstraint+MASDebugAdditions.m */; }; + 401951A4ADC7E85843AA4400FBCF0A6D /* IFTTTConstraintConstantAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = E99D024E5F784133541724441FC2F638 /* IFTTTConstraintConstantAnimation.h */; }; + 434787BFB364FCC363E268BCEA25B412 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F2010A4D8DD54450B7DC01949F9C8035 /* View+MASShorthandAdditions.h */; }; + 45BFBD32B2F1A809E14A4B91FD73B121 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 92457E91286B083A7266E82F73AA4900 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 45C415E1A681C0A9BE8D45362D0551D5 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 9230328A3DFC41F6F4175A7C15476F72 /* Masonry.h */; }; + 463CEB10D6F17AE42796F7EEFF9FD14F /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = C35148BA2BD2F5C13707DE9ADD1E48D1 /* SPTExampleGroup.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 4674EA21980730B9DE0C13B9C7CE9A34 /* IFTTTEasingFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = A52E2914098688BDBAFC3E1D1FA83DD6 /* IFTTTEasingFunction.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 492694830D43879AF1068DA41DE113AD /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A0B300C8497D3C88986E88DCCF3A718 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4969F8004E63A7D6C3B4C6DB97F74791 /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F84AEE74F32BC419F27BE093F760E7C5 /* Specta-dummy.m */; }; + 4D25D63DE7DC16183585510B34DB080B /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3EF0ABD850EDA264F0BAFB25B312BE /* MASCompositeConstraint.m */; }; + 4E94DCF82729DF8D98E99F29AAB00BE3 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = DE68907A3D1DDA1389A4B67B7C23F4C9 /* EXPDoubleTuple.h */; }; + 4ECA5480F8AEC4A553872713535477C9 /* IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = C7F66A045625D1435096068F130AC885 /* IFTTTJazzHands.h */; }; + 4FC451F18772F8E0A28ACD407E6D0D2E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + 53A7EE524B700616E8544EF243A738EC /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 29202C5DB7317367CB036B121CB16B61 /* MASCompositeConstraint.h */; }; + 5568D50DB7BD5E2BD678C6BCAC01DF00 /* Pods-JazzHandsTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A2B757FB2C593E3629B56B5082E61AB /* Pods-JazzHandsTests-dummy.m */; }; + 564DF10552D209A443F100703033909F /* IFTTTScaleAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F1BE4364C38BB8D3997A79D165523560 /* IFTTTScaleAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 59C4303608F831CEEE55148D67ED7109 /* IFTTTRotationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0813D7CCE93DF9FC7208102A816A5DBE /* IFTTTRotationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 5BFB60FB73F1A646C7F28D1FC7725B66 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB97F465B013C170D7E4672EF9878DE /* Masonry-dummy.m */; }; + 5C8CCF83DBE969E0B96079BFBC513D7F /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 2291C91CE4CFD39864CD61967E90742C /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5D12F87FAC75704AB0E555E565444B9D /* IFTTTInterpolatable.h in Headers */ = {isa = PBXBuildFile; fileRef = 248617CA3C52A0619F75C4AAD0EB233C /* IFTTTInterpolatable.h */; }; + 5F087DB00D7630C742067225FCB8EF29 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = A8E457F5C5FA7579DDD858E403184772 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 60BECF2EFBF82018C393C1D8C02E14F9 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE3D98BAE31E2A1D84C0CBC741E2D7B /* SPTCompiledExample.h */; }; + 63725A0F64B164C6C3B2C767286EC437 /* IFTTTCornerRadiusAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F3B757C2350B998EC33E873A0632FB8F /* IFTTTCornerRadiusAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 6389307EECEDF33B7C6029A7D7341936 /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 109DB120ECD56EB5D95DA72D18ED6AF9 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 65B963C3764B71427BED619C2E6BD83D /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 289497E8FCF89355E58891D37704ADFE /* MASConstraint.m */; }; + 676D50184B8C7965D0BEAAE0803F6D65 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E500E91FCACA2C1502EDBF20C54BA5D /* MASConstraintMaker.h */; }; + 6783B7E9D0CBDBD2DAD9E49457A0DA82 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + 680598D408A6EA9E9A2B3FB3ACB37F34 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B1A4C4557882E3C8C642070A82864E3 /* EXPMatchers+beFalsy.h */; }; + 680FEC5DC208D895ADC5C95C8B385D2D /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3C92EC4E399D3543EAEFAEFCFBC586 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6948E9263A05C5EFA82A649CFE1F75D9 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C0632B50DE110EFC8A10AD53DE5FE07 /* SPTGlobalBeforeAfterEach.h */; }; + 6A10264CF63BB1F9BEFC42DA97797889 /* Pods-JazzHandsDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F5AA6466E5CFC9EC77C7C69961AF0BF9 /* Pods-JazzHandsDemo-dummy.m */; }; + 6AFEA3903CB940FCB4594D7B6786FB7E /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = E611E002EE8D03CAD27DB8D950A29491 /* EXPMatchers+beLessThan.h */; }; + 6B1CC60A5B27B27E49035841812195E2 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADEA213D7D8619170AB9C3A80AC7BAB /* MASLayoutConstraint.h */; }; + 6B398CBF5682DA9EE8BA281B32688C7E /* IFTTTBackgroundColorAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 549D15680C5B8D9B8766F194283D1E25 /* IFTTTBackgroundColorAnimation.h */; }; + 6FC43C06143557C0FB370163A6750BB2 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D325390A8710E51553FA45D79BD1C98 /* EXPMatcher.h */; }; + 70E9C5B355EC19C65684DD7E408988B0 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B88DECB64E8369145939917AFC2F03C /* MASViewAttribute.m */; }; + 72B3F54BDD3F1614BA49D525AA41C362 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C866ECB58DAA9CFCACAD26B740969A /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 73C93E3CC16E33BB3B291E71F291D772 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 241198EE582FC113CAD1B6D6995971DB /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 7425B571ECAEE5A162A1B6B9C1B4869D /* IFTTTTransform3DAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = D340F50594D2F4E9059351E0F2BBCD0F /* IFTTTTransform3DAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 748EABA69E22EE0423380E984412BCC3 /* IFTTTConstraintMultiplierAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = AA7DE2EA41360E6C7CBB1291F86ED6CE /* IFTTTConstraintMultiplierAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 75BA922C19DCA9957871881BD29374D4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC10E684DD68F44558F62A6931E6390A /* UIKit.framework */; }; + 75D4E79C7E8DBFBFDC81972F4EE39DCC /* IFTTTHideAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C4549C6F4E41D57F1009573AA927B58 /* IFTTTHideAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 79A1B575017A7E1BBFF2274D91678732 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = B952CDCCCC2CD9325C1B4CC3A6D4AD39 /* EXPMatchers+raise.h */; }; + 7AFAAD5A2F13102416AC967D2F8C34B8 /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = A52053B89834CE2D508A036A58030D55 /* EXPMatchers+beCloseTo.h */; }; + 7DC814404012C0FCFE7149D561A4E348 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 06429C0B758EED789E68DD6D1019CA91 /* EXPMatchers+beginWith.h */; }; + 7ECF6594D5BF0C76F17CF7C95CD2AE85 /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5950E9BE99B8F429C8AFF7AE7662D96C /* EXPMatchers+beKindOf.h */; }; + 7F94F6995F98F3E3E279702809DE05A1 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CF99FE6F64B865F4E4AEA41B5E68DB78 /* SpectaTypes.h */; }; + 7FBA7E60BD7C8AA24F9CD764ECE9B352 /* IFTTTPathPositionAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8556257F4CBFB21F7718750EEEE73718 /* IFTTTPathPositionAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 806F1431D196DF7486AF58F36FFAD6FC /* IFTTTAnimatedPagingScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42C045A2DB0085AAE8AADF34D548B912 /* IFTTTAnimatedPagingScrollViewController.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 80AF866B628C2E835289DCEFC68A6FA9 /* IFTTTInterpolatable.m in Sources */ = {isa = PBXBuildFile; fileRef = 85E4DF546162ED78B0EB0D14D18563B9 /* IFTTTInterpolatable.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 82B8C06EA17CF6E1CA39446727B09550 /* IFTTTHideAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = DCF4429A4C1FBFBE14E06D24BCCFBFE9 /* IFTTTHideAnimation.h */; }; + 82F3E68A0935EE9682DB098319176372 /* IFTTTLayerFillColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = E53E4E735B4EA57AB443C0C999D72848 /* IFTTTLayerFillColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 830A90FAE3F5FAD90B8C18328C690330 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = FE38845655E796715A8F91C234BFBD1D /* EXPFloatTuple.h */; }; + 837FBD3C91BECDEB29038A97BAE895C5 /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 44750F273358F691D566C33252E3F829 /* SpectaDSL.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 845389102A8AB7F9266F9F7F9D2E5E2E /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = ABE30A66AB21BF5539E7F07B66BE0E9A /* SPTSharedExampleGroups.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 858C5F4DBE9E095E5371367874C568DC /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31281F6C0B269B0BE12175DDF3F5DA09 /* XCTest.framework */; }; + 89AEB64D3C4DF14A28F4C490D68D7FB3 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 8907D2FDB9BE66F533036B7139FF6D0A /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8A85D3182C247F545A468CF70F81BD7B /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B6C643861AD186FA24948BC26BE887A /* SpectaDSL.h */; }; + 8D49D5D2BEC72D9C3646ADAD5848A5B4 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = CA36B941D3DA431EBEDF1850FAB1EDBD /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8DB9DF7740F1CC4E59581DB04D01B028 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 21CC79E8059D8DB568D9A094975204B3 /* MASConstraint.h */; }; + 8F93691EDF6CD03ACE2FE7E7512BC1D1 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 13FA98AB1039849BB795C822CAEB533E /* EXPMatchers+haveCountOf.h */; }; + 917CE84066480C13029563D344EB9BCD /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = D0CB6C8B7BEF7D7F4654EFCEEA4BE035 /* MASViewAttribute.h */; }; + 91C7532E08414ED388424C41EC0937DC /* IFTTTScrollViewPageConstraintAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = B354A6E69AEC57DFD852CDF5644DD360 /* IFTTTScrollViewPageConstraintAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + 9580BCD856AE6B65B5400EDE4E066397 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = A836D92B58014E3BFD8B916EC7FAE440 /* MASViewConstraint.h */; }; + 9671B3EB95DBB4B9CA3B0A25C5CC26EC /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D837292CE0FF8206C520BDB4FFFCBC2 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9AA53BDEAC954D0C54E18E7521232675 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 2491B930B7D1F76A39FFB408CDA739CE /* ExpectaSupport.h */; }; + 9E603E6D77612C0A4AC9344F62C9B291 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 73387320CCCE948631932AC117A1FD9A /* IFTTTScrollViewPageConstraintAnimation.h */; }; + A01726EAD6E0C432AC7FAEF79274DC96 /* IFTTTConstraintConstantAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B49D326FF48234ED67AB4B894753898 /* IFTTTConstraintConstantAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + A16CB69270E23187E9D24E555C591A6D /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE532F7977A7E08C1F828AD5FC3C85D7 /* Expecta-dummy.m */; }; + A1DD40EE68BEE53CEE299EA8D6023DFB /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 476A0956DB554DFB1CD82C783C1A0CAC /* SPTExample.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + A2176516243047B7A669DBB40E52F59E /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 41532C4D056DF42E03DD1E11E7D6F03F /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A34E266BA17E968631E04BA1A9C5C00E /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 517C24ABB2AE00DB4DA3D1F176420A34 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A5D2500BBD59C1450FFB0B4DCF250C0C /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = A58D6CD377F35F4EB94DEE4B695E07B8 /* EXPMatchers+beSupersetOf.h */; }; + A614FD3DABA5D9E390D16F7E22ABEB1F /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B7F76A8F2F270A862F8F388727EA1419 /* NSLayoutConstraint+MASDebugAdditions.h */; }; + A6CC5268BB571DE286AF17A37DBA116E /* UIView+IFTTTJazzHands.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C0A990A5AF02098FEE33D1B3E3513A2 /* UIView+IFTTTJazzHands.h */; }; + A7CD86BF0AABA24B599D748D824F7A7D /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1819DD8C0F51AEA8249E2E6AF37392 /* XCTest+Private.h */; }; + A91527692D3D275D7854785932EB68F9 /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = BB24B5BEFD989D103654FFA4FD5DD9FB /* EXPMatchers+endWith.h */; }; + AAB337063E6F1357F19B4521490B7AD2 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 257ED81C3B6E3C3F79ED10F8A7D2F253 /* View+MASAdditions.h */; }; + AC3B1AD0813177D91A0E60D8081AB875 /* IFTTTViewAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = DBD703ECB28453EBDE7129AD437007B3 /* IFTTTViewAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + AE2FA414BDA81F80F8542336600E1594 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 39A4F92883A1EA9AC462D68B89A0A0B6 /* EXPMatchers+beGreaterThan.h */; }; + B1D6F2A1A733E1855D6EB6ABE0A36C3D /* IFTTTAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A838670FBCED2F3CA582C88DFE47F8E5 /* IFTTTAnimation.h */; }; + B1D749010EB65DE5CB2E580B13A382E7 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE4E4D462BD16B6741FE39E5338A81A /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B285C9F6A9B81325D0AA0E92C3482BA9 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 80DDC36D925729A51399070592A21A90 /* SPTTestSuite.h */; }; + B42F27B0A4AFB864F2A1015AA9AD9204 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F580BFCDA7D94DE5798B242EF02DA96 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B5C708A28DA3AF23242269491AB9250A /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B371DB8D219320A8943C74CCD7B96F /* Expecta.h */; }; + B939E0FD6D785F2D49498B2C4CA3C553 /* IFTTTAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 39110B9DC3F194F2D3AF191CEBC362B2 /* IFTTTAnimator.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + B9A617BF47D0C53A9ACA778272006A72 /* IFTTTPathPositionAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 202BA45B32EC397EB18C60369FE3B281 /* IFTTTPathPositionAnimation.h */; }; + BAC7CA6F276787D0FE07677725E0B175 /* IFTTTFilmstrip.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFE8EA711BBBE7BE7550A9BD56C61EF /* IFTTTFilmstrip.h */; }; + BCE92825DA021C7FF7A64E91619243E6 /* IFTTTAnimatable.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5B31C3F33B66534ACA688918C48901 /* IFTTTAnimatable.h */; }; + BF8FDA039443185090571C7489A9E3D2 /* IFTTTFilmstrip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A18D69CC44E60F85B7C25949947CC9E /* IFTTTFilmstrip.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + C2A368B25651C164F9B370A3A5EBE6A6 /* IFTTTShapeLayerAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BB465E74FE1C7245764FCE04F870B75 /* IFTTTShapeLayerAnimation.h */; }; + C2C2573F8DB5E79CAA6C8C33B20F584C /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = A8BAF57831E9734DE9A2B8E9FCCC7B91 /* EXPMatchers+equal.h */; }; + C6A05AA008F05E6C8EC79C9AE6CF4A14 /* IFTTTScaleAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = FE84A12B996695518311DA3C494CB13F /* IFTTTScaleAnimation.h */; }; + C8EECF8767F5D406DF0C61F9179A4A70 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 778F28937AAD3E90E1DC15850860F449 /* MASViewConstraint.m */; }; + C9605BE94C1A7BCB23D74F98F2D9BBAD /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 535956B6230D0D5726B94544B1586B3D /* EXPDefines.h */; }; + C9DB2AD40125B0942ED0BB339D73C683 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B3F4C3503E6C633E6A1F769D5753111 /* EXPMatchers.h */; }; + CB27BBBDBC8B293DDDA7644DC0C2CD81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + D1DA2BAE9D331458BF88CD0AC3056F98 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFC057C52EE2A6DE239458D1FBBED9A /* EXPMatchers+raiseWithReason.h */; }; + D3BB4755818D01C5BBCF360FF7533F7E /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F823D670B378E3F3B1C6DCFC814634F /* NSValue+Expecta.h */; }; + D41B91325FDF52E59DE190950EC82525 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FD462DB932E0CF9E404F08EC68BEAC6 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D529A06A580AF31375B039AF35424B90 /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 229F3748A703778F7AF1CD314999B9DA /* SpectaUtility.h */; }; + D6B56C1921C36054CAB1D6EC17162B97 /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D58D7864F8C1C7D0BDC67FBCEA333A9 /* ExpectaObject.h */; }; + D792A7A0110C9BC5246C3567EC82D85F /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = A353918B7D857FB343CEE074EBBFA5C6 /* EXPMatchers+beNil.h */; }; + D8406E41FCFBF37645C9E09DCDEBBD34 /* IFTTTLayerStrokeEndAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A79B2D894121CD0007654292154B3A11 /* IFTTTLayerStrokeEndAnimation.h */; }; + DBDCF7DB500A79CA8D2CDA010B3D382C /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = DC4A257E8F59403E0EE36B2AE0B0CAF7 /* EXPMatchers+respondTo.h */; }; + DBFB458F8DD7F1885189B471A27FD3D4 /* IFTTTAlphaAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 723C788EE4CC5AF077956636C5E94A1D /* IFTTTAlphaAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + DC7CEB45879B7893E6A6B88BB3C1913B /* IFTTTAnimatedPagingScrollViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 52DBFEBD676306CCA363511268DF33AB /* IFTTTAnimatedPagingScrollViewController.h */; }; + DCCA98B50C94D671EAB2A8401D5EC3A1 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 067233EFF021D699EC2BFB6CE8586D8B /* EXPMatchers+beSubclassOf.h */; }; + DDE649D09933209A5A3996C8A74BFACF /* IFTTTTranslationAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = FF95AAB9F514AD00B7885D3EA596C4C5 /* IFTTTTranslationAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + DFB82EDD0A5BD4553FCD1079214F04C8 /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = C80F2D797EA1D78FD7B34AC69E3FF2A8 /* EXPMatchers+beInstanceOf.h */; }; + E10E3FA330EA8C9F65CE65FA206984C4 /* IFTTTLayerStrokeStartAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E3343108889DCD7589DADD5B29717F8 /* IFTTTLayerStrokeStartAnimation.h */; }; + E2CC45755E71F6A5E7A3FE6BF13FCB52 /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 673218E143FB3CA5F3E7B18DE547DA53 /* NSObject+Expecta.h */; }; + E46FF895D710A0D4A67B67202E8E4161 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = D707175482FA1D3E3C79BF4841141152 /* EXPMatcherHelpers.h */; }; + E4A8E8B4B0CE4D5E2A8C93F0ABE5FC01 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0FA1B54BD155598E90FFB0738A5DE2B /* QuartzCore.framework */; }; + E7766F65255CCC046ED2B7EAB3C7C536 /* IFTTTTextColorAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = F58215B1B9D360582DFE8F7055FFFA3A /* IFTTTTextColorAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + E8838E2E58A9476047CF5A215DD674F8 /* IFTTTFrameAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = CB5E76B708EA95481F7C14A1D52784C9 /* IFTTTFrameAnimation.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + E908D809235185DEC1A28C9420160DD7 /* IFTTTTransform3DAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 323E02081128FFCC181E9F174D7F51A3 /* IFTTTTransform3DAnimation.h */; }; + EA65F2CFE3630A679DC208EBE613E36F /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 98B9933347D6344DFC808F751C019F14 /* EXPMatchers+beLessThanOrEqualTo.h */; }; + EAFFACD65608496AD46AD54E45895E2A /* IFTTTRotationAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = EECB2FA29D0F5886FC7EDFCE78E4461B /* IFTTTRotationAnimation.h */; }; + EB0691BC61ACBBA8C4C1AFF4394B3E4D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + EDA0E4FE81E9C094D994258EA6143C94 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 65904F2DBC97DE38C57A681453A7317F /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + EDA7EEDF476F5C02D9D42211D945B81B /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6878254997CF10937AE0DB2E6E8C25B0 /* NSArray+MASShorthandAdditions.h */; }; + EF4E8068C72B64F49D1CF4772F051FFF /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = B9A874C5A5C9210FB9EBF8AE74F5FDF0 /* SPTExcludeGlobalBeforeAfterEach.h */; }; + EFCB34D3D06D9016B6EDE986F1345201 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + F044E50D03CB8CC87583BD7B8CBC7624 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 97E017CFAF31AB762BBCA57D6FEA389E /* SPTCompiledExample.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + F063A60DBCBBA076526555C41ACB6944 /* UIView+IFTTTJazzHands.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DC20D4CDAF1556C37EC20ECB983390E /* UIView+IFTTTJazzHands.m */; settings = {COMPILER_FLAGS = "-fmodules"; }; }; + F07FB7ECE5DA7E2CD062A73075BEC7DE /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041B392166417648DE97965F00951E4 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F2B295BEF8E9B4936C5217E87744B3B2 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B939C3A1A5AEC8601A9FCD1B21FD1E6 /* EXPMatchers+postNotification.h */; }; + F2C694D094E0FD51A48DF16EE5B8CE76 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = ED007B475F422DDCECC68DB43B9CE57C /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F34DD1990298EA3F0C9B0C3DD515269F /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 278EE1149D48BC0B32BBAEB2F1AE5808 /* NSArray+MASAdditions.h */; }; + F3980A48F937DFC465EC24208CB451A0 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 4357BBD450F02ECA63791BF400D5BAAC /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F43F45130EA91679F312A2D2E7B6FC12 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = B23712B0286454B97F688EA3E00CE475 /* Specta.h */; }; + F86DF2C8598F0D2DB88B13CB79976510 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 45D522101B40326050F2ED7DBD055DBD /* EXPExpect.h */; }; + F96BCFE42F5736362B9BD0CA8444C570 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31281F6C0B269B0BE12175DDF3F5DA09 /* XCTest.framework */; }; + FA41A706D66695B3046890950C59DAED /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = A490377D2070BCF7CD8A95A8DFC3A55F /* EXPBlockDefinedMatcher.h */; }; + FB314B0699ADFA8DAFBC702D12032BC2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */; }; + FB9E6C5847348BA3CB43DC5C4B89EADD /* JazzHands-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3D8726E373349DF5E74BC65B64E3E2E /* JazzHands-dummy.m */; }; + FCE1C23E97083D6D21A84E5968EDAF96 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 897399199FD560D3425F52D51E1B906B /* MASUtilities.h */; }; + FE692DF46C60F005EB616C27A826A80C /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2720E6408315E49E8786711EC466E4C2 /* NSArray+MASAdditions.m */; }; + FEBE1DCB84A5C2A0513EDA063F3AA509 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A578EEAA8DE8C1AECC87A01EC718ACC /* EXPMatchers+contain.h */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 4E354E530F8651F5D5438CF3 /* PBXContainerItemProxy */ = { + 0880A072E891C027C22DD622A3D7544E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = C16C44AFAEEB86A701910759 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8A6229949625CDF4302055FF; - remoteInfo = "Pods-JazzHandsTests-Expecta"; + remoteGlobalIDString = 6461F429FC34A261D9C5BC80A8A0168F; + remoteInfo = Specta; }; - B0EAE5804BAF46B2BA7C2144 /* PBXContainerItemProxy */ = { + 2EBA75BE8E777BA8BDE931CCBDAC1F3F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = C16C44AFAEEB86A701910759 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1BAEE0F54A94BCCE9852BE79; - remoteInfo = "Pods-JazzHandsTests-Specta"; + remoteGlobalIDString = DE8D6055D1EB4125419E68F583AEDFEF; + remoteInfo = JazzHands; }; - E5A2AAF03741624768E7A5B4 /* PBXContainerItemProxy */ = { + 333C8561CC099F5E68C2197A630CE4E4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = C16C44AFAEEB86A701910759 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 46C63F80AE25A44731A70808; - remoteInfo = "Pods-JazzHandsDemo-JazzHands"; + remoteGlobalIDString = 384A9E45F2109FCBAFE63ED5C4C1DCCF; + remoteInfo = Masonry; }; - E78F0C3D6506DD454282392D /* PBXContainerItemProxy */ = { + 7DD34B4E1CC724C8F80A5428BFFAF8A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = C16C44AFAEEB86A701910759 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E76FB6F4D30B4EC07AEEA8A3; - remoteInfo = "Pods-JazzHandsTests-JazzHands"; + remoteGlobalIDString = 384A9E45F2109FCBAFE63ED5C4C1DCCF; + remoteInfo = Masonry; + }; + 88C7DB72C9C964B30173FA576426A110 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1081246B2B8BF16266BA13C525E4A3EA; + remoteInfo = Expecta; + }; + D97FA108AD9F4FC9726AA2C690EE7CF7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DE8D6055D1EB4125419E68F583AEDFEF; + remoteInfo = JazzHands; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01A063D479F7E7ED0ADA7C9F /* IFTTTCornerRadiusAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTCornerRadiusAnimation.m; sourceTree = ""; }; - 02410148FA9511863A054E12 /* Pods-JazzHandsDemo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-JazzHandsDemo-resources.sh"; sourceTree = ""; }; - 0385E9231A11BDEC59E31FC3 /* IFTTTTextColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTextColorAnimation.h; sourceTree = ""; }; - 056F3A6F464F3F77019C2057 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; - 05E2B8AD4E6A4FB10A3D60DD /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 069882731E4D551CF7B80EC9 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; - 07A9B1FF0044C513E33841A9 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; - 085BD59CA56065738DF42113 /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - 09575E439CBF70EA95DB5A39 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - 0C9CC552477FB201D26A2C8B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 0CF7BE4C7CD334FDE7799B95 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - 0DD2668D41D1B3BC3C559DE1 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - 0E723542987580C4FEF93547 /* Pods-JazzHandsDemo-JazzHands-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-JazzHandsDemo-JazzHands-prefix.pch"; sourceTree = ""; }; - 0E8C366F517DDCC943F01AD3 /* IFTTTHideAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTHideAnimation.m; sourceTree = ""; }; - 0EF1204C44D8B49F7905C03A /* Pods-JazzHandsTests-JazzHands-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-JazzHandsTests-JazzHands-prefix.pch"; path = "../Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch"; sourceTree = ""; }; - 0FD3CF03FD3994B9039C63EF /* IFTTTFillColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTFillColorAnimation.m; sourceTree = ""; }; - 1110957F6855AE1BD2FB369F /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - 11BB584B81272FC191A041A0 /* Pods-JazzHandsTests-JazzHands-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-JazzHandsTests-JazzHands-dummy.m"; path = "../Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-dummy.m"; sourceTree = ""; }; - 1319DDBF13541A4CECAF6F6C /* Pods-JazzHandsDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo.debug.xcconfig"; sourceTree = ""; }; - 13D205C03F477DA8F4A99A14 /* Pods-JazzHandsDemo-JazzHands-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo-JazzHands-Private.xcconfig"; sourceTree = ""; }; - 1537E4CE53FDCC85590BFC6C /* IFTTTTranslationAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTranslationAnimation.m; sourceTree = ""; }; - 1581475D443D0D795DB1AC20 /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - 17C030FDB2672516FEC00B8A /* IFTTTAnimatedPagingScrollViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatedPagingScrollViewController.h; sourceTree = ""; }; - 1C6B72A5F6320F9CA082FB18 /* Pods-JazzHandsDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo.release.xcconfig"; sourceTree = ""; }; - 1E6987844DA1781B5E8F5749 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - 20514729334487DACCC75BEB /* Pods-JazzHandsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests.release.xcconfig"; sourceTree = ""; }; - 21035450E227DB901C3F33D7 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - 23043E7DD2D5B53653FA27AE /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; - 2548213E96884E030A76C5D3 /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - 26E49EE81C8B6906E648059D /* IFTTTViewAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTViewAnimation.h; sourceTree = ""; }; - 2706E0E7D9AA89E92BDBF199 /* Pods-JazzHandsDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsDemo-dummy.m"; sourceTree = ""; }; - 272D9B2C4213EEED01F9460E /* UIView+IFTTTJazzHands.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+IFTTTJazzHands.m"; sourceTree = ""; }; - 27D3203A4E720E7B7D3EE022 /* Pods-JazzHandsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests.debug.xcconfig"; sourceTree = ""; }; - 29255C0F3CF62A4B1DF8E6A4 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; - 294E402DA2EEE4E96A109F72 /* IFTTTFillColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTFillColorAnimation.h; sourceTree = ""; }; - 2A04DD1C2E7D7F22A7C8B0B9 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - 2A9F0CDB69C4A5232F0AD6B7 /* Pods-JazzHandsTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-JazzHandsTests-acknowledgements.markdown"; sourceTree = ""; }; - 2AA02D9FFB8AF6184582149C /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - 2ABB96F59464DE2566C69AFA /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; - 2D39B8556F16E1CC786632B2 /* Pods-JazzHandsTests-Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-JazzHandsTests-Specta-prefix.pch"; sourceTree = ""; }; - 2E57316DD118F52E45207152 /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; - 2E64BC8420E597A057004433 /* IFTTTAnimatable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatable.h; sourceTree = ""; }; - 30D4A17355F3E76FE956DD8F /* IFTTTAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimation.h; sourceTree = ""; }; - 33EBD14E380909DBEB60A523 /* IFTTTTranslationAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTranslationAnimation.h; sourceTree = ""; }; - 3446018392C5339D4A3631D3 /* IFTTTTextColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTextColorAnimation.m; sourceTree = ""; }; - 39A24AC2A3192B4E396BDCCD /* IFTTTAnimatedScrollViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimatedScrollViewController.m; sourceTree = ""; }; - 3B4DF6374CDAF3E0A03C5B2A /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 3F58F3024B5A99ABF02A9148 /* Pods-JazzHandsTests-JazzHands.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JazzHandsTests-JazzHands.xcconfig"; path = "../Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands.xcconfig"; sourceTree = ""; }; - 40C00AF8AB4E778B0DC6A1AA /* Pods-JazzHandsTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-JazzHandsTests-acknowledgements.plist"; sourceTree = ""; }; - 411FE79644EFC92FD5999BC2 /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; - 41665A98E7A2989C0540932B /* IFTTTScaleAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTScaleAnimation.h; sourceTree = ""; }; - 42240CBAB22777F1797A8EA5 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - 42BA0CDE0F2BAC913D576C66 /* Pods-JazzHandsDemo-JazzHands.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo-JazzHands.xcconfig"; sourceTree = ""; }; - 439F8F70ABD2957C877335D2 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - 4491CD033F8C68F60DC98D2D /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - 45217821746137F806307B8B /* IFTTTAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimator.m; sourceTree = ""; }; - 4714C82809C283AD75123D20 /* IFTTTAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimation.m; sourceTree = ""; }; - 475496CF1856DA976736F2C3 /* IFTTTRotationAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTRotationAnimation.m; sourceTree = ""; }; - 47830E8280C22A00348B3A3A /* IFTTTAnimatedScrollViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatedScrollViewController.h; sourceTree = ""; }; - 4974C86B8D66A56007169259 /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; - 4C022B31F1996A4E30BC964B /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; - 4D3BC093FBD571E07F702DE6 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - 4DD4285C28553964278F5CCC /* libPods-JazzHandsTests-Specta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsTests-Specta.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4DF20F56A9E619A9CD821D55 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; - 4E5B6302116ECAF896A36A02 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - 4EFD2D093A5CA5ADC681AE8E /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - 55AAA9162E2BBEDDAAFC1524 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 55FF746A899C264E74823631 /* IFTTTCornerRadiusAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTCornerRadiusAnimation.h; sourceTree = ""; }; - 56CF580A1548C16138C1A174 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - 5B5B8553878CEBEF88C5BB9B /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - 5C44FA18D390D4A7C180C747 /* IFTTTConstraintConstantAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTConstraintConstantAnimation.m; sourceTree = ""; }; - 5E1050E299910C9551A73727 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; - 5F29880F4B7BB0C295040701 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - 6022CE483547D3A6727C0AC8 /* IFTTTInterpolatable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTInterpolatable.m; sourceTree = ""; }; - 6067F91822EB4F1D3752C0B0 /* IFTTTStrokeEndAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTStrokeEndAnimation.m; sourceTree = ""; }; - 60A898A457ECC717FF89B1F2 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; - 6186EC8D959CB54D484F6989 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; - 61B3B16635730AB19C470062 /* IFTTTFrameAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTFrameAnimation.m; sourceTree = ""; }; - 641BC4FE9A9657D810384555 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - 652870E176D149654FC4F114 /* IFTTTStrokeEndAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTStrokeEndAnimation.h; sourceTree = ""; }; - 6545EF0918678FA7FCC8F050 /* IFTTTLabelAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTLabelAnimation.h; sourceTree = ""; }; - 6564E350AAA1B2647EF101AE /* IFTTTScrollViewPageConstraintAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTScrollViewPageConstraintAnimation.m; sourceTree = ""; }; - 6633193AD4BA6AFAF71B370B /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - 66827CB2F1A3D514BB314695 /* IFTTTEasingFunction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTEasingFunction.m; sourceTree = ""; }; - 66C5C5B6E2894A60757FF56C /* IFTTTEasingFunction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTEasingFunction.h; sourceTree = ""; }; - 6929F82124DD106E6E9EFDAF /* Pods-JazzHandsTests-Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-JazzHandsTests-Expecta-prefix.pch"; sourceTree = ""; }; - 6AEA0508E6B6580768E25A11 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; - 6AF6E47F5FB8196B619F2194 /* Pods-JazzHandsTests-Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsTests-Specta-dummy.m"; sourceTree = ""; }; - 6B89F3FC74388C51C36E8894 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - 6E599076A43298BB62D0BCAF /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - 6F877527E404A15C4C0BF7F6 /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; - 710EC4E5C7FE49A60DACAEAB /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - 7339B482CD14D83172838D4A /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - 7436478379463FAEDCFC50C7 /* IFTTTStrokeStartAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTStrokeStartAnimation.h; sourceTree = ""; }; - 74C5B94E1F22A2B62F684DCA /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 74F71FE57ED77EC851C5B74E /* Pods-JazzHandsTests-Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests-Specta.xcconfig"; sourceTree = ""; }; - 750FB2EF7FDC6010FCCA2506 /* IFTTTTransform3DAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTransform3DAnimation.m; sourceTree = ""; }; - 759ED3AE9DCE9A46B442A9A2 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - 75C654997F9E90270462B9C3 /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; - 77EAD45720FB5D5E2CA928C3 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - 785DDBC1ECA68425191C8A4D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - 78645949EDC177E1FBC00F5E /* IFTTTShapeLayerAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTShapeLayerAnimation.h; sourceTree = ""; }; - 7907D01D0D268B01F5E91357 /* IFTTTShapeLayerAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTShapeLayerAnimation.m; sourceTree = ""; }; - 7A621680EDE998BA81FDE667 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - 7C2F2F69A591B1C0705BC293 /* Pods-JazzHandsDemo-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-JazzHandsDemo-environment.h"; sourceTree = ""; }; - 7CD0CD9FC41731400E239262 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; - 7F1D3C86CB28C9691E3D9914 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; - 8011556FDF9F30507CCDDB97 /* libPods-JazzHandsDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 838017DD02842D44F5EE765D /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - 84E383F1CCF3088D055550A6 /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; - 85E852DF9A8D8B6C5BD9D174 /* IFTTTAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimator.h; sourceTree = ""; }; - 8D3536E34D98AD361993E21C /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; - 8D891D288817872D5AD9FC40 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 8EDA2EB03F64F6C8B3AD147C /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - 907DD1B245F66962FCC38175 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - 934434C0BD2DB769110411CD /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - 9576A2DE3D9C00ED4B963C10 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - 95CD90EE7B68BECE534221AB /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; - 992D08D1D41A4CF21734DAE3 /* libPods-JazzHandsTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B1B5419A0190E33FC50F04E /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - 9C49CA465A2547739740C01D /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; - 9C4A2ED28DFE02466E7B2DB6 /* IFTTTTransform3DAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTransform3DAnimation.h; sourceTree = ""; }; - 9D42A7CED746B6B91A99B360 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - 9D5F2D6BA0BCFE437618171D /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - 9D85F65556ED22B74787D161 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 9DE31AA03022BE3B166158A4 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; - 9E3DACEFD08C0645E69178D2 /* IFTTTAlphaAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAlphaAnimation.m; sourceTree = ""; }; - 9EB30BAB5EC76B74CE45FB9E /* Pods-JazzHandsTests-Specta-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests-Specta-Private.xcconfig"; sourceTree = ""; }; - 9FCDBAEBFDD5F2EFE2BFF59D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 9FE004A8C521BD9ACAAA87F7 /* Pods-JazzHandsTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsTests-dummy.m"; sourceTree = ""; }; - A0662A21ACE7C1E14AF1FAA9 /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; - A1F47E4C663DEEFEBDE6474C /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - A26063CB8EC8E43B6A342C1E /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - A3F7DE6E48FEC85D3FAF87C9 /* IFTTTConstraintConstantAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTConstraintConstantAnimation.h; sourceTree = ""; }; - A7ACD2D2EBCF6E377FD67E00 /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; - A8FD15B85FF51D8CDCC2FD5A /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; - ACE17D3C0CDAE51D6E6672DC /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - AE00247518DCD77900CF76A3 /* IFTTTRotationAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTRotationAnimation.h; sourceTree = ""; }; - AE752EA8051EDDBB5FBAC953 /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - AFBE40D3D0603C5727D292FE /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; - B02B9C1E6538ACC6BBC21CEA /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - B1212A8114D53161D6FB685D /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - B383AE2E43A2CE2341AC6C7E /* IFTTTViewAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTViewAnimation.m; sourceTree = ""; }; - B3D1DD8DFA8F080872960CA8 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - B41BC4F59C9AFB0F2B2F9709 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - B41E7A44F69A601BA2E42AC8 /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - B5B4B8A49B8B86B75C90676C /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; - B84FFC80140FB9FFF1D61249 /* Pods-JazzHandsDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-JazzHandsDemo-acknowledgements.markdown"; sourceTree = ""; }; - B9A4CAA18F8634246067D4E0 /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - B9A680AEBD78661666B26114 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; - BAAC3FB77DFAC352B8E52CD3 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - BBEA0F11C67AA49A843453E7 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - BCB5203E60770E20F1BF4F5F /* IFTTTScaleAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTScaleAnimation.m; sourceTree = ""; }; - BE3994FF1E749D82E426F273 /* Pods-JazzHandsDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-JazzHandsDemo-acknowledgements.plist"; sourceTree = ""; }; - BF2126960454E4508B4C8F47 /* IFTTTFilmstrip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTFilmstrip.h; sourceTree = ""; }; - BF8E7F1EEE95E55452C23AEB /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - C3DD9F07C9B3B9742C11384F /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; - C4D9476B57070C1EA13B45CB /* libPods-JazzHandsTests-Expecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsTests-Expecta.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C748F8880E0A11BF2D91BFB3 /* IFTTTAnimatedPagingScrollViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimatedPagingScrollViewController.m; sourceTree = ""; }; - C7824ABCCD4DB01B5092F46D /* IFTTTScrollViewPageConstraintAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTScrollViewPageConstraintAnimation.h; sourceTree = ""; }; - C835FE7F279FDDC568CAACD6 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; - C875903EE48EE7513A5495A1 /* Pods-JazzHandsTests-JazzHands-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JazzHandsTests-JazzHands-Private.xcconfig"; path = "../Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-Private.xcconfig"; sourceTree = ""; }; - CE734C94E8443D6FADDBB7BD /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; - D09A2DD9308A955710899C86 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - D0AEE595E08376FA3AECF837 /* Pods-JazzHandsTests-Expecta-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests-Expecta-Private.xcconfig"; sourceTree = ""; }; - D1A7CA255EEE41815C415CEA /* IFTTTJazzHands.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTJazzHands.h; sourceTree = ""; }; - D1DECE85F99DB176A990CB84 /* IFTTTFilmstrip.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTFilmstrip.m; sourceTree = ""; }; - D45C64A3B920291E2CA08B3D /* IFTTTStrokeStartAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTStrokeStartAnimation.m; sourceTree = ""; }; - D5F0B5332F43EBB506D452FF /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - D71CC96F4DD135744424EB3F /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - D9375A8FA1FB91E14D42BFB3 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - D9612CA2B60C3E8A91FC066E /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; - DC6D99FDA4AB993DC6B0B082 /* Pods-JazzHandsTests-Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests-Expecta.xcconfig"; sourceTree = ""; }; - DC97B97BE29E599A1E061DF4 /* IFTTTConstraintMultiplierAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTConstraintMultiplierAnimation.m; sourceTree = ""; }; - DDE0D1A0A631EF774B5B5EA3 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; - DF26417E447AAA9B5BE0B962 /* UIView+IFTTTJazzHands.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+IFTTTJazzHands.h"; sourceTree = ""; }; - E148F4C7E1F7B4AE6859D5F3 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - E201135640ABD991AB704B67 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - E28E5B7BEE4F0CB18DBF7624 /* IFTTTColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTColorAnimation.h; sourceTree = ""; }; - E2E57523EB6AA145577FAEE0 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - E39426B0F2CD4F298CB47CEF /* Pods-JazzHandsTests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-JazzHandsTests-environment.h"; sourceTree = ""; }; - E73A5EC36B307783A21CFDDB /* IFTTTInterpolatable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTInterpolatable.h; sourceTree = ""; }; - EAB88DD680277C61C98FC295 /* IFTTTAlphaAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAlphaAnimation.h; sourceTree = ""; }; - EE4984D09E42888921D0E413 /* IFTTTHideAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTHideAnimation.h; sourceTree = ""; }; - F15AEFA328224BC372E4EB56 /* IFTTTFrameAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTFrameAnimation.h; sourceTree = ""; }; - F176914B861567AB8DB7145C /* libPods-JazzHandsDemo-JazzHands.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsDemo-JazzHands.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - F3550B6564714C53C72E7E07 /* Pods-JazzHandsTests-Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsTests-Expecta-dummy.m"; sourceTree = ""; }; - F4A4D3AE9B257720CC1A3719 /* Pods-JazzHandsDemo-JazzHands-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsDemo-JazzHands-dummy.m"; sourceTree = ""; }; - F7993624656BB6FA551993BB /* IFTTTLabelAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTLabelAnimation.m; sourceTree = ""; }; - F7C0192850549356DAF19349 /* IFTTTConstraintMultiplierAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTConstraintMultiplierAnimation.h; sourceTree = ""; }; - F92F4C576AA5DF053E7FE99E /* IFTTTColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTColorAnimation.m; sourceTree = ""; }; - FA1F70434A46B8430904BA8A /* Pods-JazzHandsTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-JazzHandsTests-resources.sh"; sourceTree = ""; }; - FBB7DE6A6D8019C196B680D6 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; - FBE18933E13686194E220A52 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - FCF99CF5BE8060D20C0A3EE7 /* libPods-JazzHandsTests-JazzHands.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsTests-JazzHands.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - FF049F59D8CA2671225B373D /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; + 017FC6D220FAA413BD7D191746186918 /* IFTTTLayerStrokeStartAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTLayerStrokeStartAnimation.m; sourceTree = ""; }; + 02BB88871F8A376A6694285D966B7BD1 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + 039307585B74513225DE868BD72CDDF2 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; + 06429C0B758EED789E68DD6D1019CA91 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + 067233EFF021D699EC2BFB6CE8586D8B /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + 074CB9AEE48C00897532E99F4DD54B94 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + 0813D7CCE93DF9FC7208102A816A5DBE /* IFTTTRotationAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTRotationAnimation.m; sourceTree = ""; }; + 0A0B300C8497D3C88986E88DCCF3A718 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; + 0B24F39CC45C26A9EF321AD8649AA2AE /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; + 0D325390A8710E51553FA45D79BD1C98 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + 0D71069641BD5F781B575635DACF4EB9 /* IFTTTConstraintMultiplierAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTConstraintMultiplierAnimation.h; sourceTree = ""; }; + 0E88E59B6EDB6935BE7BC4E62EEBDEFF /* IFTTTBackgroundColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTBackgroundColorAnimation.m; sourceTree = ""; }; + 0F633A3B997F9474EF4672947956E8E3 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + 109DB120ECD56EB5D95DA72D18ED6AF9 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + 10E241FC9FA86B8755AC1637E56F48B3 /* IFTTTEasingFunction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTEasingFunction.h; sourceTree = ""; }; + 13FA98AB1039849BB795C822CAEB533E /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; + 143BFB0B98F1A2EE6862EBB1C95ED766 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + 1541479B80B87EEB10575C0019A0886C /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + 1ADEA213D7D8619170AB9C3A80AC7BAB /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + 1B51AFFF317198196C9524ACD7651F28 /* Pods-JazzHandsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests.debug.xcconfig"; sourceTree = ""; }; + 1D58D7864F8C1C7D0BDC67FBCEA333A9 /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; + 1F580BFCDA7D94DE5798B242EF02DA96 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; + 2009023B8D773B413428D7EDB3F88A4E /* libPods-JazzHandsDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 202BA45B32EC397EB18C60369FE3B281 /* IFTTTPathPositionAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTPathPositionAnimation.h; sourceTree = ""; }; + 20D7552C29B8466BFD771A0829A23D25 /* Pods-JazzHandsTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-JazzHandsTests-acknowledgements.markdown"; sourceTree = ""; }; + 21CC79E8059D8DB568D9A094975204B3 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; + 2291C91CE4CFD39864CD61967E90742C /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; + 229F3748A703778F7AF1CD314999B9DA /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; + 240D9CFF6C14BE0D9A6B60C560259873 /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + 241198EE582FC113CAD1B6D6995971DB /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + 248617CA3C52A0619F75C4AAD0EB233C /* IFTTTInterpolatable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTInterpolatable.h; sourceTree = ""; }; + 2491B930B7D1F76A39FFB408CDA739CE /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + 24BAB4F5013D6BFADA4A640480A9D2C7 /* libPods-JazzHandsTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JazzHandsTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 257ED81C3B6E3C3F79ED10F8A7D2F253 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; + 2720E6408315E49E8786711EC466E4C2 /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; + 274F1CCE890DC33157C4AAD25A8AB1DE /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; + 278EE1149D48BC0B32BBAEB2F1AE5808 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 289497E8FCF89355E58891D37704ADFE /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; + 29202C5DB7317367CB036B121CB16B61 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; + 2A58A298CF4AD83AA2773054430AB2E8 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; + 31281F6C0B269B0BE12175DDF3F5DA09 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 323E02081128FFCC181E9F174D7F51A3 /* IFTTTTransform3DAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTransform3DAnimation.h; sourceTree = ""; }; + 32573047F16F3AF6CE441A8EE164D965 /* JazzHands.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JazzHands.xcconfig; sourceTree = ""; }; + 32C0FE34D74DFFDEC14B670E01760321 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + 34E555A119006DE80A85C17FF8CD9B36 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + 3592089E6B6764FA5085BF622FB4A28F /* IFTTTLayerStrokeEndAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTLayerStrokeEndAnimation.m; sourceTree = ""; }; + 38DE256F90D274203BB0B7586C536768 /* IFTTTFrameAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTFrameAnimation.h; sourceTree = ""; }; + 39110B9DC3F194F2D3AF191CEBC362B2 /* IFTTTAnimator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimator.m; sourceTree = ""; }; + 397C98202446A9506225D8D4F8AC4B30 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; + 39A4F92883A1EA9AC462D68B89A0A0B6 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 3B3F4C3503E6C633E6A1F769D5753111 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + 3B6C643861AD186FA24948BC26BE887A /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 3B939C3A1A5AEC8601A9FCD1B21FD1E6 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + 3BB465E74FE1C7245764FCE04F870B75 /* IFTTTShapeLayerAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTShapeLayerAnimation.h; sourceTree = ""; }; + 3C0A990A5AF02098FEE33D1B3E3513A2 /* UIView+IFTTTJazzHands.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+IFTTTJazzHands.h"; sourceTree = ""; }; + 3C4549C6F4E41D57F1009573AA927B58 /* IFTTTHideAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTHideAnimation.m; sourceTree = ""; }; + 3D2185136441FB8B281669BAA9B2C283 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; + 3D837292CE0FF8206C520BDB4FFFCBC2 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + 3DC20D4CDAF1556C37EC20ECB983390E /* UIView+IFTTTJazzHands.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+IFTTTJazzHands.m"; sourceTree = ""; }; + 3E3343108889DCD7589DADD5B29717F8 /* IFTTTLayerStrokeStartAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTLayerStrokeStartAnimation.h; sourceTree = ""; }; + 41532C4D056DF42E03DD1E11E7D6F03F /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + 42C045A2DB0085AAE8AADF34D548B912 /* IFTTTAnimatedPagingScrollViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimatedPagingScrollViewController.m; sourceTree = ""; }; + 4357BBD450F02ECA63791BF400D5BAAC /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + 439D155986590405100077D4516A10CC /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; + 43B371DB8D219320A8943C74CCD7B96F /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + 44750F273358F691D566C33252E3F829 /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; + 4478FE1575F6249DEF44A32F65BDEB3B /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; + 448B92D42D7AFF18F07688B52592AF8D /* Pods-JazzHandsDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo.release.xcconfig"; sourceTree = ""; }; + 45D522101B40326050F2ED7DBD055DBD /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; + 476A0956DB554DFB1CD82C783C1A0CAC /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; + 4A2B757FB2C593E3629B56B5082E61AB /* Pods-JazzHandsTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsTests-dummy.m"; sourceTree = ""; }; + 4B0A3E90917A999E9FF906B583592407 /* IFTTTShapeLayerAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTShapeLayerAnimation.m; sourceTree = ""; }; + 4B3C92EC4E399D3543EAEFAEFCFBC586 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + 4B88DECB64E8369145939917AFC2F03C /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; + 517C24ABB2AE00DB4DA3D1F176420A34 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + 52DBFEBD676306CCA363511268DF33AB /* IFTTTAnimatedPagingScrollViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatedPagingScrollViewController.h; sourceTree = ""; }; + 53413A54470EEECBCB3ED2076BEFC917 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; + 535956B6230D0D5726B94544B1586B3D /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 538BA63B8796CDB8A7128F9BF180D6C0 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 549D15680C5B8D9B8766F194283D1E25 /* IFTTTBackgroundColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTBackgroundColorAnimation.h; sourceTree = ""; }; + 5572C111EDD5C94CDA45FE8403A8CA28 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; + 58EF3D9A5F7D98D29EE9AC1366E1CCE1 /* Pods-JazzHandsDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-JazzHandsDemo-acknowledgements.markdown"; sourceTree = ""; }; + 5950E9BE99B8F429C8AFF7AE7662D96C /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + 5AD978FEC8107CB5414FD65686099780 /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; + 5B1A4C4557882E3C8C642070A82864E3 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 5B76CC4A0E6498BB4080EDDF0A5F306F /* Pods-JazzHandsTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-JazzHandsTests-resources.sh"; sourceTree = ""; }; + 5CFC057C52EE2A6DE239458D1FBBED9A /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + 5CFE8EA711BBBE7BE7550A9BD56C61EF /* IFTTTFilmstrip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTFilmstrip.h; sourceTree = ""; }; + 5E500E91FCACA2C1502EDBF20C54BA5D /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; + 637C17320BBC47A0AA58D582277A3CDC /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = ""; }; + 65904F2DBC97DE38C57A681453A7317F /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; + 673218E143FB3CA5F3E7B18DE547DA53 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + 6878254997CF10937AE0DB2E6E8C25B0 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; + 6A578EEAA8DE8C1AECC87A01EC718ACC /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; + 6AD2AFDB66028B2AA2C77708F13E327B /* JazzHands-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "JazzHands-Private.xcconfig"; sourceTree = ""; }; + 6B5985B109CE477C63944DCFC5A70E1E /* Pods-JazzHandsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsTests.release.xcconfig"; sourceTree = ""; }; + 6C3656098A8F479FEFE47FE78F5B7D82 /* IFTTTCornerRadiusAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTCornerRadiusAnimation.h; sourceTree = ""; }; + 6D1819DD8C0F51AEA8249E2E6AF37392 /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; + 6DE4E4D462BD16B6741FE39E5338A81A /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; + 7041B392166417648DE97965F00951E4 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; + 71731D6883D7514628863A0411588178 /* Expecta-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Expecta-Private.xcconfig"; sourceTree = ""; }; + 72132E294331DD59F635FC1878F7D130 /* Specta-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Specta-Private.xcconfig"; sourceTree = ""; }; + 723C788EE4CC5AF077956636C5E94A1D /* IFTTTAlphaAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAlphaAnimation.m; sourceTree = ""; }; + 73387320CCCE948631932AC117A1FD9A /* IFTTTScrollViewPageConstraintAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTScrollViewPageConstraintAnimation.h; sourceTree = ""; }; + 739C414FEAE8C6E579E2A6672CC2BEFA /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; + 778F28937AAD3E90E1DC15850860F449 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; + 787E08A5EA62167C40AD079DD184498E /* libJazzHands.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libJazzHands.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 7B49D326FF48234ED67AB4B894753898 /* IFTTTConstraintConstantAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTConstraintConstantAnimation.m; sourceTree = ""; }; + 7D1466913725877B5C26F9199BC08EB8 /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; + 8025E16DAF3C5B476B22E46B320A30E0 /* Pods-JazzHandsTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-JazzHandsTests-acknowledgements.plist"; sourceTree = ""; }; + 80DDC36D925729A51399070592A21A90 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; + 8217845E2A5F620A82A4BAA4EEC951AC /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; + 8556257F4CBFB21F7718750EEEE73718 /* IFTTTPathPositionAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTPathPositionAnimation.m; sourceTree = ""; }; + 85E4DF546162ED78B0EB0D14D18563B9 /* IFTTTInterpolatable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTInterpolatable.m; sourceTree = ""; }; + 888022AEFC3B3174B552185E61CE5584 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; + 8907D2FDB9BE66F533036B7139FF6D0A /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + 897399199FD560D3425F52D51E1B906B /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; + 8A18D69CC44E60F85B7C25949947CC9E /* IFTTTFilmstrip.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTFilmstrip.m; sourceTree = ""; }; + 8D3EF0ABD850EDA264F0BAFB25B312BE /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; + 8FD462DB932E0CF9E404F08EC68BEAC6 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + 902C38E1274810E40D30F3EDE7583A65 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + 9230328A3DFC41F6F4175A7C15476F72 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; + 92457E91286B083A7266E82F73AA4900 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + 9339D9187D0D833953BFF83FBDC6318B /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; + 93E3DBD91129F3B9C3942FF803ED5FAB /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; + 97E017CFAF31AB762BBCA57D6FEA389E /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; + 98B9933347D6344DFC808F751C019F14 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 9AA514492A2A071B4C402B771323C81A /* IFTTTAnimatedScrollViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatedScrollViewController.h; sourceTree = ""; }; + 9C0632B50DE110EFC8A10AD53DE5FE07 /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; + 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 9CAC291410901C2348BDA4DCD911C612 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + 9EE3D98BAE31E2A1D84C0CBC741E2D7B /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; + 9F823D670B378E3F3B1C6DCFC814634F /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + A06D2ED301A23E55AABE964BBF96609B /* Masonry-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Masonry-Private.xcconfig"; sourceTree = ""; }; + A0FA1B54BD155598E90FFB0738A5DE2B /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + A1665585902A947D974113EBCFBB2CB3 /* IFTTTTranslationAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTranslationAnimation.h; sourceTree = ""; }; + A353918B7D857FB343CEE074EBBFA5C6 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + A490377D2070BCF7CD8A95A8DFC3A55F /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + A4EE0C17FCFECDCE7A3D5ABCEAA213EB /* Pods-JazzHandsDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-JazzHandsDemo-acknowledgements.plist"; sourceTree = ""; }; + A52053B89834CE2D508A036A58030D55 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; + A52E2914098688BDBAFC3E1D1FA83DD6 /* IFTTTEasingFunction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTEasingFunction.m; sourceTree = ""; }; + A58D6CD377F35F4EB94DEE4B695E07B8 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + A5DBD67B0AC13F3B51DFC6E8EFD448EF /* IFTTTAnimatedScrollViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimatedScrollViewController.m; sourceTree = ""; }; + A79B2D894121CD0007654292154B3A11 /* IFTTTLayerStrokeEndAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTLayerStrokeEndAnimation.h; sourceTree = ""; }; + A836D92B58014E3BFD8B916EC7FAE440 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; + A838670FBCED2F3CA582C88DFE47F8E5 /* IFTTTAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimation.h; sourceTree = ""; }; + A8BAF57831E9734DE9A2B8E9FCCC7B91 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + A8E457F5C5FA7579DDD858E403184772 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + AA7DE2EA41360E6C7CBB1291F86ED6CE /* IFTTTConstraintMultiplierAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTConstraintMultiplierAnimation.m; sourceTree = ""; }; + ABE30A66AB21BF5539E7F07B66BE0E9A /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; + AD824E9743EDC05E8FCD7BD1891E0E5C /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; + ADACCBAD4359D5275B5FF2F361C1713B /* JazzHands-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JazzHands-prefix.pch"; sourceTree = ""; }; + AE9D95FF7D3FAB387818FF008289FA3E /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B23712B0286454B97F688EA3E00CE475 /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; + B354A6E69AEC57DFD852CDF5644DD360 /* IFTTTScrollViewPageConstraintAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTScrollViewPageConstraintAnimation.m; sourceTree = ""; }; + B7F76A8F2F270A862F8F388727EA1419 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; + B952CDCCCC2CD9325C1B4CC3A6D4AD39 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + B9A874C5A5C9210FB9EBF8AE74F5FDF0 /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; + B9E4C402E4D6835AAFE17C57E63ED316 /* IFTTTTextColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTTextColorAnimation.h; sourceTree = ""; }; + BB24B5BEFD989D103654FFA4FD5DD9FB /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + BC3FA964763C1DDB0BA9560E061CA98E /* IFTTTAlphaAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAlphaAnimation.h; sourceTree = ""; }; + BE6099B6062F0708A5CBFB33BD012357 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; + BE829408D0E583327D8A1549D1B583DF /* Pods-JazzHandsDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-JazzHandsDemo.debug.xcconfig"; sourceTree = ""; }; + C35148BA2BD2F5C13707DE9ADD1E48D1 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; + C3D8726E373349DF5E74BC65B64E3E2E /* JazzHands-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JazzHands-dummy.m"; sourceTree = ""; }; + C61B45BA4D81CB42405344BE39257114 /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; + C64410716204AC18CCE56D712F87081F /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; + C7A249FEE57C22346B05B7994BFF3FD0 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; + C7F66A045625D1435096068F130AC885 /* IFTTTJazzHands.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTJazzHands.h; sourceTree = ""; }; + C80F2D797EA1D78FD7B34AC69E3FF2A8 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + C88113A79685B4EFEE7BAD12896829F7 /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + C995AF079544567FFAD102FF82D3E710 /* IFTTTAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTAnimation.m; sourceTree = ""; }; + CA36B941D3DA431EBEDF1850FAB1EDBD /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + CB5E76B708EA95481F7C14A1D52784C9 /* IFTTTFrameAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTFrameAnimation.m; sourceTree = ""; }; + CC5B31C3F33B66534ACA688918C48901 /* IFTTTAnimatable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimatable.h; sourceTree = ""; }; + CE449897A111A7FC006B8660C5B7446B /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + CF987CC5EBA49241E2450AD835C9336E /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; + CF99FE6F64B865F4E4AEA41B5E68DB78 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; + D0CB6C8B7BEF7D7F4654EFCEEA4BE035 /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; + D340F50594D2F4E9059351E0F2BBCD0F /* IFTTTTransform3DAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTransform3DAnimation.m; sourceTree = ""; }; + D5E2308F20C4541E98548A6770D192C1 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + D707175482FA1D3E3C79BF4841141152 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + D7123431A0DA886D7C3DF29B8AB90028 /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; + DBD703ECB28453EBDE7129AD437007B3 /* IFTTTViewAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTViewAnimation.m; sourceTree = ""; }; + DC4A257E8F59403E0EE36B2AE0B0CAF7 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; + DCA176491E5A220CF0E1AA4A9664EBD4 /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; + DCDA3128ABB9382CBEF4D668F241EB6B /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; + DCF4429A4C1FBFBE14E06D24BCCFBFE9 /* IFTTTHideAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTHideAnimation.h; sourceTree = ""; }; + DE68907A3D1DDA1389A4B67B7C23F4C9 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + DEB97F465B013C170D7E4672EF9878DE /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; + E16304397FEF227A23092DA638C82446 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; + E53E4E735B4EA57AB443C0C999D72848 /* IFTTTLayerFillColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTLayerFillColorAnimation.m; sourceTree = ""; }; + E611E002EE8D03CAD27DB8D950A29491 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + E84B8AE44CAC9FA37E8282ABACBA57A9 /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; + E99D024E5F784133541724441FC2F638 /* IFTTTConstraintConstantAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTConstraintConstantAnimation.h; sourceTree = ""; }; + ED007B475F422DDCECC68DB43B9CE57C /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; + EECB2FA29D0F5886FC7EDFCE78E4461B /* IFTTTRotationAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTRotationAnimation.h; sourceTree = ""; }; + F1BE4364C38BB8D3997A79D165523560 /* IFTTTScaleAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTScaleAnimation.m; sourceTree = ""; }; + F2010A4D8DD54450B7DC01949F9C8035 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; + F29603C53D6E4E1A7EA6736D3C6374BC /* IFTTTLayerFillColorAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTLayerFillColorAnimation.h; sourceTree = ""; }; + F38BD6B2EA8E3D607D37364462D778DF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + F3B757C2350B998EC33E873A0632FB8F /* IFTTTCornerRadiusAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTCornerRadiusAnimation.m; sourceTree = ""; }; + F43B145F6F49BD25867EA23C02E1BA06 /* IFTTTAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTAnimator.h; sourceTree = ""; }; + F4C866ECB58DAA9CFCACAD26B740969A /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + F58215B1B9D360582DFE8F7055FFFA3A /* IFTTTTextColorAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTextColorAnimation.m; sourceTree = ""; }; + F5AA6466E5CFC9EC77C7C69961AF0BF9 /* Pods-JazzHandsDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-JazzHandsDemo-dummy.m"; sourceTree = ""; }; + F5D6688928836B150DE5F25BD4652ADF /* libSpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; + F60BF142E8337E30681505961DD68D45 /* Pods-JazzHandsDemo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-JazzHandsDemo-resources.sh"; sourceTree = ""; }; + F7171AA6E08E5CC4941B507D4D11BDC9 /* IFTTTViewAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTViewAnimation.h; sourceTree = ""; }; + F778B621E07B00779E8C0559EEF48295 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + F84AEE74F32BC419F27BE093F760E7C5 /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; + FC098F9EFC76345CDEFDCE8DBFA34AB0 /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; + FC10E684DD68F44558F62A6931E6390A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + FE38845655E796715A8F91C234BFBD1D /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; + FE532F7977A7E08C1F828AD5FC3C85D7 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; + FE84A12B996695518311DA3C494CB13F /* IFTTTScaleAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IFTTTScaleAnimation.h; sourceTree = ""; }; + FF95AAB9F514AD00B7885D3EA596C4C5 /* IFTTTTranslationAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IFTTTTranslationAnimation.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0385495BBD0FE022AF123047 /* Frameworks */ = { + 6911CF59E03BE9CF1CFCDE50716F425F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 176F0B0CFABDE496FE2CB75C /* Foundation.framework in Frameworks */, + EB0691BC61ACBBA8C4C1AFF4394B3E4D /* Foundation.framework in Frameworks */, + F96BCFE42F5736362B9BD0CA8444C570 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0633515D73E73B83E246A829 /* Frameworks */ = { + 7480D7B2BED33A6AFA145F888D84AEC0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 38F0699F2E01878CD5799170 /* CoreGraphics.framework in Frameworks */, - 886DCA8421D181A0BDC8F847 /* Foundation.framework in Frameworks */, - B386064B6191149915F43479 /* QuartzCore.framework in Frameworks */, - E6F62634EF008AB1BBDA24B8 /* UIKit.framework in Frameworks */, + 6783B7E9D0CBDBD2DAD9E49457A0DA82 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 114C539DA7F000F313C7B84B /* Frameworks */ = { + 8A24AF3B78D5D7A10B7EB02783E6A7EC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 64877141CC91721A160D01BD /* CoreGraphics.framework in Frameworks */, - 995D6A6781ACC97511B06C6F /* Foundation.framework in Frameworks */, - DACBCA1A159DDA9A9FB9CE9F /* QuartzCore.framework in Frameworks */, - 85A67B087289D31EE36081AE /* UIKit.framework in Frameworks */, + 4FC451F18772F8E0A28ACD407E6D0D2E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2BAE57C503748206CFBF6369 /* Frameworks */ = { + A69CB06F0077C8B1F578DB7E3F577653 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B725BA404E5AE55ACA31A002 /* Foundation.framework in Frameworks */, - DB67A66BB47D5F948E1BFF3A /* XCTest.framework in Frameworks */, + EFCB34D3D06D9016B6EDE986F1345201 /* Foundation.framework in Frameworks */, + 75BA922C19DCA9957871881BD29374D4 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B9A7A1F8B88584088284E23F /* Frameworks */ = { + B8DE970F49B8CD3172CF696898746077 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 80CD7BE60090B1A2B9A12D12 /* Foundation.framework in Frameworks */, + 38A2CF2F324AA123FA46ABF36B0D6F9B /* CoreGraphics.framework in Frameworks */, + FB314B0699ADFA8DAFBC702D12032BC2 /* Foundation.framework in Frameworks */, + E4A8E8B4B0CE4D5E2A8C93F0ABE5FC01 /* QuartzCore.framework in Frameworks */, + 3BAFCE42B379E5702438EA9AB83AE2F5 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C4FE4B073AB9523746B384A0 /* Frameworks */ = { + D9D3B3DADDFDC1D199759B6D935EDD88 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 52F55117A9EE0609C89C3DD1 /* Foundation.framework in Frameworks */, - 0292CDCF88E0AE040AE457AD /* XCTest.framework in Frameworks */, + CB27BBBDBC8B293DDDA7644DC0C2CD81 /* Foundation.framework in Frameworks */, + 858C5F4DBE9E095E5371367874C568DC /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 073DE5EAAADA64A2E4078AE7 /* Support Files */ = { + 067EB64301F0A54597901FF5B28879C2 /* JazzHands */ = { isa = PBXGroup; children = ( - 74F71FE57ED77EC851C5B74E /* Pods-JazzHandsTests-Specta.xcconfig */, - 9EB30BAB5EC76B74CE45FB9E /* Pods-JazzHandsTests-Specta-Private.xcconfig */, - 6AF6E47F5FB8196B619F2194 /* Pods-JazzHandsTests-Specta-dummy.m */, - 2D39B8556F16E1CC786632B2 /* Pods-JazzHandsTests-Specta-prefix.pch */, + BC3FA964763C1DDB0BA9560E061CA98E /* IFTTTAlphaAnimation.h */, + 723C788EE4CC5AF077956636C5E94A1D /* IFTTTAlphaAnimation.m */, + CC5B31C3F33B66534ACA688918C48901 /* IFTTTAnimatable.h */, + 52DBFEBD676306CCA363511268DF33AB /* IFTTTAnimatedPagingScrollViewController.h */, + 42C045A2DB0085AAE8AADF34D548B912 /* IFTTTAnimatedPagingScrollViewController.m */, + 9AA514492A2A071B4C402B771323C81A /* IFTTTAnimatedScrollViewController.h */, + A5DBD67B0AC13F3B51DFC6E8EFD448EF /* IFTTTAnimatedScrollViewController.m */, + A838670FBCED2F3CA582C88DFE47F8E5 /* IFTTTAnimation.h */, + C995AF079544567FFAD102FF82D3E710 /* IFTTTAnimation.m */, + F43B145F6F49BD25867EA23C02E1BA06 /* IFTTTAnimator.h */, + 39110B9DC3F194F2D3AF191CEBC362B2 /* IFTTTAnimator.m */, + 549D15680C5B8D9B8766F194283D1E25 /* IFTTTBackgroundColorAnimation.h */, + 0E88E59B6EDB6935BE7BC4E62EEBDEFF /* IFTTTBackgroundColorAnimation.m */, + E99D024E5F784133541724441FC2F638 /* IFTTTConstraintConstantAnimation.h */, + 7B49D326FF48234ED67AB4B894753898 /* IFTTTConstraintConstantAnimation.m */, + 0D71069641BD5F781B575635DACF4EB9 /* IFTTTConstraintMultiplierAnimation.h */, + AA7DE2EA41360E6C7CBB1291F86ED6CE /* IFTTTConstraintMultiplierAnimation.m */, + 6C3656098A8F479FEFE47FE78F5B7D82 /* IFTTTCornerRadiusAnimation.h */, + F3B757C2350B998EC33E873A0632FB8F /* IFTTTCornerRadiusAnimation.m */, + 10E241FC9FA86B8755AC1637E56F48B3 /* IFTTTEasingFunction.h */, + A52E2914098688BDBAFC3E1D1FA83DD6 /* IFTTTEasingFunction.m */, + 5CFE8EA711BBBE7BE7550A9BD56C61EF /* IFTTTFilmstrip.h */, + 8A18D69CC44E60F85B7C25949947CC9E /* IFTTTFilmstrip.m */, + 38DE256F90D274203BB0B7586C536768 /* IFTTTFrameAnimation.h */, + CB5E76B708EA95481F7C14A1D52784C9 /* IFTTTFrameAnimation.m */, + DCF4429A4C1FBFBE14E06D24BCCFBFE9 /* IFTTTHideAnimation.h */, + 3C4549C6F4E41D57F1009573AA927B58 /* IFTTTHideAnimation.m */, + 248617CA3C52A0619F75C4AAD0EB233C /* IFTTTInterpolatable.h */, + 85E4DF546162ED78B0EB0D14D18563B9 /* IFTTTInterpolatable.m */, + C7F66A045625D1435096068F130AC885 /* IFTTTJazzHands.h */, + F29603C53D6E4E1A7EA6736D3C6374BC /* IFTTTLayerFillColorAnimation.h */, + E53E4E735B4EA57AB443C0C999D72848 /* IFTTTLayerFillColorAnimation.m */, + A79B2D894121CD0007654292154B3A11 /* IFTTTLayerStrokeEndAnimation.h */, + 3592089E6B6764FA5085BF622FB4A28F /* IFTTTLayerStrokeEndAnimation.m */, + 3E3343108889DCD7589DADD5B29717F8 /* IFTTTLayerStrokeStartAnimation.h */, + 017FC6D220FAA413BD7D191746186918 /* IFTTTLayerStrokeStartAnimation.m */, + 202BA45B32EC397EB18C60369FE3B281 /* IFTTTPathPositionAnimation.h */, + 8556257F4CBFB21F7718750EEEE73718 /* IFTTTPathPositionAnimation.m */, + EECB2FA29D0F5886FC7EDFCE78E4461B /* IFTTTRotationAnimation.h */, + 0813D7CCE93DF9FC7208102A816A5DBE /* IFTTTRotationAnimation.m */, + FE84A12B996695518311DA3C494CB13F /* IFTTTScaleAnimation.h */, + F1BE4364C38BB8D3997A79D165523560 /* IFTTTScaleAnimation.m */, + 73387320CCCE948631932AC117A1FD9A /* IFTTTScrollViewPageConstraintAnimation.h */, + B354A6E69AEC57DFD852CDF5644DD360 /* IFTTTScrollViewPageConstraintAnimation.m */, + 3BB465E74FE1C7245764FCE04F870B75 /* IFTTTShapeLayerAnimation.h */, + 4B0A3E90917A999E9FF906B583592407 /* IFTTTShapeLayerAnimation.m */, + B9E4C402E4D6835AAFE17C57E63ED316 /* IFTTTTextColorAnimation.h */, + F58215B1B9D360582DFE8F7055FFFA3A /* IFTTTTextColorAnimation.m */, + 323E02081128FFCC181E9F174D7F51A3 /* IFTTTTransform3DAnimation.h */, + D340F50594D2F4E9059351E0F2BBCD0F /* IFTTTTransform3DAnimation.m */, + A1665585902A947D974113EBCFBB2CB3 /* IFTTTTranslationAnimation.h */, + FF95AAB9F514AD00B7885D3EA596C4C5 /* IFTTTTranslationAnimation.m */, + F7171AA6E08E5CC4941B507D4D11BDC9 /* IFTTTViewAnimation.h */, + DBD703ECB28453EBDE7129AD437007B3 /* IFTTTViewAnimation.m */, + 3C0A990A5AF02098FEE33D1B3E3513A2 /* UIView+IFTTTJazzHands.h */, + 3DC20D4CDAF1556C37EC20ECB983390E /* UIView+IFTTTJazzHands.m */, ); - name = "Support Files"; - path = "../Target Support Files/Pods-JazzHandsTests-Specta"; + path = JazzHands; sourceTree = ""; }; - 3DF78207B02F6808EC5DC3A2 /* Pods-JazzHandsTests */ = { + 0720760E6FAA87218C034E98CCD3509B /* Development Pods */ = { isa = PBXGroup; children = ( - 2A9F0CDB69C4A5232F0AD6B7 /* Pods-JazzHandsTests-acknowledgements.markdown */, - 40C00AF8AB4E778B0DC6A1AA /* Pods-JazzHandsTests-acknowledgements.plist */, - 9FE004A8C521BD9ACAAA87F7 /* Pods-JazzHandsTests-dummy.m */, - E39426B0F2CD4F298CB47CEF /* Pods-JazzHandsTests-environment.h */, - FA1F70434A46B8430904BA8A /* Pods-JazzHandsTests-resources.sh */, - 27D3203A4E720E7B7D3EE022 /* Pods-JazzHandsTests.debug.xcconfig */, - 20514729334487DACCC75BEB /* Pods-JazzHandsTests.release.xcconfig */, + F939568682B2AB9EFD9EC2957D80A86D /* JazzHands */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 121676E7055B87530EEB8983B917F9B6 /* Specta */ = { + isa = PBXGroup; + children = ( + C61B45BA4D81CB42405344BE39257114 /* SPTCallSite.h */, + FC098F9EFC76345CDEFDCE8DBFA34AB0 /* SPTCallSite.m */, + 9EE3D98BAE31E2A1D84C0CBC741E2D7B /* SPTCompiledExample.h */, + 97E017CFAF31AB762BBCA57D6FEA389E /* SPTCompiledExample.m */, + 5AD978FEC8107CB5414FD65686099780 /* SPTExample.h */, + 476A0956DB554DFB1CD82C783C1A0CAC /* SPTExample.m */, + E84B8AE44CAC9FA37E8282ABACBA57A9 /* SPTExampleGroup.h */, + C35148BA2BD2F5C13707DE9ADD1E48D1 /* SPTExampleGroup.m */, + B9A874C5A5C9210FB9EBF8AE74F5FDF0 /* SPTExcludeGlobalBeforeAfterEach.h */, + 9C0632B50DE110EFC8A10AD53DE5FE07 /* SPTGlobalBeforeAfterEach.h */, + 439D155986590405100077D4516A10CC /* SPTSharedExampleGroups.h */, + ABE30A66AB21BF5539E7F07B66BE0E9A /* SPTSharedExampleGroups.m */, + 274F1CCE890DC33157C4AAD25A8AB1DE /* SPTSpec.h */, + 4478FE1575F6249DEF44A32F65BDEB3B /* SPTSpec.m */, + 80DDC36D925729A51399070592A21A90 /* SPTTestSuite.h */, + 9339D9187D0D833953BFF83FBDC6318B /* SPTTestSuite.m */, + B23712B0286454B97F688EA3E00CE475 /* Specta.h */, + 3B6C643861AD186FA24948BC26BE887A /* SpectaDSL.h */, + 44750F273358F691D566C33252E3F829 /* SpectaDSL.m */, + CF99FE6F64B865F4E4AEA41B5E68DB78 /* SpectaTypes.h */, + 229F3748A703778F7AF1CD314999B9DA /* SpectaUtility.h */, + D7123431A0DA886D7C3DF29B8AB90028 /* SpectaUtility.m */, + 6D1819DD8C0F51AEA8249E2E6AF37392 /* XCTest+Private.h */, + 739C414FEAE8C6E579E2A6672CC2BEFA /* XCTestCase+Specta.h */, + 039307585B74513225DE868BD72CDDF2 /* XCTestCase+Specta.m */, + DD8AE74F14E8E24602764D894FD76CB6 /* Support Files */, + ); + path = Specta; + sourceTree = ""; + }; + 144BF115C4736078A910E83B04F491D6 /* Pods-JazzHandsTests */ = { + isa = PBXGroup; + children = ( + 20D7552C29B8466BFD771A0829A23D25 /* Pods-JazzHandsTests-acknowledgements.markdown */, + 8025E16DAF3C5B476B22E46B320A30E0 /* Pods-JazzHandsTests-acknowledgements.plist */, + 4A2B757FB2C593E3629B56B5082E61AB /* Pods-JazzHandsTests-dummy.m */, + 5B76CC4A0E6498BB4080EDDF0A5F306F /* Pods-JazzHandsTests-resources.sh */, + 1B51AFFF317198196C9524ACD7651F28 /* Pods-JazzHandsTests.debug.xcconfig */, + 6B5985B109CE477C63944DCFC5A70E1E /* Pods-JazzHandsTests.release.xcconfig */, ); name = "Pods-JazzHandsTests"; path = "Target Support Files/Pods-JazzHandsTests"; sourceTree = ""; }; - 45FC01CCAC4CCC3E41449454 = { + 1ABCA98B5044B5E47AA95E30CD621017 /* Support Files */ = { isa = PBXGroup; children = ( - B9A4CAA18F8634246067D4E0 /* Podfile */, - 6AB14CD9EA49C61A5057C27D /* Development Pods */, - CA4282CD1A2D79FF49AD1BCB /* Frameworks */, - 5BB27855DD11A6D520963ADE /* Pods */, - FE90CB2C3F72067D3364D64B /* Products */, - 618054182AD88E5DB2FD7C7E /* Targets Support Files */, + 32573047F16F3AF6CE441A8EE164D965 /* JazzHands.xcconfig */, + 6AD2AFDB66028B2AA2C77708F13E327B /* JazzHands-Private.xcconfig */, + C3D8726E373349DF5E74BC65B64E3E2E /* JazzHands-dummy.m */, + ADACCBAD4359D5275B5FF2F361C1713B /* JazzHands-prefix.pch */, ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/JazzHands"; sourceTree = ""; }; - 512374F6CDC20E51321F5D7C /* JazzHands */ = { + 446573FE20C68906C9F64253C7AF24FC /* Pods-JazzHandsDemo */ = { isa = PBXGroup; children = ( - EAB88DD680277C61C98FC295 /* IFTTTAlphaAnimation.h */, - 9E3DACEFD08C0645E69178D2 /* IFTTTAlphaAnimation.m */, - 2E64BC8420E597A057004433 /* IFTTTAnimatable.h */, - 17C030FDB2672516FEC00B8A /* IFTTTAnimatedPagingScrollViewController.h */, - C748F8880E0A11BF2D91BFB3 /* IFTTTAnimatedPagingScrollViewController.m */, - 47830E8280C22A00348B3A3A /* IFTTTAnimatedScrollViewController.h */, - 39A24AC2A3192B4E396BDCCD /* IFTTTAnimatedScrollViewController.m */, - 30D4A17355F3E76FE956DD8F /* IFTTTAnimation.h */, - 4714C82809C283AD75123D20 /* IFTTTAnimation.m */, - 85E852DF9A8D8B6C5BD9D174 /* IFTTTAnimator.h */, - 45217821746137F806307B8B /* IFTTTAnimator.m */, - E28E5B7BEE4F0CB18DBF7624 /* IFTTTColorAnimation.h */, - F92F4C576AA5DF053E7FE99E /* IFTTTColorAnimation.m */, - A3F7DE6E48FEC85D3FAF87C9 /* IFTTTConstraintConstantAnimation.h */, - 5C44FA18D390D4A7C180C747 /* IFTTTConstraintConstantAnimation.m */, - F7C0192850549356DAF19349 /* IFTTTConstraintMultiplierAnimation.h */, - DC97B97BE29E599A1E061DF4 /* IFTTTConstraintMultiplierAnimation.m */, - 55FF746A899C264E74823631 /* IFTTTCornerRadiusAnimation.h */, - 01A063D479F7E7ED0ADA7C9F /* IFTTTCornerRadiusAnimation.m */, - 66C5C5B6E2894A60757FF56C /* IFTTTEasingFunction.h */, - 66827CB2F1A3D514BB314695 /* IFTTTEasingFunction.m */, - 294E402DA2EEE4E96A109F72 /* IFTTTFillColorAnimation.h */, - 0FD3CF03FD3994B9039C63EF /* IFTTTFillColorAnimation.m */, - BF2126960454E4508B4C8F47 /* IFTTTFilmstrip.h */, - D1DECE85F99DB176A990CB84 /* IFTTTFilmstrip.m */, - F15AEFA328224BC372E4EB56 /* IFTTTFrameAnimation.h */, - 61B3B16635730AB19C470062 /* IFTTTFrameAnimation.m */, - EE4984D09E42888921D0E413 /* IFTTTHideAnimation.h */, - 0E8C366F517DDCC943F01AD3 /* IFTTTHideAnimation.m */, - E73A5EC36B307783A21CFDDB /* IFTTTInterpolatable.h */, - 6022CE483547D3A6727C0AC8 /* IFTTTInterpolatable.m */, - D1A7CA255EEE41815C415CEA /* IFTTTJazzHands.h */, - 6545EF0918678FA7FCC8F050 /* IFTTTLabelAnimation.h */, - F7993624656BB6FA551993BB /* IFTTTLabelAnimation.m */, - AE00247518DCD77900CF76A3 /* IFTTTRotationAnimation.h */, - 475496CF1856DA976736F2C3 /* IFTTTRotationAnimation.m */, - 41665A98E7A2989C0540932B /* IFTTTScaleAnimation.h */, - BCB5203E60770E20F1BF4F5F /* IFTTTScaleAnimation.m */, - C7824ABCCD4DB01B5092F46D /* IFTTTScrollViewPageConstraintAnimation.h */, - 6564E350AAA1B2647EF101AE /* IFTTTScrollViewPageConstraintAnimation.m */, - 78645949EDC177E1FBC00F5E /* IFTTTShapeLayerAnimation.h */, - 7907D01D0D268B01F5E91357 /* IFTTTShapeLayerAnimation.m */, - 652870E176D149654FC4F114 /* IFTTTStrokeEndAnimation.h */, - 6067F91822EB4F1D3752C0B0 /* IFTTTStrokeEndAnimation.m */, - 7436478379463FAEDCFC50C7 /* IFTTTStrokeStartAnimation.h */, - D45C64A3B920291E2CA08B3D /* IFTTTStrokeStartAnimation.m */, - 0385E9231A11BDEC59E31FC3 /* IFTTTTextColorAnimation.h */, - 3446018392C5339D4A3631D3 /* IFTTTTextColorAnimation.m */, - 9C4A2ED28DFE02466E7B2DB6 /* IFTTTTransform3DAnimation.h */, - 750FB2EF7FDC6010FCCA2506 /* IFTTTTransform3DAnimation.m */, - 33EBD14E380909DBEB60A523 /* IFTTTTranslationAnimation.h */, - 1537E4CE53FDCC85590BFC6C /* IFTTTTranslationAnimation.m */, - 26E49EE81C8B6906E648059D /* IFTTTViewAnimation.h */, - B383AE2E43A2CE2341AC6C7E /* IFTTTViewAnimation.m */, - DF26417E447AAA9B5BE0B962 /* UIView+IFTTTJazzHands.h */, - 272D9B2C4213EEED01F9460E /* UIView+IFTTTJazzHands.m */, + 58EF3D9A5F7D98D29EE9AC1366E1CCE1 /* Pods-JazzHandsDemo-acknowledgements.markdown */, + A4EE0C17FCFECDCE7A3D5ABCEAA213EB /* Pods-JazzHandsDemo-acknowledgements.plist */, + F5AA6466E5CFC9EC77C7C69961AF0BF9 /* Pods-JazzHandsDemo-dummy.m */, + F60BF142E8337E30681505961DD68D45 /* Pods-JazzHandsDemo-resources.sh */, + BE829408D0E583327D8A1549D1B583DF /* Pods-JazzHandsDemo.debug.xcconfig */, + 448B92D42D7AFF18F07688B52592AF8D /* Pods-JazzHandsDemo.release.xcconfig */, ); - path = JazzHands; + name = "Pods-JazzHandsDemo"; + path = "Target Support Files/Pods-JazzHandsDemo"; sourceTree = ""; }; - 5BB27855DD11A6D520963ADE /* Pods */ = { + 4D5F1C5266E23BFD9C475AE722FFC6E8 /* Support Files */ = { isa = PBXGroup; children = ( - CEA7C2E49D2774EEA4FBA1D2 /* Expecta */, - F58C5B0F9F83B524EE2248FA /* Specta */, + 637C17320BBC47A0AA58D582277A3CDC /* Masonry.xcconfig */, + A06D2ED301A23E55AABE964BBF96609B /* Masonry-Private.xcconfig */, + DEB97F465B013C170D7E4672EF9878DE /* Masonry-dummy.m */, + 0B24F39CC45C26A9EF321AD8649AA2AE /* Masonry-prefix.pch */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/Masonry"; sourceTree = ""; }; - 618054182AD88E5DB2FD7C7E /* Targets Support Files */ = { + 50592577B484E557DA325AE948843624 /* Support Files */ = { isa = PBXGroup; children = ( - 890E069510A93D42149E13CD /* Pods-JazzHandsDemo */, - 3DF78207B02F6808EC5DC3A2 /* Pods-JazzHandsTests */, + C64410716204AC18CCE56D712F87081F /* Expecta.xcconfig */, + 71731D6883D7514628863A0411588178 /* Expecta-Private.xcconfig */, + FE532F7977A7E08C1F828AD5FC3C85D7 /* Expecta-dummy.m */, + 143BFB0B98F1A2EE6862EBB1C95ED766 /* Expecta-prefix.pch */, ); - name = "Targets Support Files"; + name = "Support Files"; + path = "../Target Support Files/Expecta"; sourceTree = ""; }; - 6AB14CD9EA49C61A5057C27D /* Development Pods */ = { + 5E1F3384B1B39575144FEBFCF3210CCC /* Frameworks */ = { isa = PBXGroup; children = ( - 9699690F02CCD4943526E2B0 /* JazzHands */, + D29526F7A46BE1E52CC03A03EA372EBA /* iOS */, ); - name = "Development Pods"; + name = Frameworks; sourceTree = ""; }; - 71FA4741DB4F3EE2ABBB2E81 /* Support Files */ = { + 69E0949A4E24637AE0C75A1ACB8F3669 /* Expecta */ = { isa = PBXGroup; children = ( - DC6D99FDA4AB993DC6B0B082 /* Pods-JazzHandsTests-Expecta.xcconfig */, - D0AEE595E08376FA3AECF837 /* Pods-JazzHandsTests-Expecta-Private.xcconfig */, - F3550B6564714C53C72E7E07 /* Pods-JazzHandsTests-Expecta-dummy.m */, - 6929F82124DD106E6E9EFDAF /* Pods-JazzHandsTests-Expecta-prefix.pch */, + A490377D2070BCF7CD8A95A8DFC3A55F /* EXPBlockDefinedMatcher.h */, + DCDA3128ABB9382CBEF4D668F241EB6B /* EXPBlockDefinedMatcher.m */, + 535956B6230D0D5726B94544B1586B3D /* EXPDefines.h */, + DE68907A3D1DDA1389A4B67B7C23F4C9 /* EXPDoubleTuple.h */, + 4357BBD450F02ECA63791BF400D5BAAC /* EXPDoubleTuple.m */, + 45D522101B40326050F2ED7DBD055DBD /* EXPExpect.h */, + 517C24ABB2AE00DB4DA3D1F176420A34 /* EXPExpect.m */, + FE38845655E796715A8F91C234BFBD1D /* EXPFloatTuple.h */, + 32C0FE34D74DFFDEC14B670E01760321 /* EXPFloatTuple.m */, + 0D325390A8710E51553FA45D79BD1C98 /* EXPMatcher.h */, + D707175482FA1D3E3C79BF4841141152 /* EXPMatcherHelpers.h */, + A8E457F5C5FA7579DDD858E403184772 /* EXPMatcherHelpers.m */, + 3B3F4C3503E6C633E6A1F769D5753111 /* EXPMatchers.h */, + A52053B89834CE2D508A036A58030D55 /* EXPMatchers+beCloseTo.h */, + 5572C111EDD5C94CDA45FE8403A8CA28 /* EXPMatchers+beCloseTo.m */, + 5B1A4C4557882E3C8C642070A82864E3 /* EXPMatchers+beFalsy.h */, + 02BB88871F8A376A6694285D966B7BD1 /* EXPMatchers+beFalsy.m */, + 39A4F92883A1EA9AC462D68B89A0A0B6 /* EXPMatchers+beGreaterThan.h */, + ED007B475F422DDCECC68DB43B9CE57C /* EXPMatchers+beGreaterThan.m */, + CE449897A111A7FC006B8660C5B7446B /* EXPMatchers+beGreaterThanOrEqualTo.h */, + 7041B392166417648DE97965F00951E4 /* EXPMatchers+beGreaterThanOrEqualTo.m */, + 9CAC291410901C2348BDA4DCD911C612 /* EXPMatchers+beIdenticalTo.h */, + 4B3C92EC4E399D3543EAEFAEFCFBC586 /* EXPMatchers+beIdenticalTo.m */, + E16304397FEF227A23092DA638C82446 /* EXPMatchers+beInTheRangeOf.h */, + 3D837292CE0FF8206C520BDB4FFFCBC2 /* EXPMatchers+beInTheRangeOf.m */, + C80F2D797EA1D78FD7B34AC69E3FF2A8 /* EXPMatchers+beInstanceOf.h */, + F4C866ECB58DAA9CFCACAD26B740969A /* EXPMatchers+beInstanceOf.m */, + 5950E9BE99B8F429C8AFF7AE7662D96C /* EXPMatchers+beKindOf.h */, + 8FD462DB932E0CF9E404F08EC68BEAC6 /* EXPMatchers+beKindOf.m */, + E611E002EE8D03CAD27DB8D950A29491 /* EXPMatchers+beLessThan.h */, + 6DE4E4D462BD16B6741FE39E5338A81A /* EXPMatchers+beLessThan.m */, + 98B9933347D6344DFC808F751C019F14 /* EXPMatchers+beLessThanOrEqualTo.h */, + 41532C4D056DF42E03DD1E11E7D6F03F /* EXPMatchers+beLessThanOrEqualTo.m */, + A353918B7D857FB343CEE074EBBFA5C6 /* EXPMatchers+beNil.h */, + D5E2308F20C4541E98548A6770D192C1 /* EXPMatchers+beNil.m */, + 067233EFF021D699EC2BFB6CE8586D8B /* EXPMatchers+beSubclassOf.h */, + 109DB120ECD56EB5D95DA72D18ED6AF9 /* EXPMatchers+beSubclassOf.m */, + A58D6CD377F35F4EB94DEE4B695E07B8 /* EXPMatchers+beSupersetOf.h */, + 0F633A3B997F9474EF4672947956E8E3 /* EXPMatchers+beSupersetOf.m */, + AD824E9743EDC05E8FCD7BD1891E0E5C /* EXPMatchers+beTruthy.h */, + 3D2185136441FB8B281669BAA9B2C283 /* EXPMatchers+beTruthy.m */, + 06429C0B758EED789E68DD6D1019CA91 /* EXPMatchers+beginWith.h */, + 2291C91CE4CFD39864CD61967E90742C /* EXPMatchers+beginWith.m */, + 53413A54470EEECBCB3ED2076BEFC917 /* EXPMatchers+conformTo.h */, + BE6099B6062F0708A5CBFB33BD012357 /* EXPMatchers+conformTo.m */, + 6A578EEAA8DE8C1AECC87A01EC718ACC /* EXPMatchers+contain.h */, + 397C98202446A9506225D8D4F8AC4B30 /* EXPMatchers+contain.m */, + BB24B5BEFD989D103654FFA4FD5DD9FB /* EXPMatchers+endWith.h */, + 8907D2FDB9BE66F533036B7139FF6D0A /* EXPMatchers+endWith.m */, + A8BAF57831E9734DE9A2B8E9FCCC7B91 /* EXPMatchers+equal.h */, + F778B621E07B00779E8C0559EEF48295 /* EXPMatchers+equal.m */, + 13FA98AB1039849BB795C822CAEB533E /* EXPMatchers+haveCountOf.h */, + CA36B941D3DA431EBEDF1850FAB1EDBD /* EXPMatchers+haveCountOf.m */, + 902C38E1274810E40D30F3EDE7583A65 /* EXPMatchers+match.h */, + 0A0B300C8497D3C88986E88DCCF3A718 /* EXPMatchers+match.m */, + 3B939C3A1A5AEC8601A9FCD1B21FD1E6 /* EXPMatchers+postNotification.h */, + 241198EE582FC113CAD1B6D6995971DB /* EXPMatchers+postNotification.m */, + B952CDCCCC2CD9325C1B4CC3A6D4AD39 /* EXPMatchers+raise.h */, + 92457E91286B083A7266E82F73AA4900 /* EXPMatchers+raise.m */, + 5CFC057C52EE2A6DE239458D1FBBED9A /* EXPMatchers+raiseWithReason.h */, + 65904F2DBC97DE38C57A681453A7317F /* EXPMatchers+raiseWithReason.m */, + DC4A257E8F59403E0EE36B2AE0B0CAF7 /* EXPMatchers+respondTo.h */, + 1F580BFCDA7D94DE5798B242EF02DA96 /* EXPMatchers+respondTo.m */, + CF987CC5EBA49241E2450AD835C9336E /* EXPUnsupportedObject.h */, + 074CB9AEE48C00897532E99F4DD54B94 /* EXPUnsupportedObject.m */, + 43B371DB8D219320A8943C74CCD7B96F /* Expecta.h */, + 1D58D7864F8C1C7D0BDC67FBCEA333A9 /* ExpectaObject.h */, + 34E555A119006DE80A85C17FF8CD9B36 /* ExpectaObject.m */, + 2491B930B7D1F76A39FFB408CDA739CE /* ExpectaSupport.h */, + 240D9CFF6C14BE0D9A6B60C560259873 /* ExpectaSupport.m */, + 673218E143FB3CA5F3E7B18DE547DA53 /* NSObject+Expecta.h */, + 9F823D670B378E3F3B1C6DCFC814634F /* NSValue+Expecta.h */, + C7A249FEE57C22346B05B7994BFF3FD0 /* NSValue+Expecta.m */, + 50592577B484E557DA325AE948843624 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Pods-JazzHandsTests-Expecta"; + path = Expecta; sourceTree = ""; }; - 890E069510A93D42149E13CD /* Pods-JazzHandsDemo */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - B84FFC80140FB9FFF1D61249 /* Pods-JazzHandsDemo-acknowledgements.markdown */, - BE3994FF1E749D82E426F273 /* Pods-JazzHandsDemo-acknowledgements.plist */, - 2706E0E7D9AA89E92BDBF199 /* Pods-JazzHandsDemo-dummy.m */, - 7C2F2F69A591B1C0705BC293 /* Pods-JazzHandsDemo-environment.h */, - 02410148FA9511863A054E12 /* Pods-JazzHandsDemo-resources.sh */, - 1319DDBF13541A4CECAF6F6C /* Pods-JazzHandsDemo.debug.xcconfig */, - 1C6B72A5F6320F9CA082FB18 /* Pods-JazzHandsDemo.release.xcconfig */, + C88113A79685B4EFEE7BAD12896829F7 /* Podfile */, + 0720760E6FAA87218C034E98CCD3509B /* Development Pods */, + 5E1F3384B1B39575144FEBFCF3210CCC /* Frameworks */, + B72A7892EECA4A44771AFFC274D6CFA9 /* Pods */, + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + D871C749CBB672E76A502DD5E90F9842 /* Targets Support Files */, ); - name = "Pods-JazzHandsDemo"; - path = "Target Support Files/Pods-JazzHandsDemo"; sourceTree = ""; }; - 9328CEA3FE3B7A3E3EBAB1E6 /* iOS */ = { + B72A7892EECA4A44771AFFC274D6CFA9 /* Pods */ = { isa = PBXGroup; children = ( - 785DDBC1ECA68425191C8A4D /* CoreGraphics.framework */, - 0C9CC552477FB201D26A2C8B /* Foundation.framework */, - 9FCDBAEBFDD5F2EFE2BFF59D /* QuartzCore.framework */, - 8D891D288817872D5AD9FC40 /* UIKit.framework */, - B41BC4F59C9AFB0F2B2F9709 /* XCTest.framework */, + 69E0949A4E24637AE0C75A1ACB8F3669 /* Expecta */, + ED99826B3185E5E36561F9C13F402F0E /* Masonry */, + 121676E7055B87530EEB8983B917F9B6 /* Specta */, ); - name = iOS; + name = Pods; sourceTree = ""; }; - 9699690F02CCD4943526E2B0 /* JazzHands */ = { + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { isa = PBXGroup; children = ( - 512374F6CDC20E51321F5D7C /* JazzHands */, - 9C71C89C4D98C17E9448F50E /* Support Files */, + 538BA63B8796CDB8A7128F9BF180D6C0 /* libExpecta.a */, + 787E08A5EA62167C40AD079DD184498E /* libJazzHands.a */, + AE9D95FF7D3FAB387818FF008289FA3E /* libMasonry.a */, + 2009023B8D773B413428D7EDB3F88A4E /* libPods-JazzHandsDemo.a */, + 24BAB4F5013D6BFADA4A640480A9D2C7 /* libPods-JazzHandsTests.a */, + F5D6688928836B150DE5F25BD4652ADF /* libSpecta.a */, ); - name = JazzHands; - path = ../..; + name = Products; sourceTree = ""; }; - 9C71C89C4D98C17E9448F50E /* Support Files */ = { + D29526F7A46BE1E52CC03A03EA372EBA /* iOS */ = { isa = PBXGroup; children = ( - 42BA0CDE0F2BAC913D576C66 /* Pods-JazzHandsDemo-JazzHands.xcconfig */, - 13D205C03F477DA8F4A99A14 /* Pods-JazzHandsDemo-JazzHands-Private.xcconfig */, - F4A4D3AE9B257720CC1A3719 /* Pods-JazzHandsDemo-JazzHands-dummy.m */, - 0E723542987580C4FEF93547 /* Pods-JazzHandsDemo-JazzHands-prefix.pch */, - 3F58F3024B5A99ABF02A9148 /* Pods-JazzHandsTests-JazzHands.xcconfig */, - C875903EE48EE7513A5495A1 /* Pods-JazzHandsTests-JazzHands-Private.xcconfig */, - 11BB584B81272FC191A041A0 /* Pods-JazzHandsTests-JazzHands-dummy.m */, - 0EF1204C44D8B49F7905C03A /* Pods-JazzHandsTests-JazzHands-prefix.pch */, + F38BD6B2EA8E3D607D37364462D778DF /* CoreGraphics.framework */, + 9C20ADF85C0B6161A280C0E82DCE69B7 /* Foundation.framework */, + A0FA1B54BD155598E90FFB0738A5DE2B /* QuartzCore.framework */, + FC10E684DD68F44558F62A6931E6390A /* UIKit.framework */, + 31281F6C0B269B0BE12175DDF3F5DA09 /* XCTest.framework */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands"; + name = iOS; sourceTree = ""; }; - CA4282CD1A2D79FF49AD1BCB /* Frameworks */ = { + D871C749CBB672E76A502DD5E90F9842 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 9328CEA3FE3B7A3E3EBAB1E6 /* iOS */, + 446573FE20C68906C9F64253C7AF24FC /* Pods-JazzHandsDemo */, + 144BF115C4736078A910E83B04F491D6 /* Pods-JazzHandsTests */, ); - name = Frameworks; + name = "Targets Support Files"; sourceTree = ""; }; - CEA7C2E49D2774EEA4FBA1D2 /* Expecta */ = { + DD8AE74F14E8E24602764D894FD76CB6 /* Support Files */ = { isa = PBXGroup; children = ( - 09575E439CBF70EA95DB5A39 /* EXPBlockDefinedMatcher.h */, - 4EFD2D093A5CA5ADC681AE8E /* EXPBlockDefinedMatcher.m */, - 056F3A6F464F3F77019C2057 /* EXPDefines.h */, - B5B4B8A49B8B86B75C90676C /* EXPDoubleTuple.h */, - 9D85F65556ED22B74787D161 /* EXPDoubleTuple.m */, - ACE17D3C0CDAE51D6E6672DC /* EXPExpect.h */, - 0CF7BE4C7CD334FDE7799B95 /* EXPExpect.m */, - 1581475D443D0D795DB1AC20 /* EXPFloatTuple.h */, - 838017DD02842D44F5EE765D /* EXPFloatTuple.m */, - 6B89F3FC74388C51C36E8894 /* EXPMatcher.h */, - 710EC4E5C7FE49A60DACAEAB /* EXPMatcherHelpers.h */, - 6186EC8D959CB54D484F6989 /* EXPMatcherHelpers.m */, - 9DE31AA03022BE3B166158A4 /* EXPMatchers.h */, - D9375A8FA1FB91E14D42BFB3 /* EXPMatchers+beCloseTo.h */, - D71CC96F4DD135744424EB3F /* EXPMatchers+beCloseTo.m */, - 56CF580A1548C16138C1A174 /* EXPMatchers+beFalsy.h */, - AFBE40D3D0603C5727D292FE /* EXPMatchers+beFalsy.m */, - 9D5F2D6BA0BCFE437618171D /* EXPMatchers+beGreaterThan.h */, - B41E7A44F69A601BA2E42AC8 /* EXPMatchers+beGreaterThan.m */, - B02B9C1E6538ACC6BBC21CEA /* EXPMatchers+beGreaterThanOrEqualTo.h */, - E148F4C7E1F7B4AE6859D5F3 /* EXPMatchers+beGreaterThanOrEqualTo.m */, - 60A898A457ECC717FF89B1F2 /* EXPMatchers+beIdenticalTo.h */, - 77EAD45720FB5D5E2CA928C3 /* EXPMatchers+beIdenticalTo.m */, - 1E6987844DA1781B5E8F5749 /* EXPMatchers+beInTheRangeOf.h */, - 55AAA9162E2BBEDDAAFC1524 /* EXPMatchers+beInTheRangeOf.m */, - E201135640ABD991AB704B67 /* EXPMatchers+beInstanceOf.h */, - 4D3BC093FBD571E07F702DE6 /* EXPMatchers+beInstanceOf.m */, - B3D1DD8DFA8F080872960CA8 /* EXPMatchers+beKindOf.h */, - BAAC3FB77DFAC352B8E52CD3 /* EXPMatchers+beKindOf.m */, - 9D42A7CED746B6B91A99B360 /* EXPMatchers+beLessThan.h */, - 5B5B8553878CEBEF88C5BB9B /* EXPMatchers+beLessThan.m */, - 07A9B1FF0044C513E33841A9 /* EXPMatchers+beLessThanOrEqualTo.h */, - 74C5B94E1F22A2B62F684DCA /* EXPMatchers+beLessThanOrEqualTo.m */, - 95CD90EE7B68BECE534221AB /* EXPMatchers+beNil.h */, - 4491CD033F8C68F60DC98D2D /* EXPMatchers+beNil.m */, - 934434C0BD2DB769110411CD /* EXPMatchers+beSubclassOf.h */, - 0DD2668D41D1B3BC3C559DE1 /* EXPMatchers+beSubclassOf.m */, - 05E2B8AD4E6A4FB10A3D60DD /* EXPMatchers+beSupersetOf.h */, - 4E5B6302116ECAF896A36A02 /* EXPMatchers+beSupersetOf.m */, - 439F8F70ABD2957C877335D2 /* EXPMatchers+beTruthy.h */, - 6633193AD4BA6AFAF71B370B /* EXPMatchers+beTruthy.m */, - 3B4DF6374CDAF3E0A03C5B2A /* EXPMatchers+beginWith.h */, - 6E599076A43298BB62D0BCAF /* EXPMatchers+beginWith.m */, - 9B1B5419A0190E33FC50F04E /* EXPMatchers+conformTo.h */, - D09A2DD9308A955710899C86 /* EXPMatchers+conformTo.m */, - 759ED3AE9DCE9A46B442A9A2 /* EXPMatchers+contain.h */, - 7339B482CD14D83172838D4A /* EXPMatchers+contain.m */, - 7A621680EDE998BA81FDE667 /* EXPMatchers+endWith.h */, - 2ABB96F59464DE2566C69AFA /* EXPMatchers+endWith.m */, - 5F29880F4B7BB0C295040701 /* EXPMatchers+equal.h */, - 641BC4FE9A9657D810384555 /* EXPMatchers+equal.m */, - BF8E7F1EEE95E55452C23AEB /* EXPMatchers+haveCountOf.h */, - BBEA0F11C67AA49A843453E7 /* EXPMatchers+haveCountOf.m */, - E2E57523EB6AA145577FAEE0 /* EXPMatchers+match.h */, - 2A04DD1C2E7D7F22A7C8B0B9 /* EXPMatchers+match.m */, - 2AA02D9FFB8AF6184582149C /* EXPMatchers+postNotification.h */, - 21035450E227DB901C3F33D7 /* EXPMatchers+postNotification.m */, - 9576A2DE3D9C00ED4B963C10 /* EXPMatchers+raise.h */, - 42240CBAB22777F1797A8EA5 /* EXPMatchers+raise.m */, - DDE0D1A0A631EF774B5B5EA3 /* EXPMatchers+raiseWithReason.h */, - 085BD59CA56065738DF42113 /* EXPMatchers+raiseWithReason.m */, - FBE18933E13686194E220A52 /* EXPMatchers+respondTo.h */, - A26063CB8EC8E43B6A342C1E /* EXPMatchers+respondTo.m */, - 8EDA2EB03F64F6C8B3AD147C /* EXPUnsupportedObject.h */, - A1F47E4C663DEEFEBDE6474C /* EXPUnsupportedObject.m */, - D5F0B5332F43EBB506D452FF /* Expecta.h */, - 2548213E96884E030A76C5D3 /* ExpectaObject.h */, - 907DD1B245F66962FCC38175 /* ExpectaObject.m */, - 1110957F6855AE1BD2FB369F /* ExpectaSupport.h */, - 23043E7DD2D5B53653FA27AE /* ExpectaSupport.m */, - B1212A8114D53161D6FB685D /* NSObject+Expecta.h */, - AE752EA8051EDDBB5FBAC953 /* NSValue+Expecta.h */, - 7CD0CD9FC41731400E239262 /* NSValue+Expecta.m */, - 71FA4741DB4F3EE2ABBB2E81 /* Support Files */, + 8217845E2A5F620A82A4BAA4EEC951AC /* Specta.xcconfig */, + 72132E294331DD59F635FC1878F7D130 /* Specta-Private.xcconfig */, + F84AEE74F32BC419F27BE093F760E7C5 /* Specta-dummy.m */, + DCA176491E5A220CF0E1AA4A9664EBD4 /* Specta-prefix.pch */, ); - path = Expecta; + name = "Support Files"; + path = "../Target Support Files/Specta"; sourceTree = ""; }; - F58C5B0F9F83B524EE2248FA /* Specta */ = { + ED99826B3185E5E36561F9C13F402F0E /* Masonry */ = { isa = PBXGroup; children = ( - A0662A21ACE7C1E14AF1FAA9 /* SPTCallSite.h */, - 84E383F1CCF3088D055550A6 /* SPTCallSite.m */, - A8FD15B85FF51D8CDCC2FD5A /* SPTCompiledExample.h */, - 9C49CA465A2547739740C01D /* SPTCompiledExample.m */, - 411FE79644EFC92FD5999BC2 /* SPTExample.h */, - 6AEA0508E6B6580768E25A11 /* SPTExample.m */, - 4C022B31F1996A4E30BC964B /* SPTExampleGroup.h */, - C835FE7F279FDDC568CAACD6 /* SPTExampleGroup.m */, - 2E57316DD118F52E45207152 /* SPTExcludeGlobalBeforeAfterEach.h */, - A7ACD2D2EBCF6E377FD67E00 /* SPTGlobalBeforeAfterEach.h */, - 6F877527E404A15C4C0BF7F6 /* SPTSharedExampleGroups.h */, - FBB7DE6A6D8019C196B680D6 /* SPTSharedExampleGroups.m */, - C3DD9F07C9B3B9742C11384F /* SPTSpec.h */, - B9A680AEBD78661666B26114 /* SPTSpec.m */, - 5E1050E299910C9551A73727 /* SPTTestSuite.h */, - FF049F59D8CA2671225B373D /* SPTTestSuite.m */, - 75C654997F9E90270462B9C3 /* Specta.h */, - 4DF20F56A9E619A9CD821D55 /* SpectaDSL.h */, - CE734C94E8443D6FADDBB7BD /* SpectaDSL.m */, - D9612CA2B60C3E8A91FC066E /* SpectaTypes.h */, - 069882731E4D551CF7B80EC9 /* SpectaUtility.h */, - 8D3536E34D98AD361993E21C /* SpectaUtility.m */, - 4974C86B8D66A56007169259 /* XCTest+Private.h */, - 29255C0F3CF62A4B1DF8E6A4 /* XCTestCase+Specta.h */, - 7F1D3C86CB28C9691E3D9914 /* XCTestCase+Specta.m */, - 073DE5EAAADA64A2E4078AE7 /* Support Files */, + 29202C5DB7317367CB036B121CB16B61 /* MASCompositeConstraint.h */, + 8D3EF0ABD850EDA264F0BAFB25B312BE /* MASCompositeConstraint.m */, + 21CC79E8059D8DB568D9A094975204B3 /* MASConstraint.h */, + 289497E8FCF89355E58891D37704ADFE /* MASConstraint.m */, + 7D1466913725877B5C26F9199BC08EB8 /* MASConstraint+Private.h */, + 5E500E91FCACA2C1502EDBF20C54BA5D /* MASConstraintMaker.h */, + 1541479B80B87EEB10575C0019A0886C /* MASConstraintMaker.m */, + 1ADEA213D7D8619170AB9C3A80AC7BAB /* MASLayoutConstraint.h */, + 888022AEFC3B3174B552185E61CE5584 /* MASLayoutConstraint.m */, + 897399199FD560D3425F52D51E1B906B /* MASUtilities.h */, + D0CB6C8B7BEF7D7F4654EFCEEA4BE035 /* MASViewAttribute.h */, + 4B88DECB64E8369145939917AFC2F03C /* MASViewAttribute.m */, + A836D92B58014E3BFD8B916EC7FAE440 /* MASViewConstraint.h */, + 778F28937AAD3E90E1DC15850860F449 /* MASViewConstraint.m */, + 9230328A3DFC41F6F4175A7C15476F72 /* Masonry.h */, + 278EE1149D48BC0B32BBAEB2F1AE5808 /* NSArray+MASAdditions.h */, + 2720E6408315E49E8786711EC466E4C2 /* NSArray+MASAdditions.m */, + 6878254997CF10937AE0DB2E6E8C25B0 /* NSArray+MASShorthandAdditions.h */, + B7F76A8F2F270A862F8F388727EA1419 /* NSLayoutConstraint+MASDebugAdditions.h */, + 93E3DBD91129F3B9C3942FF803ED5FAB /* NSLayoutConstraint+MASDebugAdditions.m */, + 257ED81C3B6E3C3F79ED10F8A7D2F253 /* View+MASAdditions.h */, + 2A58A298CF4AD83AA2773054430AB2E8 /* View+MASAdditions.m */, + F2010A4D8DD54450B7DC01949F9C8035 /* View+MASShorthandAdditions.h */, + 4D5F1C5266E23BFD9C475AE722FFC6E8 /* Support Files */, ); - path = Specta; + path = Masonry; sourceTree = ""; }; - FE90CB2C3F72067D3364D64B /* Products */ = { + F939568682B2AB9EFD9EC2957D80A86D /* JazzHands */ = { isa = PBXGroup; children = ( - 8011556FDF9F30507CCDDB97 /* libPods-JazzHandsDemo.a */, - F176914B861567AB8DB7145C /* libPods-JazzHandsDemo-JazzHands.a */, - 992D08D1D41A4CF21734DAE3 /* libPods-JazzHandsTests.a */, - C4D9476B57070C1EA13B45CB /* libPods-JazzHandsTests-Expecta.a */, - FCF99CF5BE8060D20C0A3EE7 /* libPods-JazzHandsTests-JazzHands.a */, - 4DD4285C28553964278F5CCC /* libPods-JazzHandsTests-Specta.a */, + 067EB64301F0A54597901FF5B28879C2 /* JazzHands */, + 1ABCA98B5044B5E47AA95E30CD621017 /* Support Files */, ); - name = Products; + name = JazzHands; + path = ../..; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 19575613CB006830739CD0C9 /* Headers */ = { + 34EFED0CC32B311AED30015D0F8F45E8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 392A54F40B3EC68311942B1A /* IFTTTAlphaAnimation.h in Headers */, - D29FAA17389476FF7953A5CB /* IFTTTAnimatable.h in Headers */, - 1438674FE8E05E421B774F4B /* IFTTTAnimatedPagingScrollViewController.h in Headers */, - D008F1E054C3E8448A2E2A30 /* IFTTTAnimatedScrollViewController.h in Headers */, - B22D1CFEB4042132C21B5F0F /* IFTTTAnimation.h in Headers */, - 139D1C1CB14AA8BC86AA26F6 /* IFTTTAnimator.h in Headers */, - 5246C2ABD428044190235A69 /* IFTTTColorAnimation.h in Headers */, - B8BEC9051FC8BB3316C517FB /* IFTTTConstraintConstantAnimation.h in Headers */, - 7BF42DA08DD571A7DA07BD95 /* IFTTTConstraintMultiplierAnimation.h in Headers */, - BE665A569FC18E64E4EE9EA0 /* IFTTTCornerRadiusAnimation.h in Headers */, - 306CFAB93A5A15EA82A26A57 /* IFTTTEasingFunction.h in Headers */, - 7582CA2E13BF419313F585F8 /* IFTTTFillColorAnimation.h in Headers */, - C5C3E5A7B22A4359A1ACAAA5 /* IFTTTFilmstrip.h in Headers */, - E8C3AB54B69A4D4994351181 /* IFTTTFrameAnimation.h in Headers */, - 44F50BCBB5E732AE3E0B7BD1 /* IFTTTHideAnimation.h in Headers */, - FA60D1A1497EA865C83E8015 /* IFTTTInterpolatable.h in Headers */, - 2A5D50B959D7BA13596DA6D6 /* IFTTTJazzHands.h in Headers */, - 6ED2BE0EDC023FF4A2B7FF79 /* IFTTTLabelAnimation.h in Headers */, - 63C066B14D0ACD7F7FAEB625 /* IFTTTRotationAnimation.h in Headers */, - 159B0775A1BF98C5D503946A /* IFTTTScaleAnimation.h in Headers */, - 315A780D1CB573F839388CA9 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */, - EA22ECA321C8B6EDF9894B9E /* IFTTTShapeLayerAnimation.h in Headers */, - 9681993C6747C1DF4273B541 /* IFTTTStrokeEndAnimation.h in Headers */, - 800F0FCDC016E97DC972072D /* IFTTTStrokeStartAnimation.h in Headers */, - 33DB088C0CEBF66F56D84925 /* IFTTTTextColorAnimation.h in Headers */, - DA886C15FA3AE10E9FC96148 /* IFTTTTransform3DAnimation.h in Headers */, - 10A0A7E270EE3C5D2A6BD15E /* IFTTTTranslationAnimation.h in Headers */, - 195BAA47E890209EEBB8BDE4 /* IFTTTViewAnimation.h in Headers */, - CC3C9FE15DBC036ABA00AA11 /* UIView+IFTTTJazzHands.h in Headers */, + 53A7EE524B700616E8544EF243A738EC /* MASCompositeConstraint.h in Headers */, + 03E8C4C585DFF14910051FF69688EA26 /* MASConstraint+Private.h in Headers */, + 8DB9DF7740F1CC4E59581DB04D01B028 /* MASConstraint.h in Headers */, + 676D50184B8C7965D0BEAAE0803F6D65 /* MASConstraintMaker.h in Headers */, + 6B1CC60A5B27B27E49035841812195E2 /* MASLayoutConstraint.h in Headers */, + FCE1C23E97083D6D21A84E5968EDAF96 /* MASUtilities.h in Headers */, + 917CE84066480C13029563D344EB9BCD /* MASViewAttribute.h in Headers */, + 9580BCD856AE6B65B5400EDE4E066397 /* MASViewConstraint.h in Headers */, + 45C415E1A681C0A9BE8D45362D0551D5 /* Masonry.h in Headers */, + F34DD1990298EA3F0C9B0C3DD515269F /* NSArray+MASAdditions.h in Headers */, + EDA7EEDF476F5C02D9D42211D945B81B /* NSArray+MASShorthandAdditions.h in Headers */, + A614FD3DABA5D9E390D16F7E22ABEB1F /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, + AAB337063E6F1357F19B4521490B7AD2 /* View+MASAdditions.h in Headers */, + 434787BFB364FCC363E268BCEA25B412 /* View+MASShorthandAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4377B708220D3F690A685E3B /* Headers */ = { + 725B0C1640264B7CA9CEB0AD7973B1C8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E0F0D04930ACE01D2C50E863 /* IFTTTAlphaAnimation.h in Headers */, - AA88B3E196B989A04999889D /* IFTTTAnimatable.h in Headers */, - B145AC676E8E4DCCE928A4C7 /* IFTTTAnimatedPagingScrollViewController.h in Headers */, - E8D0FFA7468AA2AC7E5150F4 /* IFTTTAnimatedScrollViewController.h in Headers */, - 48537965DB768D84C23CB45A /* IFTTTAnimation.h in Headers */, - DE3F780DC71B0CD3470FF3AB /* IFTTTAnimator.h in Headers */, - B129A79A7F5995227A6030C3 /* IFTTTColorAnimation.h in Headers */, - 85C92E43CD73CFA456D3200E /* IFTTTConstraintConstantAnimation.h in Headers */, - 7D25C3357C030C687FE08EC8 /* IFTTTConstraintMultiplierAnimation.h in Headers */, - A14D62D6FC10147822B42392 /* IFTTTCornerRadiusAnimation.h in Headers */, - D7C4C1CEEF874E4AA6EF0ED9 /* IFTTTEasingFunction.h in Headers */, - 21EBA63E9D88A8E6A754E6EB /* IFTTTFillColorAnimation.h in Headers */, - A68F084F61752B741CB2D167 /* IFTTTFilmstrip.h in Headers */, - 8752804DECC81C49D4EBD4E2 /* IFTTTFrameAnimation.h in Headers */, - 2A028F81753787B6A419D5F3 /* IFTTTHideAnimation.h in Headers */, - 9934961F07249278011FD22E /* IFTTTInterpolatable.h in Headers */, - 27D31754A20F4CD00089387B /* IFTTTJazzHands.h in Headers */, - 6701530040B139446AFE8AC5 /* IFTTTLabelAnimation.h in Headers */, - BC7CF6F1BCBB044A31B3AAC6 /* IFTTTRotationAnimation.h in Headers */, - FAB0655B7F7656DE97F1A00D /* IFTTTScaleAnimation.h in Headers */, - 2C99B0DDFBC1069FEDBC1007 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */, - 5FEA35F336C5ED994DEF0154 /* IFTTTShapeLayerAnimation.h in Headers */, - E69C98D05BBA0954FAEAD865 /* IFTTTStrokeEndAnimation.h in Headers */, - 325FA289B5E6F3496BF3A758 /* IFTTTStrokeStartAnimation.h in Headers */, - 65C6225AC843B7D2F7C1FB03 /* IFTTTTextColorAnimation.h in Headers */, - 04D5A51BC5418EE88719B937 /* IFTTTTransform3DAnimation.h in Headers */, - 9903969F3BAD6AD3F7829D17 /* IFTTTTranslationAnimation.h in Headers */, - EC13F9FB6BB92638AB252516 /* IFTTTViewAnimation.h in Headers */, - 41F55D96D3FF084C0AAF3B6A /* UIView+IFTTTJazzHands.h in Headers */, + 0A8B9BFE296F3AAD1F123C546E72BF49 /* IFTTTAlphaAnimation.h in Headers */, + BCE92825DA021C7FF7A64E91619243E6 /* IFTTTAnimatable.h in Headers */, + DC7CEB45879B7893E6A6B88BB3C1913B /* IFTTTAnimatedPagingScrollViewController.h in Headers */, + 379629D005838E241909BD3E8F5108DD /* IFTTTAnimatedScrollViewController.h in Headers */, + B1D6F2A1A733E1855D6EB6ABE0A36C3D /* IFTTTAnimation.h in Headers */, + 39484DA1A54C6A69125842E45AAA251E /* IFTTTAnimator.h in Headers */, + 6B398CBF5682DA9EE8BA281B32688C7E /* IFTTTBackgroundColorAnimation.h in Headers */, + 401951A4ADC7E85843AA4400FBCF0A6D /* IFTTTConstraintConstantAnimation.h in Headers */, + 2D9E0A060F0232DD15B5306C467AB687 /* IFTTTConstraintMultiplierAnimation.h in Headers */, + 2497E2237EF28BE466C66DB8B4EF6B4D /* IFTTTCornerRadiusAnimation.h in Headers */, + 12DB2E9313DE789948E572E43FBC903A /* IFTTTEasingFunction.h in Headers */, + BAC7CA6F276787D0FE07677725E0B175 /* IFTTTFilmstrip.h in Headers */, + 09D30087E025E9D2B30424981C48F3E7 /* IFTTTFrameAnimation.h in Headers */, + 82B8C06EA17CF6E1CA39446727B09550 /* IFTTTHideAnimation.h in Headers */, + 5D12F87FAC75704AB0E555E565444B9D /* IFTTTInterpolatable.h in Headers */, + 4ECA5480F8AEC4A553872713535477C9 /* IFTTTJazzHands.h in Headers */, + 38535B663FD658A94CC1D7F13DFB3BB7 /* IFTTTLayerFillColorAnimation.h in Headers */, + D8406E41FCFBF37645C9E09DCDEBBD34 /* IFTTTLayerStrokeEndAnimation.h in Headers */, + E10E3FA330EA8C9F65CE65FA206984C4 /* IFTTTLayerStrokeStartAnimation.h in Headers */, + B9A617BF47D0C53A9ACA778272006A72 /* IFTTTPathPositionAnimation.h in Headers */, + EAFFACD65608496AD46AD54E45895E2A /* IFTTTRotationAnimation.h in Headers */, + C6A05AA008F05E6C8EC79C9AE6CF4A14 /* IFTTTScaleAnimation.h in Headers */, + 9E603E6D77612C0A4AC9344F62C9B291 /* IFTTTScrollViewPageConstraintAnimation.h in Headers */, + C2A368B25651C164F9B370A3A5EBE6A6 /* IFTTTShapeLayerAnimation.h in Headers */, + 07E73802CDFB92FB5AD22DC121B61CFA /* IFTTTTextColorAnimation.h in Headers */, + E908D809235185DEC1A28C9420160DD7 /* IFTTTTransform3DAnimation.h in Headers */, + 2ABDD7E8D8DE4726D84E1F2A979A8C46 /* IFTTTTranslationAnimation.h in Headers */, + 1AFA762020164C08EC80F3D277A8A75C /* IFTTTViewAnimation.h in Headers */, + A6CC5268BB571DE286AF17A37DBA116E /* UIView+IFTTTJazzHands.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 60BB0FA8578B793325F905B8 /* Headers */ = { + DFD6FD3BF659AAE344BDDA88A9B2D5FE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2B0D16AECD7050C99BEEDFB9 /* SPTCallSite.h in Headers */, - 3DB800444D4EDBD1EA8830D3 /* SPTCompiledExample.h in Headers */, - 0F30A89BCF0F033C5B8F174A /* SPTExample.h in Headers */, - 12D7C3815AE235C1097FA56F /* SPTExampleGroup.h in Headers */, - 7DC06BA9846C33EC42D206A8 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, - 7C9A824B6C0052C1D3C070B5 /* SPTGlobalBeforeAfterEach.h in Headers */, - 31D9BD8037C4BD78BD906EEA /* SPTSharedExampleGroups.h in Headers */, - 500F5B8E5FC47672818DA917 /* SPTSpec.h in Headers */, - C01BB1C0955E09579B198635 /* SPTTestSuite.h in Headers */, - 4ED62314C18CDA44E2240370 /* Specta.h in Headers */, - 3A4C0AF097B4F050268CD0B9 /* SpectaDSL.h in Headers */, - E68F9252FD569CD9E9C7E220 /* SpectaTypes.h in Headers */, - 3BFB22AD97DAD0D502244D8E /* SpectaUtility.h in Headers */, - B98167CCBB32AF8D3AD11653 /* XCTest+Private.h in Headers */, - F9DC198B0C3FA529698E9751 /* XCTestCase+Specta.h in Headers */, + FA41A706D66695B3046890950C59DAED /* EXPBlockDefinedMatcher.h in Headers */, + C9605BE94C1A7BCB23D74F98F2D9BBAD /* EXPDefines.h in Headers */, + 4E94DCF82729DF8D98E99F29AAB00BE3 /* EXPDoubleTuple.h in Headers */, + F86DF2C8598F0D2DB88B13CB79976510 /* EXPExpect.h in Headers */, + 830A90FAE3F5FAD90B8C18328C690330 /* EXPFloatTuple.h in Headers */, + 6FC43C06143557C0FB370163A6750BB2 /* EXPMatcher.h in Headers */, + E46FF895D710A0D4A67B67202E8E4161 /* EXPMatcherHelpers.h in Headers */, + 7AFAAD5A2F13102416AC967D2F8C34B8 /* EXPMatchers+beCloseTo.h in Headers */, + 680598D408A6EA9E9A2B3FB3ACB37F34 /* EXPMatchers+beFalsy.h in Headers */, + AE2FA414BDA81F80F8542336600E1594 /* EXPMatchers+beGreaterThan.h in Headers */, + 0A44D9E1074AE7CF77FB7490B61EADDF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, + 2D54A731A05392D7DFCD53186BCA7165 /* EXPMatchers+beIdenticalTo.h in Headers */, + 1F75EB3F2E6B39BE5F33D0EF226D07F3 /* EXPMatchers+beInTheRangeOf.h in Headers */, + DFB82EDD0A5BD4553FCD1079214F04C8 /* EXPMatchers+beInstanceOf.h in Headers */, + 7ECF6594D5BF0C76F17CF7C95CD2AE85 /* EXPMatchers+beKindOf.h in Headers */, + 6AFEA3903CB940FCB4594D7B6786FB7E /* EXPMatchers+beLessThan.h in Headers */, + EA65F2CFE3630A679DC208EBE613E36F /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, + D792A7A0110C9BC5246C3567EC82D85F /* EXPMatchers+beNil.h in Headers */, + DCCA98B50C94D671EAB2A8401D5EC3A1 /* EXPMatchers+beSubclassOf.h in Headers */, + A5D2500BBD59C1450FFB0B4DCF250C0C /* EXPMatchers+beSupersetOf.h in Headers */, + 05FFF31A3F9556A0BF7BC285E1D6AE2A /* EXPMatchers+beTruthy.h in Headers */, + 7DC814404012C0FCFE7149D561A4E348 /* EXPMatchers+beginWith.h in Headers */, + 2182F9FF2C3AF4F435CA277F60BB7EA8 /* EXPMatchers+conformTo.h in Headers */, + FEBE1DCB84A5C2A0513EDA063F3AA509 /* EXPMatchers+contain.h in Headers */, + A91527692D3D275D7854785932EB68F9 /* EXPMatchers+endWith.h in Headers */, + C2C2573F8DB5E79CAA6C8C33B20F584C /* EXPMatchers+equal.h in Headers */, + 8F93691EDF6CD03ACE2FE7E7512BC1D1 /* EXPMatchers+haveCountOf.h in Headers */, + 1FBBB9EE3B11819E86C96E4EB1E6AE72 /* EXPMatchers+match.h in Headers */, + F2B295BEF8E9B4936C5217E87744B3B2 /* EXPMatchers+postNotification.h in Headers */, + 79A1B575017A7E1BBFF2274D91678732 /* EXPMatchers+raise.h in Headers */, + D1DA2BAE9D331458BF88CD0AC3056F98 /* EXPMatchers+raiseWithReason.h in Headers */, + DBDCF7DB500A79CA8D2CDA010B3D382C /* EXPMatchers+respondTo.h in Headers */, + C9DB2AD40125B0942ED0BB339D73C683 /* EXPMatchers.h in Headers */, + 2141CD11607D8776D7D865BFD72DE214 /* EXPUnsupportedObject.h in Headers */, + B5C708A28DA3AF23242269491AB9250A /* Expecta.h in Headers */, + D6B56C1921C36054CAB1D6EC17162B97 /* ExpectaObject.h in Headers */, + 9AA53BDEAC954D0C54E18E7521232675 /* ExpectaSupport.h in Headers */, + E2CC45755E71F6A5E7A3FE6BF13FCB52 /* NSObject+Expecta.h in Headers */, + D3BB4755818D01C5BBCF360FF7533F7E /* NSValue+Expecta.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C98CBCF23D594E3D084C5EAC /* Headers */ = { + F0A5F1EE094EFEBD1BF6BD82F2EDDDC6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F1BD842001CB60DEDAC8C3DC /* EXPBlockDefinedMatcher.h in Headers */, - B739A048A7B7CC3870F8A6C6 /* EXPDefines.h in Headers */, - B2F5135481E23EB9065CE3E2 /* EXPDoubleTuple.h in Headers */, - 88B71C71561A754744BD3CE4 /* EXPExpect.h in Headers */, - 334243D85377389D1C65EC71 /* EXPFloatTuple.h in Headers */, - F33CE5D170C6F709FA2EE893 /* EXPMatcher.h in Headers */, - BA5FB6F3B1D25420598F80C6 /* EXPMatcherHelpers.h in Headers */, - 16B841CBC555D8C5B6DF8E16 /* EXPMatchers+beCloseTo.h in Headers */, - 9E56EB3754464BCC728D0591 /* EXPMatchers+beFalsy.h in Headers */, - C18A439E943BC1CA86128BC9 /* EXPMatchers+beGreaterThan.h in Headers */, - 35ABF55FD5CDDF2208EE5CE7 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, - 4A380256D66880F4C68D6627 /* EXPMatchers+beIdenticalTo.h in Headers */, - 95BECE5D4C3719B629DD7B1E /* EXPMatchers+beInTheRangeOf.h in Headers */, - A5F99C360088CA1A58D5D84A /* EXPMatchers+beInstanceOf.h in Headers */, - 7BE758224697E24A2AEC9954 /* EXPMatchers+beKindOf.h in Headers */, - 8002D933224DDEC6BB0C2C8B /* EXPMatchers+beLessThan.h in Headers */, - E7FDCBFDDF5EC8199762BEE4 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, - F48379B8DCC44E745A2CC8EA /* EXPMatchers+beNil.h in Headers */, - 9A4F82CCA7E3A410AB9CEC04 /* EXPMatchers+beSubclassOf.h in Headers */, - 8BE9183CC214E3EBD3C519C6 /* EXPMatchers+beSupersetOf.h in Headers */, - AE089596AB771096ED52EE4B /* EXPMatchers+beTruthy.h in Headers */, - EA24BA4B0D40671F373D7166 /* EXPMatchers+beginWith.h in Headers */, - 1CBED30EFD0EE9F3E9852211 /* EXPMatchers+conformTo.h in Headers */, - 3D1BAF646FC923D0B587F44C /* EXPMatchers+contain.h in Headers */, - FBDDB5CDB340020AE8257F14 /* EXPMatchers+endWith.h in Headers */, - 2A0FE7308221339BC8906D75 /* EXPMatchers+equal.h in Headers */, - E99DB0D50CC6C8C6CE497A4F /* EXPMatchers+haveCountOf.h in Headers */, - EBE307F7B457F31A5AA00835 /* EXPMatchers+match.h in Headers */, - 5C2931306FE64CD2DDBFF0E8 /* EXPMatchers+postNotification.h in Headers */, - F2BBA54DD096B5E7F710BC65 /* EXPMatchers+raise.h in Headers */, - 8A5AAD775DF0432ADF0F0D7A /* EXPMatchers+raiseWithReason.h in Headers */, - B32D3067815526DAEB5FB51C /* EXPMatchers+respondTo.h in Headers */, - FB4A5602F6D6801996C53D4C /* EXPMatchers.h in Headers */, - 4C2617AB94CB2DD4FEC72DF6 /* EXPUnsupportedObject.h in Headers */, - 222FC3D192E6844C6A7DF36F /* Expecta.h in Headers */, - F648D8B86DDA6C4D6974725A /* ExpectaObject.h in Headers */, - AB905F401AFD285D932B25DE /* ExpectaSupport.h in Headers */, - 2DB6759B8496A3E92AF9171A /* NSObject+Expecta.h in Headers */, - 3F9F8794A8EC55FE0B28C036 /* NSValue+Expecta.h in Headers */, + 1D97E2B87F63B5B7B4E05864B3059381 /* SPTCallSite.h in Headers */, + 60BECF2EFBF82018C393C1D8C02E14F9 /* SPTCompiledExample.h in Headers */, + 0F24054D5BFB25E16986FAA029C73096 /* SPTExample.h in Headers */, + 34449703F4296058417ED73754E48276 /* SPTExampleGroup.h in Headers */, + EF4E8068C72B64F49D1CF4772F051FFF /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, + 6948E9263A05C5EFA82A649CFE1F75D9 /* SPTGlobalBeforeAfterEach.h in Headers */, + 1224EAD9801E8C4E1D34AE68CE6C780D /* SPTSharedExampleGroups.h in Headers */, + 1D49BB22B51E71ADC923063D51E6CAAB /* SPTSpec.h in Headers */, + B285C9F6A9B81325D0AA0E92C3482BA9 /* SPTTestSuite.h in Headers */, + F43F45130EA91679F312A2D2E7B6FC12 /* Specta.h in Headers */, + 8A85D3182C247F545A468CF70F81BD7B /* SpectaDSL.h in Headers */, + 7F94F6995F98F3E3E279702809DE05A1 /* SpectaTypes.h in Headers */, + D529A06A580AF31375B039AF35424B90 /* SpectaUtility.h in Headers */, + A7CD86BF0AABA24B599D748D824F7A7D /* XCTest+Private.h in Headers */, + 09EDDD7FDDBE545F1651EB87B90EE7BE /* XCTestCase+Specta.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 09B4787EC8EAF16E54E4730C /* Pods-JazzHandsTests */ = { + 0B1D9575F656C98B99B019874E9BE874 /* Pods-JazzHandsDemo */ = { isa = PBXNativeTarget; - buildConfigurationList = 6618CF4272A74F84538E7390 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests" */; + buildConfigurationList = 27A356AABFAC6F8454D93DC675C56B44 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo" */; buildPhases = ( - 99B4E4213F588C54B39A6EC5 /* Sources */, - 0385495BBD0FE022AF123047 /* Frameworks */, + A136A2C24FD2E312B16295FA9E8E5F81 /* Sources */, + 8A24AF3B78D5D7A10B7EB02783E6A7EC /* Frameworks */, ); buildRules = ( ); dependencies = ( - 643B5A1C84EEDD73C1E8320F /* PBXTargetDependency */, - EF7B2845BF38E1FCAF99F291 /* PBXTargetDependency */, - C6317C0280A1A2F5C0F6B11B /* PBXTargetDependency */, + 710FE455CC00F7A31639DDF4D8071CC6 /* PBXTargetDependency */, + 6AA9201AE977C821D1A537E4F60D29BA /* PBXTargetDependency */, ); - name = "Pods-JazzHandsTests"; - productName = "Pods-JazzHandsTests"; - productReference = 992D08D1D41A4CF21734DAE3 /* libPods-JazzHandsTests.a */; + name = "Pods-JazzHandsDemo"; + productName = "Pods-JazzHandsDemo"; + productReference = 2009023B8D773B413428D7EDB3F88A4E /* libPods-JazzHandsDemo.a */; productType = "com.apple.product-type.library.static"; }; - 1BAEE0F54A94BCCE9852BE79 /* Pods-JazzHandsTests-Specta */ = { + 1081246B2B8BF16266BA13C525E4A3EA /* Expecta */ = { isa = PBXNativeTarget; - buildConfigurationList = 9270C3A61FABFB7EB40ED0C6 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-Specta" */; + buildConfigurationList = 29BD7D5C0D60E75D70AEB3B3F7322D7A /* Build configuration list for PBXNativeTarget "Expecta" */; buildPhases = ( - C7757CCEFDADAFDA098C797C /* Sources */, - 2BAE57C503748206CFBF6369 /* Frameworks */, - 60BB0FA8578B793325F905B8 /* Headers */, + 15D660C55999EC8C5160A101938ADE03 /* Sources */, + D9D3B3DADDFDC1D199759B6D935EDD88 /* Frameworks */, + DFD6FD3BF659AAE344BDDA88A9B2D5FE /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "Pods-JazzHandsTests-Specta"; - productName = "Pods-JazzHandsTests-Specta"; - productReference = 4DD4285C28553964278F5CCC /* libPods-JazzHandsTests-Specta.a */; + name = Expecta; + productName = Expecta; + productReference = 538BA63B8796CDB8A7128F9BF180D6C0 /* libExpecta.a */; productType = "com.apple.product-type.library.static"; }; - 46C63F80AE25A44731A70808 /* Pods-JazzHandsDemo-JazzHands */ = { + 384A9E45F2109FCBAFE63ED5C4C1DCCF /* Masonry */ = { isa = PBXNativeTarget; - buildConfigurationList = B3C1FFFD497C3F883DD52720 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo-JazzHands" */; + buildConfigurationList = 9720BDCBC9E2608F59F9FF6D38D0D7FD /* Build configuration list for PBXNativeTarget "Masonry" */; buildPhases = ( - ACFD376D1506C2F358D5A1FF /* Sources */, - 114C539DA7F000F313C7B84B /* Frameworks */, - 19575613CB006830739CD0C9 /* Headers */, + 5A7600D3BE3DE0C7FD9C31185D9F7624 /* Sources */, + A69CB06F0077C8B1F578DB7E3F577653 /* Frameworks */, + 34EFED0CC32B311AED30015D0F8F45E8 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "Pods-JazzHandsDemo-JazzHands"; - productName = "Pods-JazzHandsDemo-JazzHands"; - productReference = F176914B861567AB8DB7145C /* libPods-JazzHandsDemo-JazzHands.a */; + name = Masonry; + productName = Masonry; + productReference = AE9D95FF7D3FAB387818FF008289FA3E /* libMasonry.a */; productType = "com.apple.product-type.library.static"; }; - 74B20E3948A2667763EE2DE8 /* Pods-JazzHandsDemo */ = { + 6461F429FC34A261D9C5BC80A8A0168F /* Specta */ = { isa = PBXNativeTarget; - buildConfigurationList = 5D7D9139F1D38E851DD8447E /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo" */; + buildConfigurationList = 7C738256F7193E1F82094B85A17EC88D /* Build configuration list for PBXNativeTarget "Specta" */; buildPhases = ( - 2BBD4FC304A154BA70AC9E90 /* Sources */, - B9A7A1F8B88584088284E23F /* Frameworks */, + 30A5D03DEA0F2FB0E6339CF9E32BEB0A /* Sources */, + 6911CF59E03BE9CF1CFCDE50716F425F /* Frameworks */, + F0A5F1EE094EFEBD1BF6BD82F2EDDDC6 /* Headers */, ); buildRules = ( ); dependencies = ( - C8C103762E688957C3398E8D /* PBXTargetDependency */, ); - name = "Pods-JazzHandsDemo"; - productName = "Pods-JazzHandsDemo"; - productReference = 8011556FDF9F30507CCDDB97 /* libPods-JazzHandsDemo.a */; + name = Specta; + productName = Specta; + productReference = F5D6688928836B150DE5F25BD4652ADF /* libSpecta.a */; productType = "com.apple.product-type.library.static"; }; - 8A6229949625CDF4302055FF /* Pods-JazzHandsTests-Expecta */ = { + D35B605F0609926D3373B1E60847BEA9 /* Pods-JazzHandsTests */ = { isa = PBXNativeTarget; - buildConfigurationList = DB992089F0CA60E24DE0888D /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-Expecta" */; + buildConfigurationList = 7996470AADAE3AD19EB5CB48FAA02B77 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests" */; buildPhases = ( - 3FFFF1A2D3E85489AC91F67B /* Sources */, - C4FE4B073AB9523746B384A0 /* Frameworks */, - C98CBCF23D594E3D084C5EAC /* Headers */, + 2BFE7E080254003A9628FAD3C46FC008 /* Sources */, + 7480D7B2BED33A6AFA145F888D84AEC0 /* Frameworks */, ); buildRules = ( ); dependencies = ( + 2227C35C62B59D3D80043B21683B448F /* PBXTargetDependency */, + 28331CBF012A5DFC4D3E711848A7AFC1 /* PBXTargetDependency */, + 74C6B3EA76F7FE8A47329F4A5D89FDBB /* PBXTargetDependency */, + 11E91F0B5766E492EC7A7A997A940D69 /* PBXTargetDependency */, ); - name = "Pods-JazzHandsTests-Expecta"; - productName = "Pods-JazzHandsTests-Expecta"; - productReference = C4D9476B57070C1EA13B45CB /* libPods-JazzHandsTests-Expecta.a */; + name = "Pods-JazzHandsTests"; + productName = "Pods-JazzHandsTests"; + productReference = 24BAB4F5013D6BFADA4A640480A9D2C7 /* libPods-JazzHandsTests.a */; productType = "com.apple.product-type.library.static"; }; - E76FB6F4D30B4EC07AEEA8A3 /* Pods-JazzHandsTests-JazzHands */ = { + DE8D6055D1EB4125419E68F583AEDFEF /* JazzHands */ = { isa = PBXNativeTarget; - buildConfigurationList = 2D25D4C3B00B0A2C93AA2DDF /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-JazzHands" */; + buildConfigurationList = 8A629825683195731F6F868BF6F1AEF4 /* Build configuration list for PBXNativeTarget "JazzHands" */; buildPhases = ( - 73EDA6E113E51E7BE8511E96 /* Sources */, - 0633515D73E73B83E246A829 /* Frameworks */, - 4377B708220D3F690A685E3B /* Headers */, + 1CCC4B21173060BE5DCFBFA1ED80D68D /* Sources */, + B8DE970F49B8CD3172CF696898746077 /* Frameworks */, + 725B0C1640264B7CA9CEB0AD7973B1C8 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "Pods-JazzHandsTests-JazzHands"; - productName = "Pods-JazzHandsTests-JazzHands"; - productReference = FCF99CF5BE8060D20C0A3EE7 /* libPods-JazzHandsTests-JazzHands.a */; + name = JazzHands; + productName = JazzHands; + productReference = 787E08A5EA62167C40AD079DD184498E /* libJazzHands.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - C16C44AFAEEB86A701910759 /* Project object */ = { + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0640; + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 0700; }; - buildConfigurationList = 0877D39069543586EA853855 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 45FC01CCAC4CCC3E41449454; - productRefGroup = FE90CB2C3F72067D3364D64B /* Products */; + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 74B20E3948A2667763EE2DE8 /* Pods-JazzHandsDemo */, - 46C63F80AE25A44731A70808 /* Pods-JazzHandsDemo-JazzHands */, - 09B4787EC8EAF16E54E4730C /* Pods-JazzHandsTests */, - 8A6229949625CDF4302055FF /* Pods-JazzHandsTests-Expecta */, - E76FB6F4D30B4EC07AEEA8A3 /* Pods-JazzHandsTests-JazzHands */, - 1BAEE0F54A94BCCE9852BE79 /* Pods-JazzHandsTests-Specta */, + 1081246B2B8BF16266BA13C525E4A3EA /* Expecta */, + DE8D6055D1EB4125419E68F583AEDFEF /* JazzHands */, + 384A9E45F2109FCBAFE63ED5C4C1DCCF /* Masonry */, + 0B1D9575F656C98B99B019874E9BE874 /* Pods-JazzHandsDemo */, + D35B605F0609926D3373B1E60847BEA9 /* Pods-JazzHandsTests */, + 6461F429FC34A261D9C5BC80A8A0168F /* Specta */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 2BBD4FC304A154BA70AC9E90 /* Sources */ = { + 15D660C55999EC8C5160A101938ADE03 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F0BF4C10ED060C61ED83A892 /* Pods-JazzHandsDemo-dummy.m in Sources */, + 34BEA412544B2E7A253D1E9C280CB6FB /* EXPBlockDefinedMatcher.m in Sources */, + F3980A48F937DFC465EC24208CB451A0 /* EXPDoubleTuple.m in Sources */, + A34E266BA17E968631E04BA1A9C5C00E /* EXPExpect.m in Sources */, + 1FB7DFE18F96E82963607D0CF4211231 /* EXPFloatTuple.m in Sources */, + 5F087DB00D7630C742067225FCB8EF29 /* EXPMatcherHelpers.m in Sources */, + 1AEA98BA96CDF91F077DE12D25BEAE87 /* EXPMatchers+beCloseTo.m in Sources */, + 0B92BD81FA310EA845D92D0F82BEDFA9 /* EXPMatchers+beFalsy.m in Sources */, + F2C694D094E0FD51A48DF16EE5B8CE76 /* EXPMatchers+beGreaterThan.m in Sources */, + F07FB7ECE5DA7E2CD062A73075BEC7DE /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, + 680FEC5DC208D895ADC5C95C8B385D2D /* EXPMatchers+beIdenticalTo.m in Sources */, + 9671B3EB95DBB4B9CA3B0A25C5CC26EC /* EXPMatchers+beInTheRangeOf.m in Sources */, + 72B3F54BDD3F1614BA49D525AA41C362 /* EXPMatchers+beInstanceOf.m in Sources */, + D41B91325FDF52E59DE190950EC82525 /* EXPMatchers+beKindOf.m in Sources */, + B1D749010EB65DE5CB2E580B13A382E7 /* EXPMatchers+beLessThan.m in Sources */, + A2176516243047B7A669DBB40E52F59E /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, + 3292C3B3655620C7C055DE3700A1A528 /* EXPMatchers+beNil.m in Sources */, + 6389307EECEDF33B7C6029A7D7341936 /* EXPMatchers+beSubclassOf.m in Sources */, + 12157483148A10CACB66F1F3C1020587 /* EXPMatchers+beSupersetOf.m in Sources */, + 0AB56088B7A7A3D45B66C6BDB697E88B /* EXPMatchers+beTruthy.m in Sources */, + 5C8CCF83DBE969E0B96079BFBC513D7F /* EXPMatchers+beginWith.m in Sources */, + 06442CB8F33BD30FA8E3CF5DEC87C384 /* EXPMatchers+conformTo.m in Sources */, + 2F29CA4EE41A564883D509C4D57CAD10 /* EXPMatchers+contain.m in Sources */, + 89AEB64D3C4DF14A28F4C490D68D7FB3 /* EXPMatchers+endWith.m in Sources */, + 23D9116304AAE2A7E03EFA7ADB354DEF /* EXPMatchers+equal.m in Sources */, + 8D49D5D2BEC72D9C3646ADAD5848A5B4 /* EXPMatchers+haveCountOf.m in Sources */, + 492694830D43879AF1068DA41DE113AD /* EXPMatchers+match.m in Sources */, + 73C93E3CC16E33BB3B291E71F291D772 /* EXPMatchers+postNotification.m in Sources */, + 45BFBD32B2F1A809E14A4B91FD73B121 /* EXPMatchers+raise.m in Sources */, + EDA0E4FE81E9C094D994258EA6143C94 /* EXPMatchers+raiseWithReason.m in Sources */, + B42F27B0A4AFB864F2A1015AA9AD9204 /* EXPMatchers+respondTo.m in Sources */, + 29B8C35B4E5C189EF20EC18505B88CEC /* EXPUnsupportedObject.m in Sources */, + A16CB69270E23187E9D24E555C591A6D /* Expecta-dummy.m in Sources */, + 38914F59CB4CDCAB7B95E187D60E9520 /* ExpectaObject.m in Sources */, + 2AC3B91BEDBD10F33ACAC5870201F31E /* ExpectaSupport.m in Sources */, + 39DED9411A2A7D4892FE42170FF08B7D /* NSValue+Expecta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3FFFF1A2D3E85489AC91F67B /* Sources */ = { + 1CCC4B21173060BE5DCFBFA1ED80D68D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4FE2E327E5A4EF2C0DB0D3A0 /* EXPBlockDefinedMatcher.m in Sources */, - 47ADBAD6176CA9F36DCC028A /* EXPDoubleTuple.m in Sources */, - 7DDAC136F0A88F60D59819AB /* EXPExpect.m in Sources */, - 438C8BB0B439BEEA34690A7B /* EXPFloatTuple.m in Sources */, - 375037094CFC94BD0418B323 /* EXPMatcherHelpers.m in Sources */, - 7AC716705A089C6E3C8B15A6 /* EXPMatchers+beCloseTo.m in Sources */, - 468F3ED8EF8A3584608650E9 /* EXPMatchers+beFalsy.m in Sources */, - 2DF575221F1C748A71BEA15B /* EXPMatchers+beGreaterThan.m in Sources */, - 0E0A17AF6C5CD43F23D78921 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, - 77CC42D502BFBDCBEE305850 /* EXPMatchers+beIdenticalTo.m in Sources */, - C4E7481024CD88098560A310 /* EXPMatchers+beInTheRangeOf.m in Sources */, - 570130BF0A444F0992C16548 /* EXPMatchers+beInstanceOf.m in Sources */, - FC47D010FF86BDEC414FFB28 /* EXPMatchers+beKindOf.m in Sources */, - ECFCA1D920F3AD75098D4EEC /* EXPMatchers+beLessThan.m in Sources */, - 6D6CF4B0C2AF532B12EB8C4D /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, - 252568172A036560CA1689E0 /* EXPMatchers+beNil.m in Sources */, - D212149881EB1D2A9DBC849B /* EXPMatchers+beSubclassOf.m in Sources */, - 70EFA63A96B065F6FCDA154A /* EXPMatchers+beSupersetOf.m in Sources */, - 7FCB92A56ACB3713B1F50405 /* EXPMatchers+beTruthy.m in Sources */, - 35DD98939CA7BA6B7469AD69 /* EXPMatchers+beginWith.m in Sources */, - 0B652046B8FE9A6D49A86F8C /* EXPMatchers+conformTo.m in Sources */, - 045A5B5B3709D5C7715C300B /* EXPMatchers+contain.m in Sources */, - EB66E9DD1563F41C2D2576E6 /* EXPMatchers+endWith.m in Sources */, - 90FC36BD24509FA4703C6AAF /* EXPMatchers+equal.m in Sources */, - 7A130EFBDB71E142E848724F /* EXPMatchers+haveCountOf.m in Sources */, - F6EC3D77BB0B1BF9E625901B /* EXPMatchers+match.m in Sources */, - 6EE6F6846EF04012DB87319A /* EXPMatchers+postNotification.m in Sources */, - F44C945CA601B3EB9665C6E5 /* EXPMatchers+raise.m in Sources */, - 44E2A01AA83CD44F48068F9A /* EXPMatchers+raiseWithReason.m in Sources */, - D49C495BEEDA1BB1FD506180 /* EXPMatchers+respondTo.m in Sources */, - 7F5A14EECEDD0328325DC732 /* EXPUnsupportedObject.m in Sources */, - 0994C094BFA00464C0F2DE33 /* ExpectaObject.m in Sources */, - D8582D6C05B4FCA6C935FAF2 /* ExpectaSupport.m in Sources */, - EE5CFC315FCC9705B10246AD /* NSValue+Expecta.m in Sources */, - 6B45BCFEB08A64B102A0CFAC /* Pods-JazzHandsTests-Expecta-dummy.m in Sources */, + DBFB458F8DD7F1885189B471A27FD3D4 /* IFTTTAlphaAnimation.m in Sources */, + 806F1431D196DF7486AF58F36FFAD6FC /* IFTTTAnimatedPagingScrollViewController.m in Sources */, + 224E48C2F07345E51FED7115E98617D3 /* IFTTTAnimatedScrollViewController.m in Sources */, + 2ED94B7E9E99E45F47A442841DEA84B4 /* IFTTTAnimation.m in Sources */, + B939E0FD6D785F2D49498B2C4CA3C553 /* IFTTTAnimator.m in Sources */, + 1F854FE91202751B66156CE36DDFE0D5 /* IFTTTBackgroundColorAnimation.m in Sources */, + A01726EAD6E0C432AC7FAEF79274DC96 /* IFTTTConstraintConstantAnimation.m in Sources */, + 748EABA69E22EE0423380E984412BCC3 /* IFTTTConstraintMultiplierAnimation.m in Sources */, + 63725A0F64B164C6C3B2C767286EC437 /* IFTTTCornerRadiusAnimation.m in Sources */, + 4674EA21980730B9DE0C13B9C7CE9A34 /* IFTTTEasingFunction.m in Sources */, + BF8FDA039443185090571C7489A9E3D2 /* IFTTTFilmstrip.m in Sources */, + E8838E2E58A9476047CF5A215DD674F8 /* IFTTTFrameAnimation.m in Sources */, + 75D4E79C7E8DBFBFDC81972F4EE39DCC /* IFTTTHideAnimation.m in Sources */, + 80AF866B628C2E835289DCEFC68A6FA9 /* IFTTTInterpolatable.m in Sources */, + 82F3E68A0935EE9682DB098319176372 /* IFTTTLayerFillColorAnimation.m in Sources */, + 1FCDA0A59B7DA09B92736326AF1A016A /* IFTTTLayerStrokeEndAnimation.m in Sources */, + 07291CB8F259956F1DA7289A5C742D4D /* IFTTTLayerStrokeStartAnimation.m in Sources */, + 7FBA7E60BD7C8AA24F9CD764ECE9B352 /* IFTTTPathPositionAnimation.m in Sources */, + 59C4303608F831CEEE55148D67ED7109 /* IFTTTRotationAnimation.m in Sources */, + 564DF10552D209A443F100703033909F /* IFTTTScaleAnimation.m in Sources */, + 91C7532E08414ED388424C41EC0937DC /* IFTTTScrollViewPageConstraintAnimation.m in Sources */, + 2DDCADF3471597DC4F07C155AB6215CE /* IFTTTShapeLayerAnimation.m in Sources */, + E7766F65255CCC046ED2B7EAB3C7C536 /* IFTTTTextColorAnimation.m in Sources */, + 7425B571ECAEE5A162A1B6B9C1B4869D /* IFTTTTransform3DAnimation.m in Sources */, + DDE649D09933209A5A3996C8A74BFACF /* IFTTTTranslationAnimation.m in Sources */, + AC3B1AD0813177D91A0E60D8081AB875 /* IFTTTViewAnimation.m in Sources */, + FB9E6C5847348BA3CB43DC5C4B89EADD /* JazzHands-dummy.m in Sources */, + F063A60DBCBBA076526555C41ACB6944 /* UIView+IFTTTJazzHands.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 73EDA6E113E51E7BE8511E96 /* Sources */ = { + 2BFE7E080254003A9628FAD3C46FC008 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F433D42C3142E7A228FCD752 /* IFTTTAlphaAnimation.m in Sources */, - D683217CFA8D337ABDD2E042 /* IFTTTAnimatedPagingScrollViewController.m in Sources */, - D19A9C14E7DE124DCB6B9696 /* IFTTTAnimatedScrollViewController.m in Sources */, - DFB82CEE5D4EE6B864719C64 /* IFTTTAnimation.m in Sources */, - 3A59FEB38BA3D6DCC2CCB82B /* IFTTTAnimator.m in Sources */, - 099C8FAB2CA040449260F0BB /* IFTTTColorAnimation.m in Sources */, - 8F51C9758C0D6D0A94F38ED9 /* IFTTTConstraintConstantAnimation.m in Sources */, - 3549919920910D13D6467976 /* IFTTTConstraintMultiplierAnimation.m in Sources */, - 887C6C0EECAC5BD4C537B53E /* IFTTTCornerRadiusAnimation.m in Sources */, - 042E8F9038771BD52F7CA5D8 /* IFTTTEasingFunction.m in Sources */, - D56EEB8B91BEF8AF4B23BCB4 /* IFTTTFillColorAnimation.m in Sources */, - 08154935B7EAD98A36767285 /* IFTTTFilmstrip.m in Sources */, - A3990BB12514F458170AF4EE /* IFTTTFrameAnimation.m in Sources */, - 0875F4680F789BF646473FB7 /* IFTTTHideAnimation.m in Sources */, - 2E1A43FD33880DDD68824C0F /* IFTTTInterpolatable.m in Sources */, - 7C2B0643008CF97DBE803A19 /* IFTTTLabelAnimation.m in Sources */, - 850E0F9C334CF89D0156DEF6 /* IFTTTRotationAnimation.m in Sources */, - 5D4DCA227763B675FF64498E /* IFTTTScaleAnimation.m in Sources */, - 9B323AF1E31F90FCABF797A1 /* IFTTTScrollViewPageConstraintAnimation.m in Sources */, - 2AB1689EAFBE5C90C88F1779 /* IFTTTShapeLayerAnimation.m in Sources */, - 91C998C488B50F6909FB3145 /* IFTTTStrokeEndAnimation.m in Sources */, - BBBB0EEA7707CE1242BA7AE5 /* IFTTTStrokeStartAnimation.m in Sources */, - C7DABBF3D686565A0E2D0337 /* IFTTTTextColorAnimation.m in Sources */, - 03799167DD970F98A0AE533F /* IFTTTTransform3DAnimation.m in Sources */, - 8322BF370EF3225DF80E09C1 /* IFTTTTranslationAnimation.m in Sources */, - AB456E309AB09BF42B4F366B /* IFTTTViewAnimation.m in Sources */, - B0C0FD88E306CD985B4D5197 /* Pods-JazzHandsTests-JazzHands-dummy.m in Sources */, - 6FFB7115608386FE68393A22 /* UIView+IFTTTJazzHands.m in Sources */, + 5568D50DB7BD5E2BD678C6BCAC01DF00 /* Pods-JazzHandsTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 99B4E4213F588C54B39A6EC5 /* Sources */ = { + 30A5D03DEA0F2FB0E6339CF9E32BEB0A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FFF8573322324BE0F53E2BDB /* Pods-JazzHandsTests-dummy.m in Sources */, + 3300BF0D1C8F6929037EFAF74DA97C68 /* SPTCallSite.m in Sources */, + F044E50D03CB8CC87583BD7B8CBC7624 /* SPTCompiledExample.m in Sources */, + A1DD40EE68BEE53CEE299EA8D6023DFB /* SPTExample.m in Sources */, + 463CEB10D6F17AE42796F7EEFF9FD14F /* SPTExampleGroup.m in Sources */, + 845389102A8AB7F9266F9F7F9D2E5E2E /* SPTSharedExampleGroups.m in Sources */, + 1198113A393D7D33B0F3359BB7744BAA /* SPTSpec.m in Sources */, + 113887BDA1743462B6C3DB9853A578BF /* SPTTestSuite.m in Sources */, + 4969F8004E63A7D6C3B4C6DB97F74791 /* Specta-dummy.m in Sources */, + 837FBD3C91BECDEB29038A97BAE895C5 /* SpectaDSL.m in Sources */, + 1515BDDC68C44C9075591D9D65038720 /* SpectaUtility.m in Sources */, + 233881BD70FE2D2A1FEB6E7A2F8EA429 /* XCTestCase+Specta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - ACFD376D1506C2F358D5A1FF /* Sources */ = { + 5A7600D3BE3DE0C7FD9C31185D9F7624 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 02F89F0F32F9666ECF4FD784 /* IFTTTAlphaAnimation.m in Sources */, - 3AADC39303BD29BD596DE002 /* IFTTTAnimatedPagingScrollViewController.m in Sources */, - 6EFF72CC40BEFE800F9BBD4D /* IFTTTAnimatedScrollViewController.m in Sources */, - B43490ED4F203534E12B11C8 /* IFTTTAnimation.m in Sources */, - BA53B965C5F1E57B915B11F0 /* IFTTTAnimator.m in Sources */, - 81FDC325FB9E1CEDD3823323 /* IFTTTColorAnimation.m in Sources */, - 499D8BFA4B7EC42D384C050F /* IFTTTConstraintConstantAnimation.m in Sources */, - 17E0B42AF301ABE8A77038BF /* IFTTTConstraintMultiplierAnimation.m in Sources */, - D0A5F8031C55764CDBD9A38B /* IFTTTCornerRadiusAnimation.m in Sources */, - 5434FAF7795BEA69BDF0EA20 /* IFTTTEasingFunction.m in Sources */, - 6853BEA14FE80D1723897AFD /* IFTTTFillColorAnimation.m in Sources */, - A2C05EB72A265E9BDFF7778B /* IFTTTFilmstrip.m in Sources */, - 4D546BCF4C9787C034C4F0D4 /* IFTTTFrameAnimation.m in Sources */, - 96253032625559D718AA3975 /* IFTTTHideAnimation.m in Sources */, - B2E78F7DBC43FFCD180AF457 /* IFTTTInterpolatable.m in Sources */, - 03DAAF757F23EDE7041E0704 /* IFTTTLabelAnimation.m in Sources */, - 32827D11EFAAE7685D4D1D43 /* IFTTTRotationAnimation.m in Sources */, - 2DDAC087C0452B02FBB84520 /* IFTTTScaleAnimation.m in Sources */, - C8397C4E0282C903A93C6D9C /* IFTTTScrollViewPageConstraintAnimation.m in Sources */, - E2E66ADCC45C81E249EF18A3 /* IFTTTShapeLayerAnimation.m in Sources */, - B761BC6A9276B24EC6ECE5E5 /* IFTTTStrokeEndAnimation.m in Sources */, - 211AB2C2210C9B0F3AFB6775 /* IFTTTStrokeStartAnimation.m in Sources */, - 23EABAFEFA75AB2DA796CE75 /* IFTTTTextColorAnimation.m in Sources */, - FB33704695B44330F8361BED /* IFTTTTransform3DAnimation.m in Sources */, - D934C211A218BE6C28E60653 /* IFTTTTranslationAnimation.m in Sources */, - F1AB773FC02731C1524F95B6 /* IFTTTViewAnimation.m in Sources */, - 93E823ADC7F3CDBBD7598D43 /* Pods-JazzHandsDemo-JazzHands-dummy.m in Sources */, - 76194E2B00CB012DE426FE5F /* UIView+IFTTTJazzHands.m in Sources */, + 4D25D63DE7DC16183585510B34DB080B /* MASCompositeConstraint.m in Sources */, + 65B963C3764B71427BED619C2E6BD83D /* MASConstraint.m in Sources */, + 29F5428EFBBB87682558D6F0EEC8F7BF /* MASConstraintMaker.m in Sources */, + 39341B5FBBE44CEDD539CF1DC51021C0 /* MASLayoutConstraint.m in Sources */, + 70E9C5B355EC19C65684DD7E408988B0 /* MASViewAttribute.m in Sources */, + C8EECF8767F5D406DF0C61F9179A4A70 /* MASViewConstraint.m in Sources */, + 5BFB60FB73F1A646C7F28D1FC7725B66 /* Masonry-dummy.m in Sources */, + FE692DF46C60F005EB616C27A826A80C /* NSArray+MASAdditions.m in Sources */, + 3C4A84AB0617B01E93FE3F7BC1EDFB6B /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, + 1BB935238FE80DF60822ECFF6E15223A /* View+MASAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C7757CCEFDADAFDA098C797C /* Sources */ = { + A136A2C24FD2E312B16295FA9E8E5F81 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C87707964F3C8CE1963DFDCE /* Pods-JazzHandsTests-Specta-dummy.m in Sources */, - 76EF2563C445E42217F796A1 /* SPTCallSite.m in Sources */, - 9653D35DA0072E0D848AF74B /* SPTCompiledExample.m in Sources */, - 45A23022C60E4D2F32C5A124 /* SPTExample.m in Sources */, - 88766996F27F2842A8A95F9E /* SPTExampleGroup.m in Sources */, - 5D453002F89499062E764E27 /* SPTSharedExampleGroups.m in Sources */, - 2BC1C453BA3E696C7D1CC449 /* SPTSpec.m in Sources */, - 05D6E1C242177E0C2E88C837 /* SPTTestSuite.m in Sources */, - F40CBA6730EC67DC7FBAA3EB /* SpectaDSL.m in Sources */, - 321FB4FC3104B87E191791F2 /* SpectaUtility.m in Sources */, - 4A6A2D1AEBA6905E43B4D61D /* XCTestCase+Specta.m in Sources */, + 6A10264CF63BB1F9BEFC42DA97797889 /* Pods-JazzHandsDemo-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 643B5A1C84EEDD73C1E8320F /* PBXTargetDependency */ = { + 11E91F0B5766E492EC7A7A997A940D69 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-JazzHandsTests-Expecta"; - target = 8A6229949625CDF4302055FF /* Pods-JazzHandsTests-Expecta */; - targetProxy = 4E354E530F8651F5D5438CF3 /* PBXContainerItemProxy */; + name = Specta; + target = 6461F429FC34A261D9C5BC80A8A0168F /* Specta */; + targetProxy = 0880A072E891C027C22DD622A3D7544E /* PBXContainerItemProxy */; + }; + 2227C35C62B59D3D80043B21683B448F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Expecta; + target = 1081246B2B8BF16266BA13C525E4A3EA /* Expecta */; + targetProxy = 88C7DB72C9C964B30173FA576426A110 /* PBXContainerItemProxy */; + }; + 28331CBF012A5DFC4D3E711848A7AFC1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = JazzHands; + target = DE8D6055D1EB4125419E68F583AEDFEF /* JazzHands */; + targetProxy = 2EBA75BE8E777BA8BDE931CCBDAC1F3F /* PBXContainerItemProxy */; }; - C6317C0280A1A2F5C0F6B11B /* PBXTargetDependency */ = { + 6AA9201AE977C821D1A537E4F60D29BA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-JazzHandsTests-Specta"; - target = 1BAEE0F54A94BCCE9852BE79 /* Pods-JazzHandsTests-Specta */; - targetProxy = B0EAE5804BAF46B2BA7C2144 /* PBXContainerItemProxy */; + name = Masonry; + target = 384A9E45F2109FCBAFE63ED5C4C1DCCF /* Masonry */; + targetProxy = 7DD34B4E1CC724C8F80A5428BFFAF8A7 /* PBXContainerItemProxy */; }; - C8C103762E688957C3398E8D /* PBXTargetDependency */ = { + 710FE455CC00F7A31639DDF4D8071CC6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-JazzHandsDemo-JazzHands"; - target = 46C63F80AE25A44731A70808 /* Pods-JazzHandsDemo-JazzHands */; - targetProxy = E5A2AAF03741624768E7A5B4 /* PBXContainerItemProxy */; + name = JazzHands; + target = DE8D6055D1EB4125419E68F583AEDFEF /* JazzHands */; + targetProxy = D97FA108AD9F4FC9726AA2C690EE7CF7 /* PBXContainerItemProxy */; }; - EF7B2845BF38E1FCAF99F291 /* PBXTargetDependency */ = { + 74C6B3EA76F7FE8A47329F4A5D89FDBB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-JazzHandsTests-JazzHands"; - target = E76FB6F4D30B4EC07AEEA8A3 /* Pods-JazzHandsTests-JazzHands */; - targetProxy = E78F0C3D6506DD454282392D /* PBXContainerItemProxy */; + name = Masonry; + target = 384A9E45F2109FCBAFE63ED5C4C1DCCF /* Masonry */; + targetProxy = 333C8561CC099F5E68C2197A630CE4E4 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0189104BD5CFAAD8767775DA /* Debug */ = { + 09C8D2CEAC6852D4C1D13C6317B97A70 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EB30BAB5EC76B74CE45FB9E /* Pods-JazzHandsTests-Specta-Private.xcconfig */; + baseConfigurationReference = 72132E294331DD59F635FC1878F7D130 /* Specta-Private.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; - name = Debug; + name = Release; }; - 0FE685C9986BFF1F2293A1C4 /* Release */ = { + 0B120158C1E8CE6AF7894883F65B85DC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C6B72A5F6320F9CA082FB18 /* Pods-JazzHandsDemo.release.xcconfig */; + baseConfigurationReference = 6AD2AFDB66028B2AA2C77708F13E327B /* JazzHands-Private.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/JazzHands/JazzHands-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; name = Release; }; - 1EDA5BA9F7AFB8F11B6546B2 /* Release */ = { + 0EEAA2283EAE353883B1217FDFF1BFDA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 20514729334487DACCC75BEB /* Pods-JazzHandsTests.release.xcconfig */; + baseConfigurationReference = BE829408D0E583327D8A1549D1B583DF /* Pods-JazzHandsDemo.debug.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1360,9 +1378,57 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; }; + name = Debug; + }; + 1B1C6692628F9B81CA6DEA6B46BF49B7 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 72132E294331DD59F635FC1878F7D130 /* Specta-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 1FA9185559F83CFFEC4FAEC93629730C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 71731D6883D7514628863A0411588178 /* Expecta-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; name = Release; }; - 25FDE6F700012285F991E3AC /* Debug */ = { + 31E1BCC82922C048E0858BB3CDB48D55 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6AD2AFDB66028B2AA2C77708F13E327B /* JazzHands-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/JazzHands/JazzHands-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 3523159348E1035C58EF859238BFEDB0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1401,39 +1467,39 @@ }; name = Debug; }; - 26D9E075C350F95642810B38 /* Debug */ = { + 3C9B4D830910A107C61066593E12B1FE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C875903EE48EE7513A5495A1 /* Pods-JazzHandsTests-JazzHands-Private.xcconfig */; + baseConfigurationReference = 448B92D42D7AFF18F07688B52592AF8D /* Pods-JazzHandsDemo.release.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; - name = Debug; + name = Release; }; - 3109E11EFDEC4949565DC6FD /* Debug */ = { + 7D6369DB027FFD456259EF55B5D7B194 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27D3203A4E720E7B7D3EE022 /* Pods-JazzHandsTests.debug.xcconfig */; + baseConfigurationReference = A06D2ED301A23E55AABE964BBF96609B /* Masonry-Private.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; - name = Debug; + name = Release; }; - 33665D99EC811FE84D3445BF /* Release */ = { + A88658A9552ACB0502744ED7A6EDBEFD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1467,57 +1533,41 @@ }; name = Release; }; - 4FCF95A9369AEF648201785D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 13D205C03F477DA8F4A99A14 /* Pods-JazzHandsDemo-JazzHands-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 61F0426BE02E96FF8E503CE2 /* Release */ = { + C4B53230D62D753A132C928BA25ED77C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EB30BAB5EC76B74CE45FB9E /* Pods-JazzHandsTests-Specta-Private.xcconfig */; + baseConfigurationReference = A06D2ED301A23E55AABE964BBF96609B /* Masonry-Private.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; - name = Release; + name = Debug; }; - 6F7E30C92DDDFEB59D4F4BE7 /* Release */ = { + CD5AA787823A2AC1D64C71BAABB62A4F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C875903EE48EE7513A5495A1 /* Pods-JazzHandsTests-JazzHands-Private.xcconfig */; + baseConfigurationReference = 71731D6883D7514628863A0411588178 /* Expecta-Private.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; - name = Release; + name = Debug; }; - 8538F39B345FA563DE30E987 /* Debug */ = { + E97863405261050C37845BFAC7EF2EA5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1319DDBF13541A4CECAF6F6C /* Pods-JazzHandsDemo.debug.xcconfig */; + baseConfigurationReference = 1B51AFFF317198196C9524ACD7651F28 /* Pods-JazzHandsTests.debug.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.0; @@ -1531,121 +1581,89 @@ }; name = Debug; }; - 9766AC9F5ACC40CE93BDFFEF /* Release */ = { + FD787C03F60DC73F1604AB341C09A6DA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0AEE595E08376FA3AECF837 /* Pods-JazzHandsTests-Expecta-Private.xcconfig */; + baseConfigurationReference = 6B5985B109CE477C63944DCFC5A70E1E /* Pods-JazzHandsTests.release.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; }; name = Release; }; - B38E987FEF5820B13AD474BA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D0AEE595E08376FA3AECF837 /* Pods-JazzHandsTests-Expecta-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - FB2CA13EBDA3BC33CCB381B7 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 13D205C03F477DA8F4A99A14 /* Pods-JazzHandsDemo-JazzHands-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0877D39069543586EA853855 /* Build configuration list for PBXProject "Pods" */ = { + 27A356AABFAC6F8454D93DC675C56B44 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 25FDE6F700012285F991E3AC /* Debug */, - 33665D99EC811FE84D3445BF /* Release */, + 0EEAA2283EAE353883B1217FDFF1BFDA /* Debug */, + 3C9B4D830910A107C61066593E12B1FE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D25D4C3B00B0A2C93AA2DDF /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-JazzHands" */ = { + 29BD7D5C0D60E75D70AEB3B3F7322D7A /* Build configuration list for PBXNativeTarget "Expecta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 26D9E075C350F95642810B38 /* Debug */, - 6F7E30C92DDDFEB59D4F4BE7 /* Release */, + CD5AA787823A2AC1D64C71BAABB62A4F /* Debug */, + 1FA9185559F83CFFEC4FAEC93629730C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5D7D9139F1D38E851DD8447E /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8538F39B345FA563DE30E987 /* Debug */, - 0FE685C9986BFF1F2293A1C4 /* Release */, + 3523159348E1035C58EF859238BFEDB0 /* Debug */, + A88658A9552ACB0502744ED7A6EDBEFD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6618CF4272A74F84538E7390 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests" */ = { + 7996470AADAE3AD19EB5CB48FAA02B77 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3109E11EFDEC4949565DC6FD /* Debug */, - 1EDA5BA9F7AFB8F11B6546B2 /* Release */, + E97863405261050C37845BFAC7EF2EA5 /* Debug */, + FD787C03F60DC73F1604AB341C09A6DA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9270C3A61FABFB7EB40ED0C6 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-Specta" */ = { + 7C738256F7193E1F82094B85A17EC88D /* Build configuration list for PBXNativeTarget "Specta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0189104BD5CFAAD8767775DA /* Debug */, - 61F0426BE02E96FF8E503CE2 /* Release */, + 1B1C6692628F9B81CA6DEA6B46BF49B7 /* Debug */, + 09C8D2CEAC6852D4C1D13C6317B97A70 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B3C1FFFD497C3F883DD52720 /* Build configuration list for PBXNativeTarget "Pods-JazzHandsDemo-JazzHands" */ = { + 8A629825683195731F6F868BF6F1AEF4 /* Build configuration list for PBXNativeTarget "JazzHands" */ = { isa = XCConfigurationList; buildConfigurations = ( - FB2CA13EBDA3BC33CCB381B7 /* Debug */, - 4FCF95A9369AEF648201785D /* Release */, + 31E1BCC82922C048E0858BB3CDB48D55 /* Debug */, + 0B120158C1E8CE6AF7894883F65B85DC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DB992089F0CA60E24DE0888D /* Build configuration list for PBXNativeTarget "Pods-JazzHandsTests-Expecta" */ = { + 9720BDCBC9E2608F59F9FF6D38D0D7FD /* Build configuration list for PBXNativeTarget "Masonry" */ = { isa = XCConfigurationList; buildConfigurations = ( - B38E987FEF5820B13AD474BA /* Debug */, - 9766AC9F5ACC40CE93BDFFEF /* Release */, + C4B53230D62D753A132C928BA25ED77C /* Debug */, + 7D6369DB027FFD456259EF55B5D7B194 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = C16C44AFAEEB86A701910759 /* Project object */; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; } diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/JazzHands.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/JazzHands.xcscheme new file mode 100644 index 0000000..d1b3959 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/JazzHands.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsDemo-JazzHands.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsDemo-JazzHands.xcscheme index d1f5fb7..9524263 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsDemo-JazzHands.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsDemo-JazzHands.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsTests-JazzHands.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsTests-JazzHands.xcscheme index e463552..9a0b610 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsTests-JazzHands.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-JazzHandsTests-JazzHands.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> diff --git a/Example/Pods/SnapKit/LICENSE b/Example/Pods/SnapKit/LICENSE new file mode 100644 index 0000000..a18ccfb --- /dev/null +++ b/Example/Pods/SnapKit/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Example/Pods/SnapKit/README.md b/Example/Pods/SnapKit/README.md new file mode 100644 index 0000000..bc66129 --- /dev/null +++ b/Example/Pods/SnapKit/README.md @@ -0,0 +1,36 @@ + + +SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. + +[![Build Status](https://travis-ci.org/SnapKit/SnapKit.svg)](https://travis-ci.org/SnapKit/SnapKit) +[![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://img.shields.io/cocoapods/v/SnapKit.svg) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) + +```swift +import SnapKit + +class MyViewController: UIViewController { + + lazy var box = UIView() + + override func viewDidLoad() { + super.viewDidLoad() + + self.view.addSubview(box) + box.snp_makeConstraints { (make) -> Void in + make.width.height.equalTo(50) + make.center.equalTo(self.view) + } + } + +} +``` + +## Resources + +* [Documentation](http://snapkit.io/docs/) +* [F.A.Q.](http://snapkit.io/faq/) + +## License + +MIT license. See the `LICENSE` file for details. diff --git a/Example/Pods/SnapKit/Source/Constraint.swift b/Example/Pods/SnapKit/Source/Constraint.swift new file mode 100644 index 0000000..859e086 --- /dev/null +++ b/Example/Pods/SnapKit/Source/Constraint.swift @@ -0,0 +1,465 @@ +// +// SnapKit +// +// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to expose API's for a Constraint +*/ +public class Constraint { + + public func install() -> [LayoutConstraint] { fatalError("Must be implemented by Concrete subclass.") } + public func uninstall() -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func activate() -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func deactivate() -> Void { fatalError("Must be implemented by Concrete subclass.") } + + public func updateOffset(amount: Float) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: Double) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: CGFloat) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: Int) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: UInt) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: CGPoint) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: CGSize) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updateOffset(amount: EdgeInsets) -> Void { fatalError("Must be implemented by Concrete subclass.") } + + public func updateInsets(amount: EdgeInsets) -> Void { fatalError("Must be implemented by Concrete subclass.") } + + public func updatePriority(priority: Float) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriority(priority: Double) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriority(priority: CGFloat) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriority(priority: UInt) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriority(priority: Int) -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriorityRequired() -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") } + public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") } + +} + +/** + Used internally to implement a ConcreteConstraint +*/ +internal class ConcreteConstraint: Constraint { + + internal override func updateOffset(amount: Float) -> Void { + self.constant = amount + } + internal override func updateOffset(amount: Double) -> Void { + self.updateOffset(Float(amount)) + } + internal override func updateOffset(amount: CGFloat) -> Void { + self.updateOffset(Float(amount)) + } + internal override func updateOffset(amount: Int) -> Void { + self.updateOffset(Float(amount)) + } + internal override func updateOffset(amount: UInt) -> Void { + self.updateOffset(Float(amount)) + } + internal override func updateOffset(amount: CGPoint) -> Void { + self.constant = amount + } + internal override func updateOffset(amount: CGSize) -> Void { + self.constant = amount + } + internal override func updateOffset(amount: EdgeInsets) -> Void { + self.constant = amount + } + + internal override func updateInsets(amount: EdgeInsets) -> Void { + self.constant = EdgeInsets(top: amount.top, left: amount.left, bottom: -amount.bottom, right: -amount.right) + } + + internal override func updatePriority(priority: Float) -> Void { + self.priority = priority + } + internal override func updatePriority(priority: Double) -> Void { + self.updatePriority(Float(priority)) + } + internal override func updatePriority(priority: CGFloat) -> Void { + self.updatePriority(Float(priority)) + } + internal override func updatePriority(priority: UInt) -> Void { + self.updatePriority(Float(priority)) + } + internal override func updatePriority(priority: Int) -> Void { + self.updatePriority(Float(priority)) + } + internal override func updatePriorityRequired() -> Void { + self.updatePriority(Float(1000.0)) + } + internal override func updatePriorityHigh() -> Void { + self.updatePriority(Float(750.0)) + } + internal override func updatePriorityMedium() -> Void { + #if os(iOS) + self.updatePriority(Float(500.0)) + #else + self.updatePriority(Float(501.0)) + #endif + } + internal override func updatePriorityLow() -> Void { + self.updatePriority(Float(250.0)) + } + + internal override func install() -> [LayoutConstraint] { + return self.installOnView(updateExisting: false) + } + + internal override func uninstall() -> Void { + self.uninstallFromView() + } + + internal override func activate() -> Void { + if NSLayoutConstraint.respondsToSelector("activateConstraints:") && self.installInfo != nil { + let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint] + if layoutConstraints.count > 0 { + NSLayoutConstraint.activateConstraints(layoutConstraints) + } + } else { + self.install() + } + } + + internal override func deactivate() -> Void { + if NSLayoutConstraint.respondsToSelector("deactivateConstraints:") && self.installInfo != nil { + let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint] + if layoutConstraints.count > 0 { + NSLayoutConstraint.deactivateConstraints(layoutConstraints) + } + } else { + self.uninstall() + } + } + + private let fromItem: ConstraintItem + private let toItem: ConstraintItem + private let relation: ConstraintRelation + private let multiplier: Float + private var constant: Any { + didSet { + if let installInfo = self.installInfo { + for layoutConstraint in installInfo.layoutConstraints.allObjects as! [LayoutConstraint] { + let attribute = (layoutConstraint.secondAttribute == .NotAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute + layoutConstraint.constant = attribute.snp_constantForValue(self.constant) + } + } + } + } + private var priority: Float { + didSet { + if let installInfo = self.installInfo { + for layoutConstraint in installInfo.layoutConstraints.allObjects as! [LayoutConstraint] { + layoutConstraint.priority = self.priority + } + } + } + } + + private var installInfo: ConcreteConstraintInstallInfo? = nil + + internal init(fromItem: ConstraintItem, toItem: ConstraintItem, relation: ConstraintRelation, constant: Any, multiplier: Float, priority: Float) { + self.fromItem = fromItem + self.toItem = toItem + self.relation = relation + self.constant = constant + self.multiplier = multiplier + self.priority = priority + } + + internal func installOnView(updateExisting: Bool = false) -> [LayoutConstraint] { + var installOnView: View? = nil + if self.toItem.view != nil { + installOnView = closestCommonSuperviewBetween(self.fromItem.view, self.toItem.view) + if installOnView == nil { + NSException(name: "Cannot Install Constraint", reason: "No common superview between views", userInfo: nil).raise() + return [] + } + } else { + installOnView = self.fromItem.view?.superview + if installOnView == nil { + if self.fromItem.attributes == ConstraintAttributes.Width || self.fromItem.attributes == ConstraintAttributes.Height { + installOnView = self.fromItem.view + } + + if installOnView == nil { + NSException(name: "Cannot Install Constraint", reason: "Missing superview", userInfo: nil).raise() + return [] + } + } + } + + if let installedOnView = self.installInfo?.view { + if installedOnView != installOnView { + NSException(name: "Cannot Install Constraint", reason: "Already installed on different view.", userInfo: nil).raise() + return [] + } + return self.installInfo?.layoutConstraints.allObjects as? [LayoutConstraint] ?? [] + } + + var newLayoutConstraints = [LayoutConstraint]() + let layoutFromAttributes = self.fromItem.attributes.layoutAttributes + let layoutToAttributes = self.toItem.attributes.layoutAttributes + + // get layout from + let layoutFrom: View? = self.fromItem.view + + // get layout relation + let layoutRelation: NSLayoutRelation = self.relation.layoutRelation + + for layoutFromAttribute in layoutFromAttributes { + // get layout to attribute + let layoutToAttribute = (layoutToAttributes.count > 0) ? layoutToAttributes[0] : layoutFromAttribute + + // get layout constant + var layoutConstant: CGFloat = layoutToAttribute.snp_constantForValue(self.constant) + + // get layout to + var layoutTo: View? = self.toItem.view + if layoutTo == nil && layoutToAttribute != .Width && layoutToAttribute != .Height { + layoutTo = installOnView + } + + // create layout constraint + let layoutConstraint = LayoutConstraint( + item: layoutFrom!, + attribute: layoutFromAttribute, + relatedBy: layoutRelation, + toItem: layoutTo, + attribute: layoutToAttribute, + multiplier: CGFloat(self.multiplier), + constant: layoutConstant) + + // set priority + layoutConstraint.priority = self.priority + + // set constraint + layoutConstraint.snp_constraint = self + + newLayoutConstraints.append(layoutConstraint) + } + + // special logic for updating + if updateExisting { + // get existing constraints for this view + let existingLayoutConstraints = reverse(layoutFrom!.snp_installedLayoutConstraints) + + // array that will contain only new layout constraints to keep + var newLayoutConstraintsToKeep = [LayoutConstraint]() + + // begin looping + for layoutConstraint in newLayoutConstraints { + // layout constraint that should be updated + var updateLayoutConstraint: LayoutConstraint? = nil + + // loop through existing and check for match + for existingLayoutConstraint in existingLayoutConstraints { + if existingLayoutConstraint == layoutConstraint { + updateLayoutConstraint = existingLayoutConstraint + break + } + } + + // if we have existing one lets just update the constant + if updateLayoutConstraint != nil { + updateLayoutConstraint!.constant = layoutConstraint.constant + } + // otherwise add this layout constraint to new keep list + else { + newLayoutConstraintsToKeep.append(layoutConstraint) + } + } + + // set constraints to only new ones + newLayoutConstraints = newLayoutConstraintsToKeep + } + + // add constraints + installOnView!.addConstraints(newLayoutConstraints) + + // set install info + self.installInfo = ConcreteConstraintInstallInfo(view: installOnView, layoutConstraints: NSHashTable.weakObjectsHashTable()) + + // store which layout constraints are installed for this constraint + for layoutConstraint in newLayoutConstraints { + self.installInfo!.layoutConstraints.addObject(layoutConstraint) + } + + // store the layout constraints against the layout from view + layoutFrom!.snp_installedLayoutConstraints += newLayoutConstraints + + // return the new constraints + return newLayoutConstraints + } + + internal func uninstallFromView() { + if let installInfo = self.installInfo, + let installedLayoutConstraints = installInfo.layoutConstraints.allObjects as? [LayoutConstraint] { + + if installedLayoutConstraints.count > 0 { + + if let installedOnView = installInfo.view { + // remove the constraints from the UIView's storage + installedOnView.removeConstraints(installedLayoutConstraints) + } + + // remove the constraints from the from item view + if let fromView = self.fromItem.view { + fromView.snp_installedLayoutConstraints = fromView.snp_installedLayoutConstraints.filter { + return !contains(installedLayoutConstraints, $0) + } + } + } + + } + self.installInfo = nil + } + +} + +private struct ConcreteConstraintInstallInfo { + + weak var view: View? = nil + let layoutConstraints: NSHashTable + +} + +private extension NSLayoutAttribute { + + private func snp_constantForValue(value: Any?) -> CGFloat { + // Float + if let float = value as? Float { + return CGFloat(float) + } + // Double + else if let double = value as? Double { + return CGFloat(double) + } + // UInt + else if let int = value as? Int { + return CGFloat(int) + } + // Int + else if let uint = value as? UInt { + return CGFloat(uint) + } + // CGFloat + else if let float = value as? CGFloat { + return float + } + // CGSize + else if let size = value as? CGSize { + if self == .Width { + return size.width + } else if self == .Height { + return size.height + } + } + // CGPoint + else if let point = value as? CGPoint { + #if os(iOS) + switch self { + case .Left, .CenterX, .LeftMargin, .CenterXWithinMargins: return point.x + case .Top, .CenterY, .TopMargin, .CenterYWithinMargins, .Baseline, .FirstBaseline: return point.y + case .Right, .RightMargin: return point.x + case .Bottom, .BottomMargin: return point.y + case .Leading, .LeadingMargin: return point.x + case .Trailing, .TrailingMargin: return point.x + case .Width, .Height, .NotAnAttribute: return CGFloat(0) + } + #else + switch self { + case .Left, .CenterX: return point.x + case .Top, .CenterY, .Baseline: return point.y + case .Right: return point.x + case .Bottom: return point.y + case .Leading: return point.x + case .Trailing: return point.x + case .Width, .Height, .NotAnAttribute: return CGFloat(0) + } + #endif + } + // EdgeInsets + else if let insets = value as? EdgeInsets { + #if os(iOS) + switch self { + case .Left, .CenterX, .LeftMargin, .CenterXWithinMargins: return insets.left + case .Top, .CenterY, .TopMargin, .CenterYWithinMargins, .Baseline, .FirstBaseline: return insets.top + case .Right, .RightMargin: return insets.right + case .Bottom, .BottomMargin: return insets.bottom + case .Leading, .LeadingMargin: return (Config.interfaceLayoutDirection == .LeftToRight) ? insets.left : -insets.right + case .Trailing, .TrailingMargin: return (Config.interfaceLayoutDirection == .LeftToRight) ? insets.right : -insets.left + case .Width, .Height, .NotAnAttribute: return CGFloat(0) + } + #else + switch self { + case .Left, .CenterX: return insets.left + case .Top, .CenterY, .Baseline: return insets.top + case .Right: return insets.right + case .Bottom: return insets.bottom + case .Leading: return (Config.interfaceLayoutDirection == .LeftToRight) ? insets.left : -insets.right + case .Trailing: return (Config.interfaceLayoutDirection == .LeftToRight) ? insets.right : -insets.left + case .Width, .Height, .NotAnAttribute: return CGFloat(0) + } + #endif + } + + return CGFloat(0); + } +} + +private func closestCommonSuperviewBetween(fromView: View?, toView: View?) -> View? { + var views = Set() + var fromView = fromView + var toView = toView + do { + if let view = toView { + if views.contains(view) { + return view + } + views.insert(view) + toView = view.superview + } + if let view = fromView { + if views.contains(view) { + return view + } + views.insert(view) + fromView = view.superview + } + } while (fromView != nil || toView != nil) + + return nil +} + +private func ==(left: ConcreteConstraint, right: ConcreteConstraint) -> Bool { + return (left.fromItem == right.fromItem && + left.toItem == right.toItem && + left.relation == right.relation && + left.multiplier == right.multiplier && + left.priority == right.priority) +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/ConstraintAttributes.swift b/Example/Pods/SnapKit/Source/ConstraintAttributes.swift new file mode 100644 index 0000000..d20cd95 --- /dev/null +++ b/Example/Pods/SnapKit/Source/ConstraintAttributes.swift @@ -0,0 +1,167 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to define `NSLayoutAttributes` in a more concise and composite manner +*/ +internal struct ConstraintAttributes: RawOptionSetType, BooleanType { + + internal init(rawValue: UInt) { + self.rawValue = rawValue + } + internal init(_ rawValue: UInt) { + self.init(rawValue: rawValue) + } + internal init(nilLiteral: ()) { + self.rawValue = 0 + } + + internal private(set) var rawValue: UInt + internal static var allZeros: ConstraintAttributes { return self(0) } + internal static func convertFromNilLiteral() -> ConstraintAttributes { return self(0) } + internal var boolValue: Bool { return self.rawValue != 0 } + + internal func toRaw() -> UInt { return self.rawValue } + internal static func fromRaw(raw: UInt) -> ConstraintAttributes? { return self(raw) } + internal static func fromMask(raw: UInt) -> ConstraintAttributes { return self(raw) } + + // normal + + internal static var None: ConstraintAttributes { return self(0) } + internal static var Left: ConstraintAttributes { return self(1) } + internal static var Top: ConstraintAttributes { return self(2) } + internal static var Right: ConstraintAttributes { return self(4) } + internal static var Bottom: ConstraintAttributes { return self(8) } + internal static var Leading: ConstraintAttributes { return self(16) } + internal static var Trailing: ConstraintAttributes { return self(32) } + internal static var Width: ConstraintAttributes { return self(64) } + internal static var Height: ConstraintAttributes { return self(128) } + internal static var CenterX: ConstraintAttributes { return self(256) } + internal static var CenterY: ConstraintAttributes { return self(512) } + internal static var Baseline: ConstraintAttributes { return self(1024) } + + #if os(iOS) + internal static var FirstBaseline: ConstraintAttributes { return self(2048) } + internal static var LeftMargin: ConstraintAttributes { return self(4096) } + internal static var RightMargin: ConstraintAttributes { return self(8192) } + internal static var TopMargin: ConstraintAttributes { return self(16384) } + internal static var BottomMargin: ConstraintAttributes { return self(32768) } + internal static var LeadingMargin: ConstraintAttributes { return self(65536) } + internal static var TrailingMargin: ConstraintAttributes { return self(131072) } + internal static var CenterXWithinMargins: ConstraintAttributes { return self(262144) } + internal static var CenterYWithinMargins: ConstraintAttributes { return self(524288) } + #endif + + // aggregates + + internal static var Edges: ConstraintAttributes { return self(15) } + internal static var Size: ConstraintAttributes { return self(192) } + internal static var Center: ConstraintAttributes { return self(768) } + + #if os(iOS) + internal static var Margins: ConstraintAttributes { return self(61440) } + internal static var CenterWithinMargins: ConstraintAttributes { return self(786432) } + #endif + + internal var layoutAttributes:[NSLayoutAttribute] { + var attrs = [NSLayoutAttribute]() + if (self & ConstraintAttributes.Left) { + attrs.append(.Left) + } + if (self & ConstraintAttributes.Top) { + attrs.append(.Top) + } + if (self & ConstraintAttributes.Right) { + attrs.append(.Right) + } + if (self & ConstraintAttributes.Bottom) { + attrs.append(.Bottom) + } + if (self & ConstraintAttributes.Leading) { + attrs.append(.Leading) + } + if (self & ConstraintAttributes.Trailing) { + attrs.append(.Trailing) + } + if (self & ConstraintAttributes.Width) { + attrs.append(.Width) + } + if (self & ConstraintAttributes.Height) { + attrs.append(.Height) + } + if (self & ConstraintAttributes.CenterX) { + attrs.append(.CenterX) + } + if (self & ConstraintAttributes.CenterY) { + attrs.append(.CenterY) + } + if (self & ConstraintAttributes.Baseline) { + attrs.append(.Baseline) + } + #if os(iOS) + if (self & ConstraintAttributes.FirstBaseline) { + attrs.append(.FirstBaseline) + } + if (self & ConstraintAttributes.LeftMargin) { + attrs.append(.LeftMargin) + } + if (self & ConstraintAttributes.RightMargin) { + attrs.append(.RightMargin) + } + if (self & ConstraintAttributes.TopMargin) { + attrs.append(.TopMargin) + } + if (self & ConstraintAttributes.BottomMargin) { + attrs.append(.BottomMargin) + } + if (self & ConstraintAttributes.LeadingMargin) { + attrs.append(.LeadingMargin) + } + if (self & ConstraintAttributes.TrailingMargin) { + attrs.append(.TrailingMargin) + } + if (self & ConstraintAttributes.CenterXWithinMargins) { + attrs.append(.CenterXWithinMargins) + } + if (self & ConstraintAttributes.CenterYWithinMargins) { + attrs.append(.CenterYWithinMargins) + } + #endif + return attrs + } +} +internal func +=(inout left: ConstraintAttributes, right: ConstraintAttributes) { + left = (left | right) +} +internal func -=(inout left: ConstraintAttributes, right: ConstraintAttributes) { + left = left & ~right +} +internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool { + return left.rawValue == right.rawValue +} diff --git a/Example/Pods/SnapKit/Source/ConstraintDescription.swift b/Example/Pods/SnapKit/Source/ConstraintDescription.swift new file mode 100644 index 0000000..ebbdb70 --- /dev/null +++ b/Example/Pods/SnapKit/Source/ConstraintDescription.swift @@ -0,0 +1,540 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to expose the final API of a `ConstraintDescription` which allows getting a constraint from it + */ +public protocol ConstraintDescriptionFinalizable: class { + + var constraint: Constraint { get } + +} + +/** + Used to expose priority APIs + */ +public protocol ConstraintDescriptionPriortizable: ConstraintDescriptionFinalizable { + + func priority(priority: Float) -> ConstraintDescriptionFinalizable + func priority(priority: Double) -> ConstraintDescriptionFinalizable + func priority(priority: CGFloat) -> ConstraintDescriptionFinalizable + func priority(priority: UInt) -> ConstraintDescriptionFinalizable + func priority(priority: Int) -> ConstraintDescriptionFinalizable + func priorityRequired() -> ConstraintDescriptionFinalizable + func priorityHigh() -> ConstraintDescriptionFinalizable + func priorityMedium() -> ConstraintDescriptionFinalizable + func priorityLow() -> ConstraintDescriptionFinalizable +} + +/** + Used to expose multiplier & constant APIs +*/ +public protocol ConstraintDescriptionEditable: ConstraintDescriptionPriortizable { + + func multipliedBy(amount: Float) -> ConstraintDescriptionEditable + func multipliedBy(amount: Double) -> ConstraintDescriptionEditable + func multipliedBy(amount: CGFloat) -> ConstraintDescriptionEditable + func multipliedBy(amount: Int) -> ConstraintDescriptionEditable + func multipliedBy(amount: UInt) -> ConstraintDescriptionEditable + + func dividedBy(amount: Float) -> ConstraintDescriptionEditable + func dividedBy(amount: Double) -> ConstraintDescriptionEditable + func dividedBy(amount: CGFloat) -> ConstraintDescriptionEditable + func dividedBy(amount: Int) -> ConstraintDescriptionEditable + func dividedBy(amount: UInt) -> ConstraintDescriptionEditable + + func offset(amount: Float) -> ConstraintDescriptionEditable + func offset(amount: Double) -> ConstraintDescriptionEditable + func offset(amount: CGFloat) -> ConstraintDescriptionEditable + func offset(amount: Int) -> ConstraintDescriptionEditable + func offset(amount: UInt) -> ConstraintDescriptionEditable + func offset(amount: CGPoint) -> ConstraintDescriptionEditable + func offset(amount: CGSize) -> ConstraintDescriptionEditable + func offset(amount: EdgeInsets) -> ConstraintDescriptionEditable + + func insets(amount: EdgeInsets) -> ConstraintDescriptionEditable +} + +/** + Used to expose relation APIs +*/ +public protocol ConstraintDescriptionRelatable: class { + + func equalTo(other: ConstraintItem) -> ConstraintDescriptionEditable + func equalTo(other: View) -> ConstraintDescriptionEditable + #if os(iOS) + func equalTo(other: UILayoutSupport) -> ConstraintDescriptionEditable + #endif + func equalTo(other: Float) -> ConstraintDescriptionEditable + func equalTo(other: Double) -> ConstraintDescriptionEditable + func equalTo(other: CGFloat) -> ConstraintDescriptionEditable + func equalTo(other: Int) -> ConstraintDescriptionEditable + func equalTo(other: UInt) -> ConstraintDescriptionEditable + func equalTo(other: CGSize) -> ConstraintDescriptionEditable + func equalTo(other: CGPoint) -> ConstraintDescriptionEditable + func equalTo(other: EdgeInsets) -> ConstraintDescriptionEditable + + func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: View) -> ConstraintDescriptionEditable + #if os(iOS) + func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable + #endif + func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable + func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable + + func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionEditable + #if os(iOS) + func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable + #endif + func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable + func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable + +} + +/** + Used to expose chaining APIs +*/ +public protocol ConstraintDescriptionExtendable: ConstraintDescriptionRelatable { + + var left: ConstraintDescriptionExtendable { get } + var top: ConstraintDescriptionExtendable { get } + var bottom: ConstraintDescriptionExtendable { get } + var right: ConstraintDescriptionExtendable { get } + var leading: ConstraintDescriptionExtendable { get } + var trailing: ConstraintDescriptionExtendable { get } + var width: ConstraintDescriptionExtendable { get } + var height: ConstraintDescriptionExtendable { get } + var centerX: ConstraintDescriptionExtendable { get } + var centerY: ConstraintDescriptionExtendable { get } + var baseline: ConstraintDescriptionExtendable { get } + + #if os(iOS) + var firstBaseline: ConstraintDescriptionExtendable { get } + var leftMargin: ConstraintDescriptionExtendable { get } + var rightMargin: ConstraintDescriptionExtendable { get } + var topMargin: ConstraintDescriptionExtendable { get } + var bottomMargin: ConstraintDescriptionExtendable { get } + var leadingMargin: ConstraintDescriptionExtendable { get } + var trailingMargin: ConstraintDescriptionExtendable { get } + var centerXWithinMargins: ConstraintDescriptionExtendable { get } + var centerYWithinMargins: ConstraintDescriptionExtendable { get } + #endif +} + +/** + Used to internally manage building constraint + */ +internal class ConstraintDescription: ConstraintDescriptionExtendable, ConstraintDescriptionEditable, ConstraintDescriptionFinalizable { + + internal var left: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Left) } + internal var top: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Top) } + internal var right: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Right) } + internal var bottom: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Bottom) } + internal var leading: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Leading) } + internal var trailing: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Trailing) } + internal var width: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Width) } + internal var height: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Height) } + internal var centerX: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.CenterX) } + internal var centerY: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.CenterY) } + internal var baseline: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Baseline) } + + #if os(iOS) + internal var firstBaseline: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.FirstBaseline) } + internal var leftMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.LeftMargin) } + internal var rightMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.RightMargin) } + internal var topMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.TopMargin) } + internal var bottomMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.BottomMargin) } + internal var leadingMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.LeadingMargin) } + internal var trailingMargin: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.TrailingMargin) } + internal var centerXWithinMargins: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.CenterXWithinMargins) } + internal var centerYWithinMargins: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.CenterYWithinMargins) } + #endif + + // MARK: initializer + + init(fromItem: ConstraintItem) { + self.fromItem = fromItem + self.toItem = ConstraintItem(object: nil, attributes: ConstraintAttributes.None) + } + + // MARK: equalTo + + internal func equalTo(other: ConstraintItem) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + internal func equalTo(other: View) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + #if os(iOS) + internal func equalTo(other: UILayoutSupport) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + #endif + internal func equalTo(other: Float) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + internal func equalTo(other: Double) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .Equal) + } + internal func equalTo(other: CGFloat) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .Equal) + } + internal func equalTo(other: Int) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .Equal) + } + internal func equalTo(other: UInt) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .Equal) + } + internal func equalTo(other: CGSize) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + internal func equalTo(other: CGPoint) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + internal func equalTo(other: EdgeInsets) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .Equal) + } + + // MARK: lessThanOrEqualTo + + internal func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: View) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + #if os(iOS) + internal func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + #endif + internal func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + internal func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .LessThanOrEqualTo) + } + + // MARK: greaterThanOrEqualTo + + internal func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + #if os(iOS) + internal func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + #endif + internal func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable { + return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + internal func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable { + return self.constrainTo(other, relation: .GreaterThanOrEqualTo) + } + + // MARK: multiplier + + internal func multipliedBy(amount: Float) -> ConstraintDescriptionEditable { + self.multiplier = amount + return self + } + internal func multipliedBy(amount: Double) -> ConstraintDescriptionEditable { + return self.multipliedBy(Float(amount)) + } + internal func multipliedBy(amount: CGFloat) -> ConstraintDescriptionEditable { + return self.multipliedBy(Float(amount)) + } + internal func multipliedBy(amount: Int) -> ConstraintDescriptionEditable { + return self.multipliedBy(Float(amount)) + } + internal func multipliedBy(amount: UInt) -> ConstraintDescriptionEditable { + return self.multipliedBy(Float(amount)) + } + + internal func dividedBy(amount: Float) -> ConstraintDescriptionEditable { + self.multiplier = 1.0 / amount; + return self + } + internal func dividedBy(amount: Double) -> ConstraintDescriptionEditable { + return self.dividedBy(Float(amount)) + } + internal func dividedBy(amount: CGFloat) -> ConstraintDescriptionEditable { + return self.dividedBy(Float(amount)) + } + internal func dividedBy(amount: Int) -> ConstraintDescriptionEditable { + return self.dividedBy(Float(amount)) + } + internal func dividedBy(amount: UInt) -> ConstraintDescriptionEditable { + return self.dividedBy(Float(amount)) + } + + // MARK: offset + + internal func offset(amount: Float) -> ConstraintDescriptionEditable { + self.constant = amount + return self + } + internal func offset(amount: Double) -> ConstraintDescriptionEditable { + return self.offset(Float(amount)) + } + internal func offset(amount: CGFloat) -> ConstraintDescriptionEditable { + return self.offset(Float(amount)) + } + internal func offset(amount: Int) -> ConstraintDescriptionEditable { + return self.offset(Float(amount)) + } + internal func offset(amount: UInt) -> ConstraintDescriptionEditable { + return self.offset(Float(amount)) + } + internal func offset(amount: CGPoint) -> ConstraintDescriptionEditable { + self.constant = amount + return self + } + internal func offset(amount: CGSize) -> ConstraintDescriptionEditable { + self.constant = amount + return self + } + internal func offset(amount: EdgeInsets) -> ConstraintDescriptionEditable { + self.constant = amount + return self + } + + // MARK: insets + + internal func insets(amount: EdgeInsets) -> ConstraintDescriptionEditable { + self.constant = EdgeInsets(top: amount.top, left: amount.left, bottom: -amount.bottom, right: -amount.right) + return self + } + + // MARK: priority + + internal func priority(priority: Float) -> ConstraintDescriptionFinalizable { + self.priority = priority + return self + } + internal func priority(priority: Double) -> ConstraintDescriptionFinalizable { + return self.priority(Float(priority)) + } + internal func priority(priority: CGFloat) -> ConstraintDescriptionFinalizable { + return self.priority(Float(priority)) + } + func priority(priority: UInt) -> ConstraintDescriptionFinalizable { + return self.priority(Float(priority)) + } + internal func priority(priority: Int) -> ConstraintDescriptionFinalizable { + return self.priority(Float(priority)) + } + internal func priorityRequired() -> ConstraintDescriptionFinalizable { + return self.priority(1000.0) + } + internal func priorityHigh() -> ConstraintDescriptionFinalizable { + return self.priority(750.0) + } + internal func priorityMedium() -> ConstraintDescriptionFinalizable { + #if os(iOS) + return self.priority(500.0) + #else + return self.priority(501.0) + #endif + } + internal func priorityLow() -> ConstraintDescriptionFinalizable { + return self.priority(250.0) + } + + // MARK: Constraint + + internal var constraint: Constraint { + if self.concreteConstraint == nil { + if self.relation == nil { + fatalError("Attempting to create a constraint from a ConstraintDescription before it has been fully chained.") + } + self.concreteConstraint = ConcreteConstraint( + fromItem: self.fromItem, + toItem: self.toItem, + relation: self.relation!, + constant: self.constant, + multiplier: self.multiplier, + priority: self.priority) + } + return self.concreteConstraint! + } + + // MARK: Private + + private let fromItem: ConstraintItem + private var toItem: ConstraintItem { + willSet { + if self.concreteConstraint != nil { + fatalError("Attempting to modify a ConstraintDescription after its constraint has been created.") + } + } + } + private var relation: ConstraintRelation? { + willSet { + if self.concreteConstraint != nil { + fatalError("Attempting to modify a ConstraintDescription after its constraint has been created.") + } + } + } + private var constant: Any = Float(0.0) { + willSet { + if self.concreteConstraint != nil { + fatalError("Attempting to modify a ConstraintDescription after its constraint has been created.") + } + } + } + private var multiplier: Float = 1.0 { + willSet { + if self.concreteConstraint != nil { + fatalError("Attempting to modify a ConstraintDescription after its constraint has been created.") + } + } + } + private var priority: Float = 1000.0 { + willSet { + if self.concreteConstraint != nil { + fatalError("Attempting to modify a ConstraintDescription after its constraint has been created.") + } + } + } + private var concreteConstraint: ConcreteConstraint? = nil + + private func addConstraint(attributes: ConstraintAttributes) -> ConstraintDescription { + if self.relation == nil { + self.fromItem.attributes += attributes + } + return self + } + + private func constrainTo(other: ConstraintItem, relation: ConstraintRelation) -> ConstraintDescription { + if other.attributes != ConstraintAttributes.None { + let toLayoutAttributes = other.attributes.layoutAttributes + if toLayoutAttributes.count > 1 { + let fromLayoutAttributes = self.fromItem.attributes.layoutAttributes + if toLayoutAttributes != fromLayoutAttributes { + NSException(name: "Invalid Constraint", reason: "Cannot constrain to multiple non identical attributes", userInfo: nil).raise() + return self + } + other.attributes = ConstraintAttributes.None + } + } + self.toItem = other + self.relation = relation + return self + } + + private func constrainTo(other: View, relation: ConstraintRelation) -> ConstraintDescription { + return constrainTo(ConstraintItem(object: other, attributes: ConstraintAttributes.None), relation: relation) + } + + #if os(iOS) + + private func constrainTo(other: UILayoutSupport, relation: ConstraintRelation) -> ConstraintDescription { + return constrainTo(ConstraintItem(object: other, attributes: ConstraintAttributes.None), relation: relation) + } + + #endif + + private func constrainTo(other: Float, relation: ConstraintRelation) -> ConstraintDescription { + self.constant = other + return constrainTo(ConstraintItem(object: nil, attributes: ConstraintAttributes.None), relation: relation) + } + + private func constrainTo(other: Double, relation: ConstraintRelation) -> ConstraintDescription { + self.constant = other + return constrainTo(ConstraintItem(object: nil, attributes: ConstraintAttributes.None), relation: relation) + } + + private func constrainTo(other: CGSize, relation: ConstraintRelation) -> ConstraintDescription { + self.constant = other + return constrainTo(ConstraintItem(object: nil, attributes: ConstraintAttributes.None), relation: relation) + } + + private func constrainTo(other: CGPoint, relation: ConstraintRelation) -> ConstraintDescription { + self.constant = other + return constrainTo(ConstraintItem(object: nil, attributes: ConstraintAttributes.None), relation: relation) + } + + private func constrainTo(other: EdgeInsets, relation: ConstraintRelation) -> ConstraintDescription { + self.constant = other + return constrainTo(ConstraintItem(object: nil, attributes: ConstraintAttributes.None), relation: relation) + } +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/ConstraintItem.swift b/Example/Pods/SnapKit/Source/ConstraintItem.swift new file mode 100644 index 0000000..9dcfe11 --- /dev/null +++ b/Example/Pods/SnapKit/Source/ConstraintItem.swift @@ -0,0 +1,71 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to assist in building a constraint +*/ +public class ConstraintItem { + + internal init(object: AnyObject?, attributes: ConstraintAttributes) { + self.object = object + self.attributes = attributes + } + + internal weak var object: AnyObject? + internal var attributes: ConstraintAttributes + + internal var view: View? { + return self.object as? View + } + + #if os(iOS) + + internal var layoutSupport: UILayoutSupport? { + return self.object as? UILayoutSupport + } + + #endif +} + + +internal func ==(left: ConstraintItem, right: ConstraintItem) -> Bool { + if left.object == nil { + return false + } + if right.object == nil { + return false + } + if left.object !== right.object { + return false + } + if left.attributes != right.attributes { + return false + } + return true +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/ConstraintMaker.swift b/Example/Pods/SnapKit/Source/ConstraintMaker.swift new file mode 100644 index 0000000..746c49f --- /dev/null +++ b/Example/Pods/SnapKit/Source/ConstraintMaker.swift @@ -0,0 +1,190 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to make constraints +*/ +public class ConstraintMaker { + + /// left edge + public var left: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Left) } + + /// top edge + public var top: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Top) } + + /// right edge + public var right: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Right) } + + /// bottom edge + public var bottom: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Bottom) } + + /// leading edge + public var leading: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Leading) } + + /// trailing edge + public var trailing: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Trailing) } + + /// width dimension + public var width: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Width) } + + /// height dimension + public var height: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Height) } + + /// centerX dimension + public var centerX: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.CenterX) } + + /// centerY dimension + public var centerY: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.CenterY) } + + /// baseline position + public var baseline: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Baseline) } + + #if os(iOS) + + /// firse baseline position + public var firstBaseline: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.FirstBaseline) } + + /// left margin + public var leftMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.LeftMargin) } + + /// right margin + public var rightMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.RightMargin) } + + /// top margin + public var topMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.TopMargin) } + + /// bottom margin + public var bottomMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.BottomMargin) } + + /// leading margin + public var leadingMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.LeadingMargin) } + + /// trailing margin + public var trailingMargin: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.TrailingMargin) } + + /// centerX within margins + public var centerXWithinMargins: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.CenterXWithinMargins) } + + /// centerY within margins + public var centerYWithinMargins: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.CenterYWithinMargins) } + + #endif + + /// top + left + bottom + right edges + public var edges: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Edges) } + + /// width + height dimensions + public var size: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Size) } + + // centerX + centerY positions + public var center: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Center) } + + #if os(iOS) + + // top + left + bottom + right margins + public var margins: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.Margins) } + + // centerX + centerY within margins + public var centerWithinMargins: ConstraintDescriptionExtendable { return self.makeConstraintDescription(ConstraintAttributes.CenterWithinMargins) } + + #endif + + internal init(view: View) { + self.view = view + } + + internal let view: View + internal var constraintDescriptions = [ConstraintDescription]() + + internal func makeConstraintDescription(attributes: ConstraintAttributes) -> ConstraintDescription { + let item = ConstraintItem(object: self.view, attributes: attributes) + let constraintDescription = ConstraintDescription(fromItem: item) + self.constraintDescriptions.append(constraintDescription) + return constraintDescription + } + + internal class func prepareConstraints(view: View, @noescape closure: (make: ConstraintMaker) -> Void) -> [Constraint] { + let maker = ConstraintMaker(view: view) + closure(make: maker) + + return maker.constraintDescriptions.map { $0.constraint } + } + + internal class func makeConstraints(view: View, @noescape closure: (make: ConstraintMaker) -> Void) { + #if os(iOS) + view.setTranslatesAutoresizingMaskIntoConstraints(false) + #else + view.translatesAutoresizingMaskIntoConstraints = false + #endif + let maker = ConstraintMaker(view: view) + closure(make: maker) + + let constraints = maker.constraintDescriptions.map { $0.constraint as! ConcreteConstraint } + for constraint in constraints { + constraint.installOnView(updateExisting: false) + } + } + + internal class func remakeConstraints(view: View, @noescape closure: (make: ConstraintMaker) -> Void) { + #if os(iOS) + view.setTranslatesAutoresizingMaskIntoConstraints(false) + #else + view.translatesAutoresizingMaskIntoConstraints = false + #endif + let maker = ConstraintMaker(view: view) + closure(make: maker) + + self.removeConstraints(view) + let constraints = maker.constraintDescriptions.map { $0.constraint as! ConcreteConstraint } + for constraint in constraints { + constraint.installOnView(updateExisting: false) + } + } + + internal class func updateConstraints(view: View, @noescape closure: (make: ConstraintMaker) -> Void) { + #if os(iOS) + view.setTranslatesAutoresizingMaskIntoConstraints(false) + #else + view.translatesAutoresizingMaskIntoConstraints = false + #endif + let maker = ConstraintMaker(view: view) + closure(make: maker) + + let constraints = maker.constraintDescriptions.map { $0.constraint as! ConcreteConstraint} + for constraint in constraints { + constraint.installOnView(updateExisting: true) + } + } + + internal class func removeConstraints(view: View) { + for existingLayoutConstraint in view.snp_installedLayoutConstraints { + existingLayoutConstraint.snp_constraint?.uninstall() + } + } +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/ConstraintRelation.swift b/Example/Pods/SnapKit/Source/ConstraintRelation.swift new file mode 100644 index 0000000..0475e02 --- /dev/null +++ b/Example/Pods/SnapKit/Source/ConstraintRelation.swift @@ -0,0 +1,48 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to define `NSLayoutRelation` +*/ +internal enum ConstraintRelation: Int { + case Equal = 1, LessThanOrEqualTo, GreaterThanOrEqualTo + + internal var layoutRelation: NSLayoutRelation { + get { + switch(self) { + case .LessThanOrEqualTo: + return .LessThanOrEqual + case .GreaterThanOrEqualTo: + return .GreaterThanOrEqual + default: + return .Equal + } + } + } +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/Debugging.swift b/Example/Pods/SnapKit/Source/Debugging.swift new file mode 100644 index 0000000..8a96a74 --- /dev/null +++ b/Example/Pods/SnapKit/Source/Debugging.swift @@ -0,0 +1,175 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to allow adding a snp_label to a View for debugging purposes +*/ +public extension View { + + public var snp_label: String? { + get { + return objc_getAssociatedObject(self, &labelKey) as? String + } + set { + objc_setAssociatedObject(self, &labelKey, newValue, objc_AssociationPolicy(OBJC_ASSOCIATION_COPY_NONATOMIC)) + } + } + +} + +/** + Used to allow adding a snp_label to a LayoutConstraint for debugging purposes +*/ +public extension LayoutConstraint { + + public var snp_label: String? { + get { + return objc_getAssociatedObject(self, &labelKey) as? String + } + set { + objc_setAssociatedObject(self, &labelKey, newValue, objc_AssociationPolicy(OBJC_ASSOCIATION_COPY_NONATOMIC)) + } + } + + override public var description: String { + var description = "<" + + description += descriptionForObject(self) + + description += " \(descriptionForObject(self.firstItem))" + if self.firstAttribute != .NotAnAttribute { + description += ".\(self.firstAttribute.snp_description)" + } + + description += " \(self.relation.snp_description)" + + if let secondItem: AnyObject = self.secondItem { + description += " \(descriptionForObject(secondItem))" + } + + if self.secondAttribute != .NotAnAttribute { + description += ".\(self.secondAttribute.snp_description)" + } + + if self.multiplier != 1.0 { + description += " * \(self.multiplier)" + } + + if self.secondAttribute == .NotAnAttribute { + description += " \(self.constant)" + } else { + if self.constant > 0.0 { + description += " + \(self.constant)" + } else if self.constant < 0.0 { + description += " - \(CGFloat.abs(self.constant))" + } + } + + if self.priority != 1000.0 { + description += " ^\(self.priority)" + } + + description += ">" + + return description + } + +} + +private var labelKey = "" + +private func descriptionForObject(object: AnyObject) -> String { + let pointerDescription = NSString(format: "%p", [object]) + if let object = object as? View { + return "<\(object.dynamicType):\(object.snp_label ?? pointerDescription)>" + } else if let object = object as? LayoutConstraint { + return "<\(object.dynamicType):\(object.snp_label ?? pointerDescription)>" + } + return "<\(object.dynamicType):\(pointerDescription)>" +} + +private extension NSLayoutRelation { + + private var snp_description: String { + switch self { + case .Equal: return "==" + case .GreaterThanOrEqual: return ">=" + case .LessThanOrEqual: return "<=" + } + } + +} + +private extension NSLayoutAttribute { + + private var snp_description: String { + #if os(iOS) + switch self { + case .NotAnAttribute: return "notAnAttribute" + case .Top: return "top" + case .Left: return "left" + case .Bottom: return "bottom" + case .Right: return "right" + case .Leading: return "leading" + case .Trailing: return "trailing" + case .Width: return "width" + case .Height: return "height" + case .CenterX: return "centerX" + case .CenterY: return "centerY" + case .Baseline: return "baseline" + case .FirstBaseline: return "firstBaseline" + case .TopMargin: return "topMargin" + case .LeftMargin: return "leftMargin" + case .BottomMargin: return "bottomMargin" + case .RightMargin: return "rightMargin" + case .LeadingMargin: return "leadingMargin" + case .TrailingMargin: return "trailingMargin" + case .CenterXWithinMargins: return "centerXWithinMargins" + case .CenterYWithinMargins: return "centerYWithinMargins" + } + #else + switch self { + case .NotAnAttribute: return "notAnAttribute" + case .Top: return "top" + case .Left: return "left" + case .Bottom: return "bottom" + case .Right: return "right" + case .Leading: return "leading" + case .Trailing: return "trailing" + case .Width: return "width" + case .Height: return "height" + case .CenterX: return "centerX" + case .CenterY: return "centerY" + case .Baseline: return "baseline" + } + #endif + + } + +} diff --git a/Example/Pods/SnapKit/Source/EdgeInsets.swift b/Example/Pods/SnapKit/Source/EdgeInsets.swift new file mode 100644 index 0000000..cd446be --- /dev/null +++ b/Example/Pods/SnapKit/Source/EdgeInsets.swift @@ -0,0 +1,38 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +public typealias EdgeInsets = UIEdgeInsets +public func EdgeInsetsMake(top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat) -> EdgeInsets { + return EdgeInsets(top: top, left: left, bottom: bottom, right: right) +} +public let EdgeInsetsZero = EdgeInsets(top: 0, left: 0, bottom: 0, right: 0) +#else +import AppKit +public typealias EdgeInsets = NSEdgeInsets +public func EdgeInsetsMake(top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat) -> EdgeInsets { + return EdgeInsets(top: top, left: left, bottom: bottom, right: right) +} +public let EdgeInsetsZero = EdgeInsets(top: 0, left: 0, bottom: 0, right: 0) +#endif diff --git a/Example/Pods/SnapKit/Source/LayoutConstraint.swift b/Example/Pods/SnapKit/Source/LayoutConstraint.swift new file mode 100644 index 0000000..f6e3e20 --- /dev/null +++ b/Example/Pods/SnapKit/Source/LayoutConstraint.swift @@ -0,0 +1,63 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +#else +import AppKit +#endif + +/** + Used to add extra information to the actual `NSLayoutConstraint`'s that will UIKit/AppKit will utilize +*/ +public class LayoutConstraint: NSLayoutConstraint { + + internal var snp_constraint: Constraint? = nil + +} + +internal func ==(left: LayoutConstraint, right: LayoutConstraint) -> Bool { + if left.firstItem !== right.firstItem { + return false + } + if left.secondItem !== right.secondItem { + return false + } + if left.firstAttribute != right.firstAttribute { + return false + } + if left.secondAttribute != right.secondAttribute { + return false + } + if left.relation != right.relation { + return false + } + if left.priority != right.priority { + return false + } + if left.multiplier != right.multiplier { + return false + } + return true +} + diff --git a/Example/Pods/SnapKit/Source/SnapKit.swift b/Example/Pods/SnapKit/Source/SnapKit.swift new file mode 100644 index 0000000..cf573dc --- /dev/null +++ b/Example/Pods/SnapKit/Source/SnapKit.swift @@ -0,0 +1,40 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +public typealias InterfaceLayoutDirection = UIUserInterfaceLayoutDirection +#else +import AppKit +public typealias InterfaceLayoutDirection = NSUserInterfaceLayoutDirection +#endif + +/** + Used to configure different parts of SnapKit +*/ +public struct Config { + + /// The interface layout direction + public static var interfaceLayoutDirection = InterfaceLayoutDirection.LeftToRight + +} \ No newline at end of file diff --git a/Example/Pods/SnapKit/Source/View+SnapKit.swift b/Example/Pods/SnapKit/Source/View+SnapKit.swift new file mode 100644 index 0000000..5141879 --- /dev/null +++ b/Example/Pods/SnapKit/Source/View+SnapKit.swift @@ -0,0 +1,180 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +public typealias View = UIView +#else +import AppKit +public typealias View = NSView +#endif + +/** + Used to expose public API on views +*/ +public extension View { + + /// left edge + public var snp_left: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Left) } + + /// top edge + public var snp_top: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Top) } + + /// right edge + public var snp_right: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Right) } + + /// bottom edge + public var snp_bottom: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Bottom) } + + /// leading edge + public var snp_leading: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Leading) } + + /// trailing edge + public var snp_trailing: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Trailing) } + + /// width dimension + public var snp_width: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Width) } + + /// height dimension + public var snp_height: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Height) } + + /// centerX position + public var snp_centerX: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.CenterX) } + + /// centerY position + public var snp_centerY: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.CenterY) } + + /// baseline position + public var snp_baseline: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Baseline) } + + #if os(iOS) + + /// first baseline position + public var snp_firstBaseline: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.FirstBaseline) } + + /// left margin + public var snp_leftMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.LeftMargin) } + + /// right margin + public var snp_rightMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.RightMargin) } + + /// top margin + public var snp_topMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.TopMargin) } + + /// bottom margin + public var snp_bottomMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.BottomMargin) } + + /// leading margin + public var snp_leadingMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.LeadingMargin) } + + /// trailing margin + public var snp_trailingMargin: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.TrailingMargin) } + + /// centerX within margins + public var snp_centerXWithinMargins: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.CenterXWithinMargins) } + + /// centerY within margins + public var snp_centerYWithinMargins: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.CenterYWithinMargins) } + + #endif + + // top + left + bottom + right edges + public var snp_edges: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Edges) } + + // width + height dimensions + public var snp_size: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Size) } + + // centerX + centerY positions + public var snp_center: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Center) } + + #if os(iOS) + + // top + left + bottom + right margins + public var snp_margins: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.Margins) } + + // centerX + centerY within margins + public var snp_centerWithinMargins: ConstraintItem { return ConstraintItem(object: self, attributes: ConstraintAttributes.CenterWithinMargins) } + + #endif + + /** + Prepares constraints with a `ConstraintMaker` and returns the made constraints but does not install them. + + :param: closure that will be passed the `ConstraintMaker` to make the constraints with + + :returns: the constraints made + */ + public func snp_prepareConstraints(@noescape closure: (make: ConstraintMaker) -> Void) -> [Constraint] { + return ConstraintMaker.prepareConstraints(self, closure: closure) + } + + /** + Makes constraints with a `ConstraintMaker` and installs them along side any previous made constraints. + + :param: closure that will be passed the `ConstraintMaker` to make the constraints with + */ + public func snp_makeConstraints(@noescape closure: (make: ConstraintMaker) -> Void) -> Void { + ConstraintMaker.makeConstraints(self, closure: closure) + } + + /** + Updates constraints with a `ConstraintMaker` that will replace existing constraints that match and install new ones. + + For constraints to match only the constant can be updated. + + :param: closure that will be passed the `ConstraintMaker` to update the constraints with + */ + public func snp_updateConstraints(@noescape closure: (make: ConstraintMaker) -> Void) -> Void { + ConstraintMaker.updateConstraints(self, closure: closure) + } + + /** + Remakes constraints with a `ConstraintMaker` that will first remove all previously made constraints and make and install new ones. + + :param: closure that will be passed the `ConstraintMaker` to remake the constraints with + */ + public func snp_remakeConstraints(@noescape closure: (make: ConstraintMaker) -> Void) -> Void { + ConstraintMaker.remakeConstraints(self, closure: closure) + } + + /** + Removes all previously made constraints. + */ + public func snp_removeConstraints() { + ConstraintMaker.removeConstraints(self) + } + + internal var snp_installedLayoutConstraints: [LayoutConstraint] { + get { + if let constraints = objc_getAssociatedObject(self, &installedLayoutConstraintsKey) as? [LayoutConstraint] { + return constraints + } + return [] + } + set { + objc_setAssociatedObject(self, &installedLayoutConstraintsKey, newValue, UInt(OBJC_ASSOCIATION_RETAIN_NONATOMIC)) + } + } +} + +private var installedLayoutConstraintsKey = "" diff --git a/Example/Pods/SnapKit/Source/ViewController+SnapKit.swift b/Example/Pods/SnapKit/Source/ViewController+SnapKit.swift new file mode 100644 index 0000000..d7d2bef --- /dev/null +++ b/Example/Pods/SnapKit/Source/ViewController+SnapKit.swift @@ -0,0 +1,46 @@ +// +// SnapKit +// +// Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#if os(iOS) +import UIKit +public typealias ViewController = UIViewController + +/** + Used to expose public API on view controllers +*/ +public extension UIViewController { + + /// top layout guide top + public var snp_topLayoutGuideTop: ConstraintItem { return ConstraintItem(object: self.topLayoutGuide, attributes: ConstraintAttributes.Top) } + + /// top layout guide bottom + public var snp_topLayoutGuideBottom: ConstraintItem { return ConstraintItem(object: self.topLayoutGuide, attributes: ConstraintAttributes.Bottom) } + + /// bottom layout guide top + public var snp_bottomLayoutGuideTop: ConstraintItem { return ConstraintItem(object: self.bottomLayoutGuide, attributes: ConstraintAttributes.Top) } + + /// bottom layout guide bottom + public var snp_bottomLayoutGuideBottom: ConstraintItem { return ConstraintItem(object: self.bottomLayoutGuide, attributes: ConstraintAttributes.Bottom) } + +} +#endif diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-Private.xcconfig b/Example/Pods/Target Support Files/Expecta/Expecta-Private.xcconfig similarity index 51% rename from Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-Private.xcconfig rename to Example/Pods/Target Support Files/Expecta/Expecta-Private.xcconfig index 4a1961b..b3af4ff 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-Private.xcconfig +++ b/Example/Pods/Target Support Files/Expecta/Expecta-Private.xcconfig @@ -1,7 +1,7 @@ -#include "Pods-JazzHandsTests-Expecta.xcconfig" -FRAMEWORK_SEARCH_PATHS = ${PODS_JAZZHANDSTESTS_EXPECTA_FRAMEWORK_SEARCH_PATHS} +#include "Expecta.xcconfig" +FRAMEWORK_SEARCH_PATHS = ${EXPECTA_FRAMEWORK_SEARCH_PATHS} GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = ${PODS_JAZZHANDSTESTS_EXPECTA_OTHER_LDFLAGS} -ObjC +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = ${EXPECTA_OTHER_LDFLAGS} PODS_ROOT = ${SRCROOT} SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Expecta/Expecta-dummy.m b/Example/Pods/Target Support Files/Expecta/Expecta-dummy.m new file mode 100644 index 0000000..c4c252a --- /dev/null +++ b/Example/Pods/Target Support Files/Expecta/Expecta-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Expecta : NSObject +@end +@implementation PodsDummy_Expecta +@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch b/Example/Pods/Target Support Files/Expecta/Expecta-prefix.pch similarity index 52% rename from Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch rename to Example/Pods/Target Support Files/Expecta/Expecta-prefix.pch index 7f3adb4..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-prefix.pch +++ b/Example/Pods/Target Support Files/Expecta/Expecta-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-JazzHandsDemo-environment.h" diff --git a/Example/Pods/Target Support Files/Expecta/Expecta.xcconfig b/Example/Pods/Target Support Files/Expecta/Expecta.xcconfig new file mode 100644 index 0000000..49dbb3e --- /dev/null +++ b/Example/Pods/Target Support Files/Expecta/Expecta.xcconfig @@ -0,0 +1,2 @@ +EXPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" +EXPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-Private.xcconfig b/Example/Pods/Target Support Files/JazzHands/JazzHands-Private.xcconfig similarity index 59% rename from Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-Private.xcconfig rename to Example/Pods/Target Support Files/JazzHands/JazzHands-Private.xcconfig index 09ae130..faf9d67 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-Private.xcconfig +++ b/Example/Pods/Target Support Files/JazzHands/JazzHands-Private.xcconfig @@ -1,6 +1,6 @@ -#include "Pods-JazzHandsDemo-JazzHands.xcconfig" +#include "JazzHands.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JazzHands" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = ${PODS_JAZZHANDSDEMO_JAZZHANDS_OTHER_LDFLAGS} -ObjC +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JazzHands" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = ${JAZZHANDS_OTHER_LDFLAGS} PODS_ROOT = ${SRCROOT} SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/JazzHands/JazzHands-dummy.m b/Example/Pods/Target Support Files/JazzHands/JazzHands-dummy.m new file mode 100644 index 0000000..b9e0e1b --- /dev/null +++ b/Example/Pods/Target Support Files/JazzHands/JazzHands-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_JazzHands : NSObject +@end +@implementation PodsDummy_JazzHands +@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch b/Example/Pods/Target Support Files/JazzHands/JazzHands-prefix.pch similarity index 52% rename from Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch rename to Example/Pods/Target Support Files/JazzHands/JazzHands-prefix.pch index 62ca51c..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-prefix.pch +++ b/Example/Pods/Target Support Files/JazzHands/JazzHands-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-JazzHandsTests-environment.h" diff --git a/Example/Pods/Target Support Files/JazzHands/JazzHands.xcconfig b/Example/Pods/Target Support Files/JazzHands/JazzHands.xcconfig new file mode 100644 index 0000000..d976122 --- /dev/null +++ b/Example/Pods/Target Support Files/JazzHands/JazzHands.xcconfig @@ -0,0 +1 @@ +JAZZHANDS_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Masonry/Masonry-Private.xcconfig b/Example/Pods/Target Support Files/Masonry/Masonry-Private.xcconfig new file mode 100644 index 0000000..7c97ac9 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry-Private.xcconfig @@ -0,0 +1,6 @@ +#include "Masonry.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = ${MASONRY_OTHER_LDFLAGS} +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m b/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m new file mode 100644 index 0000000..04001b1 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Masonry : NSObject +@end +@implementation PodsDummy_Masonry +@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch b/Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch similarity index 52% rename from Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch rename to Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch index 62ca51c..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-prefix.pch +++ b/Example/Pods/Target Support Files/Masonry/Masonry-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-JazzHandsTests-environment.h" diff --git a/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig b/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig new file mode 100644 index 0000000..1dec668 --- /dev/null +++ b/Example/Pods/Target Support Files/Masonry/Masonry.xcconfig @@ -0,0 +1 @@ +MASONRY_OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-dummy.m b/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-dummy.m deleted file mode 100644 index 26de6fd..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_JazzHandsDemo_JazzHands : NSObject -@end -@implementation PodsDummy_Pods_JazzHandsDemo_JazzHands -@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands.xcconfig deleted file mode 100644 index 3723825..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo-JazzHands/Pods-JazzHandsDemo-JazzHands.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_JAZZHANDSDEMO_JAZZHANDS_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.markdown index f835b56..c005a66 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.markdown @@ -24,4 +24,26 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## Masonry + +Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.plist index b6fdbe7..a12bb13 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-acknowledgements.plist @@ -40,6 +40,32 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Type PSGroupSpecifier + + FooterText + Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + Title + Masonry + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-environment.h b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-environment.h deleted file mode 100644 index b058271..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// JazzHands -#define COCOAPODS_POD_AVAILABLE_JazzHands -#define COCOAPODS_VERSION_MAJOR_JazzHands 2 -#define COCOAPODS_VERSION_MINOR_JazzHands 0 -#define COCOAPODS_VERSION_PATCH_JazzHands 2 - diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.debug.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.debug.xcconfig index 88216ea..744d05a 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.debug.xcconfig @@ -1,6 +1,5 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-JazzHandsDemo-JazzHands" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = $(inherited) -ObjC -l"JazzHands" -l"Masonry" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.release.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.release.xcconfig index 88216ea..744d05a 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-JazzHandsDemo/Pods-JazzHandsDemo.release.xcconfig @@ -1,6 +1,5 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-JazzHandsDemo-JazzHands" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = $(inherited) -ObjC -l"JazzHands" -l"Masonry" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-dummy.m b/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-dummy.m deleted file mode 100644 index 9e4819f..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_JazzHandsTests_Expecta : NSObject -@end -@implementation PodsDummy_Pods_JazzHandsTests_Expecta -@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta.xcconfig deleted file mode 100644 index 30e681d..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Expecta/Pods-JazzHandsTests-Expecta.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -PODS_JAZZHANDSTESTS_EXPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" -PODS_JAZZHANDSTESTS_EXPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-Private.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-Private.xcconfig deleted file mode 100644 index a1d40b6..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-Private.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -#include "Pods-JazzHandsTests-JazzHands.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JazzHands" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = ${PODS_JAZZHANDSTESTS_JAZZHANDS_OTHER_LDFLAGS} -ObjC -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-dummy.m b/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-dummy.m deleted file mode 100644 index 27b982a..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_JazzHandsTests_JazzHands : NSObject -@end -@implementation PodsDummy_Pods_JazzHandsTests_JazzHands -@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands.xcconfig deleted file mode 100644 index 21d9097..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-JazzHands/Pods-JazzHandsTests-JazzHands.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_JAZZHANDSTESTS_JAZZHANDS_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-dummy.m b/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-dummy.m deleted file mode 100644 index 69c8b1e..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_JazzHandsTests_Specta : NSObject -@end -@implementation PodsDummy_Pods_JazzHandsTests_Specta -@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta.xcconfig deleted file mode 100644 index 64b4636..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -PODS_JAZZHANDSTESTS_SPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" -PODS_JAZZHANDSTESTS_SPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.markdown index 727efeb..3bf8263 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.markdown @@ -1,9 +1,33 @@ # Acknowledgements This application makes use of the following third party libraries: -## Expecta +## JazzHands -Copyright (c) 2011-2015 Specta Team - https://github.com/specta +Copyright (c) 2015 IFTTT Inc + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## Masonry + +Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23,29 +47,27 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## Expecta -## JazzHands - -Copyright (c) 2015 IFTTT Inc +Copyright (c) 2011-2015 Specta Team - https://github.com/specta -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ## Specta diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.plist index 75ed241..e5aa0ee 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-acknowledgements.plist @@ -14,7 +14,35 @@ FooterText - Copyright (c) 2011-2015 Specta Team - https://github.com/specta + Copyright (c) 2015 IFTTT Inc + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Title + JazzHands + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32,38 +60,36 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - +THE SOFTWARE. Title - Expecta + Masonry Type PSGroupSpecifier FooterText - Copyright (c) 2015 IFTTT Inc + Copyright (c) 2011-2015 Specta Team - https://github.com/specta -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. Title - JazzHands + Expecta Type PSGroupSpecifier diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-environment.h b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-environment.h deleted file mode 100644 index 7e5d1ed..0000000 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests-environment.h +++ /dev/null @@ -1,26 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// Expecta -#define COCOAPODS_POD_AVAILABLE_Expecta -#define COCOAPODS_VERSION_MAJOR_Expecta 1 -#define COCOAPODS_VERSION_MINOR_Expecta 0 -#define COCOAPODS_VERSION_PATCH_Expecta 0 - -// JazzHands -#define COCOAPODS_POD_AVAILABLE_JazzHands -#define COCOAPODS_VERSION_MAJOR_JazzHands 2 -#define COCOAPODS_VERSION_MINOR_JazzHands 0 -#define COCOAPODS_VERSION_PATCH_JazzHands 2 - -// Specta -#define COCOAPODS_POD_AVAILABLE_Specta -#define COCOAPODS_VERSION_MAJOR_Specta 1 -#define COCOAPODS_VERSION_MINOR_Specta 0 -#define COCOAPODS_VERSION_PATCH_Specta 2 - diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.debug.xcconfig index 2d8d55f..4af31ee 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.debug.xcconfig @@ -1,7 +1,6 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-JazzHandsTests-Expecta" -l"Pods-JazzHandsTests-JazzHands" -l"Pods-JazzHandsTests-Specta" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"JazzHands" -l"Masonry" -l"Specta" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.release.xcconfig b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.release.xcconfig index 2d8d55f..4af31ee 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-JazzHandsTests/Pods-JazzHandsTests.release.xcconfig @@ -1,7 +1,6 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-JazzHandsTests-Expecta" -l"Pods-JazzHandsTests-JazzHands" -l"Pods-JazzHandsTests-Specta" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"JazzHands" -l"Masonry" -l"Specta" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-Private.xcconfig b/Example/Pods/Target Support Files/Specta/Specta-Private.xcconfig similarity index 51% rename from Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-Private.xcconfig rename to Example/Pods/Target Support Files/Specta/Specta-Private.xcconfig index bfffd07..20d5571 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-Private.xcconfig +++ b/Example/Pods/Target Support Files/Specta/Specta-Private.xcconfig @@ -1,7 +1,7 @@ -#include "Pods-JazzHandsTests-Specta.xcconfig" -FRAMEWORK_SEARCH_PATHS = ${PODS_JAZZHANDSTESTS_SPECTA_FRAMEWORK_SEARCH_PATHS} +#include "Specta.xcconfig" +FRAMEWORK_SEARCH_PATHS = ${SPECTA_FRAMEWORK_SEARCH_PATHS} GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Specta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Specta" -OTHER_LDFLAGS = ${PODS_JAZZHANDSTESTS_SPECTA_OTHER_LDFLAGS} -ObjC +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Specta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Specta" +OTHER_LDFLAGS = ${SPECTA_OTHER_LDFLAGS} PODS_ROOT = ${SRCROOT} SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Specta/Specta-dummy.m b/Example/Pods/Target Support Files/Specta/Specta-dummy.m new file mode 100644 index 0000000..fdae423 --- /dev/null +++ b/Example/Pods/Target Support Files/Specta/Specta-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Specta : NSObject +@end +@implementation PodsDummy_Specta +@end diff --git a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch b/Example/Pods/Target Support Files/Specta/Specta-prefix.pch similarity index 52% rename from Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch rename to Example/Pods/Target Support Files/Specta/Specta-prefix.pch index 62ca51c..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-JazzHandsTests-Specta/Pods-JazzHandsTests-Specta-prefix.pch +++ b/Example/Pods/Target Support Files/Specta/Specta-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-JazzHandsTests-environment.h" diff --git a/Example/Pods/Target Support Files/Specta/Specta.xcconfig b/Example/Pods/Target Support Files/Specta/Specta.xcconfig new file mode 100644 index 0000000..3350c61 --- /dev/null +++ b/Example/Pods/Target Support Files/Specta/Specta.xcconfig @@ -0,0 +1,2 @@ +SPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" +SPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" \ No newline at end of file diff --git a/JazzHands.podspec b/JazzHands.podspec index 6ca57c9..8cf239f 100644 --- a/JazzHands.podspec +++ b/JazzHands.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'JazzHands' - s.version = '2.0.2' + s.version = '2.0.3' s.summary = 'Simple keyframe animations for scrolling intros.' s.homepage = 'https://github.com/IFTTT/JazzHands' s.author = { diff --git a/JazzHands/IFTTTAnimatedPagingScrollViewController.h b/JazzHands/IFTTTAnimatedPagingScrollViewController.h index 21addd2..4608c6a 100644 --- a/JazzHands/IFTTTAnimatedPagingScrollViewController.h +++ b/JazzHands/IFTTTAnimatedPagingScrollViewController.h @@ -7,6 +7,7 @@ // #import +#import "IFTTTScrollViewPageConstraintAnimation.h" @class IFTTTAnimator; @interface IFTTTAnimatedPagingScrollViewController : UIViewController @@ -14,16 +15,22 @@ @property (nonatomic, strong) IFTTTAnimator *animator; @property (nonatomic, strong) UIScrollView *scrollView; @property (nonatomic, strong) UIView *contentView; -@property (nonatomic, assign) NSUInteger numberOfPages; +- (NSUInteger)numberOfPages; - (CGFloat)pageWidth; - (CGFloat)pageOffset; - (void)animateCurrentFrame; - (CGFloat)centerXMultiplierForPage:(CGFloat)page; +- (CGFloat)leftMultiplierForPage:(CGFloat)page; +- (CGFloat)rightMultiplierForPage:(CGFloat)page; +- (CGFloat)multiplierForPage:(CGFloat)page withAttribute:(IFTTTHorizontalPositionAttribute)attribute; - (void)keepView:(UIView *)view onPage:(CGFloat)page; - (void)keepView:(UIView *)view onPages:(NSArray *)pages; - (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)times; +- (void)keepView:(UIView *)view onPage:(CGFloat)page withAttribute:(IFTTTHorizontalPositionAttribute)attribute; +- (void)keepView:(UIView *)view onPages:(NSArray *)pages withAttribute:(IFTTTHorizontalPositionAttribute)attribute; +- (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)times withAttribute:(IFTTTHorizontalPositionAttribute)attribute; @end diff --git a/JazzHands/IFTTTAnimatedPagingScrollViewController.m b/JazzHands/IFTTTAnimatedPagingScrollViewController.m index c0b26bc..68f27ac 100644 --- a/JazzHands/IFTTTAnimatedPagingScrollViewController.m +++ b/JazzHands/IFTTTAnimatedPagingScrollViewController.m @@ -48,7 +48,11 @@ - (void)commonInit _animator = [IFTTTAnimator new]; _scrollView = [UIScrollView new]; _contentView = [UIView new]; - _numberOfPages = 2; +} + +- (NSUInteger)numberOfPages +{ + return 2; } - (void)viewDidLoad @@ -92,6 +96,8 @@ - (void)viewDidAppear:(BOOL)animated - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator { + [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; + CGFloat newPageWidth = size.width; for (IFTTTScrollViewPageConstraintAnimation *animation in self.scrollViewPageConstraintAnimations) { @@ -165,22 +171,22 @@ - (CGFloat)pageOffset return currentOffset; } -- (CGFloat)centerXMultiplierForPage:(CGFloat)page -{ - return (1.f + (2.f * page)) / ((CGFloat)self.numberOfPages); -} - #pragma mark - Keep View On Page Animations - (void)keepView:(UIView *)view onPage:(CGFloat)page +{ + [self keepView:view onPage:page withAttribute:IFTTTHorizontalPositionAttributeCenterX]; +} + +- (void)keepView:(UIView *)view onPage:(CGFloat)page withAttribute:(IFTTTHorizontalPositionAttribute)attribute { view.translatesAutoresizingMaskIntoConstraints = NO; [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:view - attribute:NSLayoutAttributeCenterX + attribute:[self layoutAttributeFromPositionAttribute:attribute] relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterX - multiplier:[self centerXMultiplierForPage:page] + multiplier:[self multiplierForPage:page withAttribute:attribute] constant:0.f]]; } @@ -190,23 +196,34 @@ - (void)keepView:(UIView *)view onPages:(NSArray *)pages } - (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)times +{ + [self keepView:view onPages:pages atTimes:times withAttribute:IFTTTHorizontalPositionAttributeCenterX]; +} + +- (void)keepView:(UIView *)view onPages:(NSArray *)pages withAttribute:(IFTTTHorizontalPositionAttribute)attribute +{ + [self keepView:view onPages:pages atTimes:pages withAttribute:attribute]; +} + +- (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)times withAttribute:(IFTTTHorizontalPositionAttribute)attribute { NSAssert((pages.count == times.count), @"Make sure you set a time for each position."); view.translatesAutoresizingMaskIntoConstraints = NO; - + NSLayoutConstraint *xPositionConstraint = [NSLayoutConstraint constraintWithItem:view - attribute:NSLayoutAttributeCenterX + attribute:[self layoutAttributeFromPositionAttribute:attribute] relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.f constant:0.f]; [self.contentView addConstraint:xPositionConstraint]; - + // TODO: set constraint type for animation initializer IFTTTScrollViewPageConstraintAnimation *xPositionAnimation = [IFTTTScrollViewPageConstraintAnimation animationWithSuperview:self.contentView constraint:xPositionConstraint - pageWidth:self.pageWidth]; + pageWidth:self.pageWidth + attribute:attribute]; for (NSUInteger i = 0; i < pages.count; i++) { [xPositionAnimation addKeyframeForTime:(CGFloat)[(NSNumber *)times[i] floatValue] @@ -217,4 +234,55 @@ - (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)time [self.scrollViewPageConstraintAnimations addObject:xPositionAnimation]; } +- (CGFloat)centerXMultiplierForPage:(CGFloat)page +{ + return [self multiplierForPage:page withAttribute:IFTTTHorizontalPositionAttributeCenterX]; +} + +- (CGFloat)leftMultiplierForPage:(CGFloat)page +{ + return [self multiplierForPage:page withAttribute:IFTTTHorizontalPositionAttributeLeft]; +} + +- (CGFloat)rightMultiplierForPage:(CGFloat)page +{ + return [self multiplierForPage:page withAttribute:IFTTTHorizontalPositionAttributeRight]; +} + +- (CGFloat)multiplierForPage:(CGFloat)page withAttribute:(IFTTTHorizontalPositionAttribute)attribute +{ + CGFloat offset; + + switch (attribute) { + case IFTTTHorizontalPositionAttributeCenterX: + offset = 0.5; + break; + case IFTTTHorizontalPositionAttributeLeft: + offset = 0; + break; + case IFTTTHorizontalPositionAttributeRight: + offset = 1; + break; + } + + return 2.f * (offset + page) / self.numberOfPages; +} + +- (NSLayoutAttribute)layoutAttributeFromPositionAttribute:(IFTTTHorizontalPositionAttribute)attribute +{ + NSLayoutAttribute layoutAttribute; + switch (attribute) { + case IFTTTHorizontalPositionAttributeCenterX: + layoutAttribute = NSLayoutAttributeCenterX; + break; + case IFTTTHorizontalPositionAttributeLeft: + layoutAttribute = NSLayoutAttributeLeft; + break; + case IFTTTHorizontalPositionAttributeRight: + layoutAttribute = NSLayoutAttributeRight; + break; + } + return layoutAttribute; +} + @end diff --git a/JazzHands/IFTTTColorAnimation.h b/JazzHands/IFTTTBackgroundColorAnimation.h similarity index 74% rename from JazzHands/IFTTTColorAnimation.h rename to JazzHands/IFTTTBackgroundColorAnimation.h index 34533fd..14ff1e8 100644 --- a/JazzHands/IFTTTColorAnimation.h +++ b/JazzHands/IFTTTBackgroundColorAnimation.h @@ -1,5 +1,5 @@ // -// IFTTTColorAnimation.h +// IFTTTBackgroundColorAnimation.h // IFTTT // // Created by Max Meyers on 10/10/13. @@ -8,7 +8,7 @@ #import "IFTTTViewAnimation.h" -@interface IFTTTColorAnimation : IFTTTViewAnimation +@interface IFTTTBackgroundColorAnimation : IFTTTViewAnimation - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTColorAnimation.m b/JazzHands/IFTTTBackgroundColorAnimation.m similarity index 86% rename from JazzHands/IFTTTColorAnimation.m rename to JazzHands/IFTTTBackgroundColorAnimation.m index 62d69c4..4eadc74 100644 --- a/JazzHands/IFTTTColorAnimation.m +++ b/JazzHands/IFTTTBackgroundColorAnimation.m @@ -1,14 +1,14 @@ // -// IFTTTColorAnimation.m +// IFTTTBackgroundColorAnimation.m // IFTTT // // Created by Max Meyers on 10/10/13. // Copyright (c) 2013 IFTTT Inc. All rights reserved. // -#import "IFTTTColorAnimation.h" +#import "IFTTTBackgroundColorAnimation.h" -@implementation IFTTTColorAnimation +@implementation IFTTTBackgroundColorAnimation - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color { diff --git a/JazzHands/IFTTTConstraintConstantAnimation.h b/JazzHands/IFTTTConstraintConstantAnimation.h index d2d5e0f..688fbac 100644 --- a/JazzHands/IFTTTConstraintConstantAnimation.h +++ b/JazzHands/IFTTTConstraintConstantAnimation.h @@ -10,7 +10,7 @@ @interface IFTTTConstraintConstantAnimation : IFTTTAnimation -- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint; + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint; - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant; - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTConstraintMultiplierAnimation.h b/JazzHands/IFTTTConstraintMultiplierAnimation.h index ddf057c..5a7a4de 100644 --- a/JazzHands/IFTTTConstraintMultiplierAnimation.h +++ b/JazzHands/IFTTTConstraintMultiplierAnimation.h @@ -20,7 +20,7 @@ typedef NS_ENUM(NSUInteger, IFTTTLayoutAttribute) { @interface IFTTTConstraintMultiplierAnimation : IFTTTAnimation - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView; -- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView constant:(CGFloat)constant NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView constant:(CGFloat)constant; + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView; + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView constant:(CGFloat)constant; - (void)addKeyframeForTime:(CGFloat)time multiplier:(CGFloat)multiplier; diff --git a/JazzHands/IFTTTJazzHands.h b/JazzHands/IFTTTJazzHands.h index a27cfc4..1a0fb28 100644 --- a/JazzHands/IFTTTJazzHands.h +++ b/JazzHands/IFTTTJazzHands.h @@ -17,7 +17,6 @@ #import "IFTTTFilmstrip.h" #import "IFTTTViewAnimation.h" #import "IFTTTShapeLayerAnimation.h" -#import "IFTTTLabelAnimation.h" #import "IFTTTAnimatedScrollViewController.h" #import "IFTTTAnimatedPagingScrollViewController.h" @@ -26,14 +25,15 @@ #import "IFTTTCornerRadiusAnimation.h" #import "IFTTTFrameAnimation.h" #import "IFTTTHideAnimation.h" -#import "IFTTTColorAnimation.h" +#import "IFTTTBackgroundColorAnimation.h" #import "IFTTTRotationAnimation.h" #import "IFTTTScaleAnimation.h" #import "IFTTTTranslationAnimation.h" #import "IFTTTTransform3DAnimation.h" -#import "IFTTTStrokeStartAnimation.h" -#import "IFTTTStrokeEndAnimation.h" -#import "IFTTTFillColorAnimation.h" +#import "IFTTTLayerStrokeStartAnimation.h" +#import "IFTTTLayerStrokeEndAnimation.h" +#import "IFTTTLayerFillColorAnimation.h" +#import "IFTTTPathPositionAnimation.h" #import "IFTTTTextColorAnimation.h" #import "IFTTTConstraintConstantAnimation.h" #import "IFTTTScrollViewPageConstraintAnimation.h" diff --git a/JazzHands/IFTTTLabelAnimation.h b/JazzHands/IFTTTLabelAnimation.h deleted file mode 100644 index 7ec2ff4..0000000 --- a/JazzHands/IFTTTLabelAnimation.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// IFTTTLabelAnimation.h -// JazzHands -// -// Created by Laura Skelton on 6/18/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "IFTTTAnimation.h" - -@interface IFTTTLabelAnimation : IFTTTAnimation - -@property (nonatomic, strong, readonly) UILabel *label; - -- (instancetype)initWithLabel:(UILabel *)label NS_DESIGNATED_INITIALIZER; -+ (instancetype)animationWithLabel:(UILabel *)label; - -@end diff --git a/JazzHands/IFTTTLabelAnimation.m b/JazzHands/IFTTTLabelAnimation.m deleted file mode 100644 index 3c13555..0000000 --- a/JazzHands/IFTTTLabelAnimation.m +++ /dev/null @@ -1,32 +0,0 @@ -// -// IFTTTLabelAnimation.m -// JazzHands -// -// Created by Laura Skelton on 6/18/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "IFTTTLabelAnimation.h" - -@interface IFTTTLabelAnimation () - -@property (nonatomic, strong, readwrite) UILabel *label; - -@end - -@implementation IFTTTLabelAnimation - -- (instancetype)initWithLabel:(UILabel *)label -{ - if ((self = [super init])) { - _label = label; - } - return self; -} - -+ (instancetype)animationWithLabel:(UILabel *)label -{ - return [[self alloc] initWithLabel:label]; -} - -@end diff --git a/JazzHands/IFTTTFillColorAnimation.h b/JazzHands/IFTTTLayerFillColorAnimation.h similarity index 74% rename from JazzHands/IFTTTFillColorAnimation.h rename to JazzHands/IFTTTLayerFillColorAnimation.h index 8b36890..b0585db 100644 --- a/JazzHands/IFTTTFillColorAnimation.h +++ b/JazzHands/IFTTTLayerFillColorAnimation.h @@ -1,5 +1,5 @@ // -// IFTTTFillColorAnimation.h +// IFTTTLayerFillColorAnimation.h // JazzHands // // Created by Pierluigi D'Andrea on 07/05/15. @@ -8,7 +8,7 @@ #import "IFTTTShapeLayerAnimation.h" -@interface IFTTTFillColorAnimation : IFTTTShapeLayerAnimation +@interface IFTTTLayerFillColorAnimation : IFTTTShapeLayerAnimation - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTFillColorAnimation.m b/JazzHands/IFTTTLayerFillColorAnimation.m similarity index 87% rename from JazzHands/IFTTTFillColorAnimation.m rename to JazzHands/IFTTTLayerFillColorAnimation.m index b0b8aaa..71485c0 100644 --- a/JazzHands/IFTTTFillColorAnimation.m +++ b/JazzHands/IFTTTLayerFillColorAnimation.m @@ -1,14 +1,14 @@ // -// IFTTTFillColorAnimation.m +// IFTTTLayerFillColorAnimation.m // JazzHands // // Created by Pierluigi D'Andrea on 07/05/15. // Copyright (c) 2015 IFTTT Inc. All rights reserved. // -#import "IFTTTFillColorAnimation.h" +#import "IFTTTLayerFillColorAnimation.h" -@implementation IFTTTFillColorAnimation +@implementation IFTTTLayerFillColorAnimation - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color { diff --git a/JazzHands/IFTTTStrokeEndAnimation.h b/JazzHands/IFTTTLayerStrokeEndAnimation.h similarity index 75% rename from JazzHands/IFTTTStrokeEndAnimation.h rename to JazzHands/IFTTTLayerStrokeEndAnimation.h index 10c2aad..340c411 100644 --- a/JazzHands/IFTTTStrokeEndAnimation.h +++ b/JazzHands/IFTTTLayerStrokeEndAnimation.h @@ -1,5 +1,5 @@ // -// IFTTTStrokeEndAnimation.h +// IFTTTLayerStrokeEndAnimation.h // JazzHands // // Created by Pierluigi D'Andrea on 06/05/15. @@ -8,7 +8,7 @@ #import "IFTTTShapeLayerAnimation.h" -@interface IFTTTStrokeEndAnimation : IFTTTShapeLayerAnimation +@interface IFTTTLayerStrokeEndAnimation : IFTTTShapeLayerAnimation - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd; - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTLayerStrokeEndAnimation.m b/JazzHands/IFTTTLayerStrokeEndAnimation.m new file mode 100644 index 0000000..d1f9868 --- /dev/null +++ b/JazzHands/IFTTTLayerStrokeEndAnimation.m @@ -0,0 +1,84 @@ +// +// IFTTTLayerStrokeEndAnimation.m +// JazzHands +// +// Created by Pierluigi D'Andrea on 06/05/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import "IFTTTLayerStrokeEndAnimation.h" + +@interface IFTTTLayerStrokeEndAnimation () + +@property (nonatomic, strong) NSString *animationKey; + +@end + +@implementation IFTTTLayerStrokeEndAnimation + +- (instancetype)initWithLayer:(CAShapeLayer *)layer +{ + if ((self = [super initWithLayer:layer])) { + _animationKey = @"RAZStrokeEnd"; + + [self createBasicAnimation]; + + // CAAnimations are lost when application enters the background, so re-add them + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(createBasicAnimation) + name:UIApplicationDidBecomeActiveNotification + object:nil]; + } + return self; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd +{ + if (![self validStrokeEnd:strokeEnd]) return; + [self addKeyframeForTime:time value:@(strokeEnd)]; +} + +- (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd withEasingFunction:(IFTTTEasingFunction)easingFunction +{ + if (![self validStrokeEnd:strokeEnd]) return; + [self addKeyframeForTime:time value:@(strokeEnd) withEasingFunction:easingFunction]; +} + +- (BOOL)validStrokeEnd:(CGFloat)strokeEnd +{ + NSAssert((strokeEnd >= 0.f) && (strokeEnd <= 1.f), @"Stroke End values must be between zero and one."); + if ((strokeEnd < 0.f) || (strokeEnd > 1.f)) return NO; + return YES; +} + +- (void)animate:(CGFloat)time +{ + if (!self.hasKeyframes) return; + self.layer.timeOffset = (CFTimeInterval)[(NSNumber *)[self valueAtTime:time] doubleValue]; +} + +- (void)createBasicAnimation +{ + // Set up CABasicAnimation to animate the stroke end + [self.layer addAnimation:[self strokeEndAnimation] forKey:self.animationKey]; + self.layer.speed = 0; + self.layer.timeOffset = 0; +} + +- (CABasicAnimation *)strokeEndAnimation +{ + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; + animation.duration = 1; + animation.fromValue = @0; + animation.toValue = @1; + animation.fillMode = kCAFillModeBoth; + animation.removedOnCompletion = false; + return animation; +} + +@end diff --git a/JazzHands/IFTTTStrokeStartAnimation.h b/JazzHands/IFTTTLayerStrokeStartAnimation.h similarity index 75% rename from JazzHands/IFTTTStrokeStartAnimation.h rename to JazzHands/IFTTTLayerStrokeStartAnimation.h index bc0424c..8409501 100644 --- a/JazzHands/IFTTTStrokeStartAnimation.h +++ b/JazzHands/IFTTTLayerStrokeStartAnimation.h @@ -1,5 +1,5 @@ // -// IFTTTStrokeStartAnimation.h +// IFTTTLayerStrokeStartAnimation.h // JazzHands // // Created by Pierluigi D'Andrea on 06/05/15. @@ -8,7 +8,7 @@ #import "IFTTTShapeLayerAnimation.h" -@interface IFTTTStrokeStartAnimation : IFTTTShapeLayerAnimation +@interface IFTTTLayerStrokeStartAnimation : IFTTTShapeLayerAnimation - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart; - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTLayerStrokeStartAnimation.m b/JazzHands/IFTTTLayerStrokeStartAnimation.m new file mode 100644 index 0000000..7107321 --- /dev/null +++ b/JazzHands/IFTTTLayerStrokeStartAnimation.m @@ -0,0 +1,84 @@ +// +// IFTTTLayerStrokeStartAnimation.m +// JazzHands +// +// Created by Pierluigi D'Andrea on 06/05/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import "IFTTTLayerStrokeStartAnimation.h" + +@interface IFTTTLayerStrokeStartAnimation () + +@property (nonatomic, strong) NSString *animationKey; + +@end + +@implementation IFTTTLayerStrokeStartAnimation + +- (instancetype)initWithLayer:(CAShapeLayer *)layer +{ + if ((self = [super initWithLayer:layer])) { + _animationKey = @"RAZStrokeStart"; + + [self createBasicAnimation]; + + // CAAnimations are lost when application enters the background, so re-add them + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(createBasicAnimation) + name:UIApplicationDidBecomeActiveNotification + object:nil]; + } + return self; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart +{ + if (![self validStrokeStart:strokeStart]) return; + [self addKeyframeForTime:time value:@(strokeStart)]; +} + +- (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart withEasingFunction:(IFTTTEasingFunction)easingFunction +{ + if (![self validStrokeStart:strokeStart]) return; + [self addKeyframeForTime:time value:@(strokeStart) withEasingFunction:easingFunction]; +} + +- (BOOL)validStrokeStart:(CGFloat)strokeStart +{ + NSAssert((strokeStart >= 0.f) && (strokeStart <= 1.f), @"Stroke Start values must be between zero and one."); + if ((strokeStart < 0.f) || (strokeStart > 1.f)) return NO; + return YES; +} + +- (void)animate:(CGFloat)time +{ + if (!self.hasKeyframes) return; + self.layer.timeOffset = (CFTimeInterval)[(NSNumber *)[self valueAtTime:time] doubleValue]; +} + +- (void)createBasicAnimation +{ + // Set up CABasicAnimation to animate the stroke start + [self.layer addAnimation:[self strokeStartAnimation] forKey:self.animationKey]; + self.layer.speed = 0; + self.layer.timeOffset = 0; +} + +- (CABasicAnimation *)strokeStartAnimation +{ + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeStart"]; + animation.duration = 1; + animation.fromValue = @0; + animation.toValue = @1; + animation.fillMode = kCAFillModeBoth; + animation.removedOnCompletion = false; + return animation; +} + +@end diff --git a/JazzHands/IFTTTPathPositionAnimation.h b/JazzHands/IFTTTPathPositionAnimation.h new file mode 100644 index 0000000..d0b329f --- /dev/null +++ b/JazzHands/IFTTTPathPositionAnimation.h @@ -0,0 +1,21 @@ +// +// IFTTTPathPositionAnimation.h +// JazzHands +// +// Created by Laura Skelton on 6/30/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import "IFTTTAnimation.h" + +@interface IFTTTPathPositionAnimation : IFTTTAnimation + +@property (nonatomic, strong) NSString *rotationMode; +@property (nonatomic, assign) CGPathRef path; + +- (instancetype)initWithView:(UIView *)view path:(CGPathRef)path; ++ (instancetype)animationWithView:(UIView *)view path:(CGPathRef)path; +- (void)addKeyframeForTime:(CGFloat)time animationProgress:(CGFloat)animationProgress; +- (void)addKeyframeForTime:(CGFloat)time animationProgress:(CGFloat)animationProgress withEasingFunction:(IFTTTEasingFunction)easingFunction; + +@end diff --git a/JazzHands/IFTTTPathPositionAnimation.m b/JazzHands/IFTTTPathPositionAnimation.m new file mode 100644 index 0000000..b0e4fca --- /dev/null +++ b/JazzHands/IFTTTPathPositionAnimation.m @@ -0,0 +1,112 @@ +// +// IFTTTPathPositionAnimation.m +// JazzHands +// +// Created by Laura Skelton on 6/30/15. +// Copyright (c) 2015 IFTTT Inc. All rights reserved. +// + +#import "IFTTTPathPositionAnimation.h" + +@interface IFTTTPathPositionAnimation () + +@property (nonatomic, strong) UIView *view; +@property (nonatomic, strong) NSString *animationKey; + +@end + +@implementation IFTTTPathPositionAnimation + +- (instancetype)initWithView:(UIView *)view path:(CGPathRef)path +{ + if ((self = [super init])) { + _view = view; + _path = path; + _rotationMode = kCAAnimationRotateAuto; + _animationKey = @"RAZPathPosition"; + + [self createKeyframeAnimation]; + + // CAAnimations are lost when application enters the background, so re-add them + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(createKeyframeAnimation) + name:UIApplicationDidBecomeActiveNotification + object:nil]; + } + return self; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + ++ (instancetype)animationWithView:(UIView *)view path:(CGPathRef)path +{ + return [[self alloc] initWithView:view path:path]; +} + +- (void)addKeyframeForTime:(CGFloat)time animationProgress:(CGFloat)animationProgress +{ + if (![self validAnimationProgress:animationProgress]) return; + [self addKeyframeForTime:time value:@(animationProgress)]; +} + +- (void)addKeyframeForTime:(CGFloat)time animationProgress:(CGFloat)animationProgress withEasingFunction:(IFTTTEasingFunction)easingFunction +{ + if (![self validAnimationProgress:animationProgress]) return; + [self addKeyframeForTime:time value:@(animationProgress) withEasingFunction:easingFunction]; +} + +- (BOOL)validAnimationProgress:(CGFloat)animationProgress +{ + NSAssert((animationProgress >= 0.f) && (animationProgress <= 1.f), @"Animation progress values must be between zero and one."); + if ((animationProgress < 0.f) || (animationProgress > 1.f)) return NO; + return YES; +} + +- (void)animate:(CGFloat)time +{ + if (!self.hasKeyframes) return; + self.view.layer.timeOffset = (CFTimeInterval)[(NSNumber *)[self valueAtTime:time] doubleValue]; +} + +- (void)setRotationMode:(NSString *)rotationMode +{ + if (_rotationMode != rotationMode) { + _rotationMode = rotationMode; + [self createKeyframeAnimation]; + } +} + +- (void)setPath:(CGPathRef)path +{ + if (_path != path) { + _path = path; + [self createKeyframeAnimation]; + } +} + +- (void)createKeyframeAnimation +{ + // Set up a CAKeyframeAnimation to move the view along the path + [self.view.layer addAnimation:[self pathAnimation] forKey:self.animationKey]; + self.view.layer.speed = 0; + self.view.layer.timeOffset = 0; +} + +- (CAKeyframeAnimation *)pathAnimation +{ + CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; + animation.path = self.path; + animation.duration = 1; + animation.additive = YES; + animation.repeatCount = HUGE_VALF; + animation.calculationMode = kCAAnimationPaced; + animation.rotationMode = self.rotationMode; + animation.fillMode = kCAFillModeBoth; + animation.removedOnCompletion = NO; + return animation; +} + +@end diff --git a/JazzHands/IFTTTScrollViewPageConstraintAnimation.h b/JazzHands/IFTTTScrollViewPageConstraintAnimation.h index 6265a59..0716060 100644 --- a/JazzHands/IFTTTScrollViewPageConstraintAnimation.h +++ b/JazzHands/IFTTTScrollViewPageConstraintAnimation.h @@ -8,12 +8,18 @@ #import "IFTTTAnimation.h" +typedef NS_ENUM(NSUInteger, IFTTTHorizontalPositionAttribute) { + IFTTTHorizontalPositionAttributeCenterX, + IFTTTHorizontalPositionAttributeLeft, + IFTTTHorizontalPositionAttributeRight +}; + @interface IFTTTScrollViewPageConstraintAnimation : IFTTTAnimation @property (nonatomic, assign) CGFloat pageWidth; -- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth NS_DESIGNATED_INITIALIZER; -+ (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth; +- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth attribute:(IFTTTHorizontalPositionAttribute)attribute; ++ (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth attribute:(IFTTTHorizontalPositionAttribute)attribute; - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page; - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTScrollViewPageConstraintAnimation.m b/JazzHands/IFTTTScrollViewPageConstraintAnimation.m index d6d4541..d17b99c 100644 --- a/JazzHands/IFTTTScrollViewPageConstraintAnimation.m +++ b/JazzHands/IFTTTScrollViewPageConstraintAnimation.m @@ -12,24 +12,26 @@ @interface IFTTTScrollViewPageConstraintAnimation () @property (nonatomic, strong) UIView *superview; @property (nonatomic, strong) NSLayoutConstraint *constraint; +@property (nonatomic, assign) IFTTTHorizontalPositionAttribute attribute; @end @implementation IFTTTScrollViewPageConstraintAnimation -- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth +- (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth attribute:(IFTTTHorizontalPositionAttribute)attribute { if ((self = [super init])) { _superview = superview; _constraint = constraint; _pageWidth = pageWidth; + _attribute = attribute; } return self; } -+ (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth ++ (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth attribute:(IFTTTHorizontalPositionAttribute)attribute { - return [[self alloc] initWithSuperview:superview constraint:constraint pageWidth:pageWidth]; + return [[self alloc] initWithSuperview:superview constraint:constraint pageWidth:pageWidth attribute:attribute]; } - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page @@ -46,7 +48,21 @@ - (void)animate:(CGFloat)time { if (!self.hasKeyframes) return; CGFloat page = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; - self.constraint.constant = (0.5f + page) * self.pageWidth; + + CGFloat offset; + switch (self.attribute) { + case IFTTTHorizontalPositionAttributeCenterX: + offset = 0.5f; + break; + case IFTTTHorizontalPositionAttributeLeft: + offset = 0.f; + break; + case IFTTTHorizontalPositionAttributeRight: + offset = 1.f; + break; + } + + self.constraint.constant = (offset + page) * self.pageWidth; [self.superview layoutIfNeeded]; } diff --git a/JazzHands/IFTTTShapeLayerAnimation.h b/JazzHands/IFTTTShapeLayerAnimation.h index 742d06a..8aad59f 100644 --- a/JazzHands/IFTTTShapeLayerAnimation.h +++ b/JazzHands/IFTTTShapeLayerAnimation.h @@ -12,7 +12,7 @@ @property (nonatomic, strong, readonly) CAShapeLayer *layer; -- (instancetype)initWithLayer:(CAShapeLayer *)layer NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithLayer:(CAShapeLayer *)layer; + (instancetype)animationWithLayer:(CAShapeLayer *)layer; @end diff --git a/JazzHands/IFTTTStrokeEndAnimation.m b/JazzHands/IFTTTStrokeEndAnimation.m deleted file mode 100644 index 249288d..0000000 --- a/JazzHands/IFTTTStrokeEndAnimation.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// IFTTTStrokeEndAnimation.m -// JazzHands -// -// Created by Pierluigi D'Andrea on 06/05/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "IFTTTStrokeEndAnimation.h" - -@implementation IFTTTStrokeEndAnimation - -- (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd -{ - if (![self isValidStrokeEnd:strokeEnd]) return; - [self addKeyframeForTime:time value:@(strokeEnd)]; -} - -- (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd withEasingFunction:(IFTTTEasingFunction)easingFunction -{ - if (![self isValidStrokeEnd:strokeEnd]) return; - [self addKeyframeForTime:time value:@(strokeEnd) withEasingFunction:easingFunction]; -} - -- (BOOL)isValidStrokeEnd:(CGFloat)strokeEnd -{ - NSAssert((strokeEnd >= 0.f) && (strokeEnd <= 1.f), @"Stroke End values must be between zero and one."); - if ((strokeEnd < 0.f) || (strokeEnd > 1.f)) return NO; - return YES; -} - -- (void)animate:(CGFloat)time -{ - if (!self.hasKeyframes) return; - self.layer.strokeEnd = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; -} - -@end diff --git a/JazzHands/IFTTTStrokeStartAnimation.m b/JazzHands/IFTTTStrokeStartAnimation.m deleted file mode 100644 index f9fb0b1..0000000 --- a/JazzHands/IFTTTStrokeStartAnimation.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// IFTTTStrokeStartAnimation.m -// JazzHands -// -// Created by Pierluigi D'Andrea on 06/05/15. -// Copyright (c) 2015 IFTTT Inc. All rights reserved. -// - -#import "IFTTTStrokeStartAnimation.h" - -@implementation IFTTTStrokeStartAnimation - -- (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart -{ - if (![self isValidStrokeStart:strokeStart]) return; - [self addKeyframeForTime:time value:@(strokeStart)]; -} - -- (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart withEasingFunction:(IFTTTEasingFunction)easingFunction -{ - if (![self isValidStrokeStart:strokeStart]) return; - [self addKeyframeForTime:time value:@(strokeStart) withEasingFunction:easingFunction]; -} - -- (BOOL)isValidStrokeStart:(CGFloat)strokeStart -{ - NSAssert((strokeStart >= 0.f) && (strokeStart <= 1.f), @"Stroke Start values must be between zero and one."); - if ((strokeStart < 0.f) || (strokeStart > 1.f)) return NO; - return YES; -} - -- (void)animate:(CGFloat)time -{ - if (!self.hasKeyframes) return; - self.layer.strokeStart = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; -} - -@end diff --git a/JazzHands/IFTTTTextColorAnimation.h b/JazzHands/IFTTTTextColorAnimation.h index 2c107e1..6760e9b 100644 --- a/JazzHands/IFTTTTextColorAnimation.h +++ b/JazzHands/IFTTTTextColorAnimation.h @@ -6,10 +6,12 @@ // Copyright (c) 2015 IFTTT Inc. All rights reserved. // -#import "IFTTTLabelAnimation.h" +#import "IFTTTAnimation.h" -@interface IFTTTTextColorAnimation : IFTTTLabelAnimation +@interface IFTTTTextColorAnimation : IFTTTAnimation +- (instancetype)initWithLabel:(UILabel *)label; ++ (instancetype)animationWithLabel:(UILabel *)label; - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; diff --git a/JazzHands/IFTTTTextColorAnimation.m b/JazzHands/IFTTTTextColorAnimation.m index 541945e..b1fd813 100644 --- a/JazzHands/IFTTTTextColorAnimation.m +++ b/JazzHands/IFTTTTextColorAnimation.m @@ -8,8 +8,27 @@ #import "IFTTTTextColorAnimation.h" +@interface IFTTTTextColorAnimation () + +@property (nonatomic, strong) UILabel *label; + +@end + @implementation IFTTTTextColorAnimation +- (instancetype)initWithLabel:(UILabel *)label +{ + if ((self = [super init])) { + _label = label; + } + return self; +} + ++ (instancetype)animationWithLabel:(UILabel *)label +{ + return [[self alloc] initWithLabel:label]; +} + - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color { if (![self validColor:color]) return; diff --git a/JazzHands/IFTTTViewAnimation.h b/JazzHands/IFTTTViewAnimation.h index 4385a35..3b826b0 100644 --- a/JazzHands/IFTTTViewAnimation.h +++ b/JazzHands/IFTTTViewAnimation.h @@ -12,7 +12,7 @@ @property (nonatomic, strong, readonly) UIView *view; -- (instancetype)initWithView:(UIView *)view NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithView:(UIView *)view; + (instancetype)animationWithView:(UIView *)view; @end diff --git a/README.md b/README.md index b3586ca..bad195e 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# Jazz Hands +![Jazz Hands](./Example/Docs/jazzhands_banner.jpg) [![Build Status](https://travis-ci.org/IFTTT/JazzHands.svg?branch=master)](https://travis-ci.org/IFTTT/JazzHands) [![Coverage Status](https://coveralls.io/repos/IFTTT/JazzHands/badge.svg)](https://coveralls.io/r/IFTTT/JazzHands) Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. -Jazz Hands is used extensively in [IF and DO by IFTTT for iPhone and iPad](https://ifttt.com/products), most famously in the app intro: +![Jazz Hands](./Example/Docs/jazzhands-demo.gif) -![Jazz Hands](./Example/Docs/if-intro.gif) +Jazz Hands is used extensively in [IF and DO by IFTTT for iPhone and iPad](https://ifttt.com/products), most famously in the app intro. ##Demo App @@ -90,8 +90,9 @@ Jazz Hands supports several types of animations: + **IFTTTTransform3DAnimation** animates the `layer.transform` property _(for 3D transforms)_. + **IFTTTTextColorAnimation** animates the `textColor` property of a `UILabel`. + **IFTTTFillColorAnimation** animates the `fillColor` property of a `CAShapeLayer`. -+ **IFTTTStrokeStartAnimation** animates the `strokeStart` property of a `CAShapeLayer`. -+ **IFTTTStrokeEndAnimation** animates the `strokeEnd` property of a `CAShapeLayer`. ++ **IFTTTStrokeStartAnimation** animates the `strokeStart` property of a `CAShapeLayer` _(does not work with IFTTTStrokeEndAnimation)_. ++ **IFTTTStrokeEndAnimation** animates the `strokeEnd` property of a `CAShapeLayer` _(does not work with IFTTTStrokeStartAnimation)_. ++ **IFTTTPathPositionAnimation** animates the `layer.position` property of a `UIView`. + **IFTTTConstraintConstantAnimation** animates an `AutoLayout` constraint constant. + **IFTTTConstraintMultiplierAnimation** animates an `AutoLayout` constraint constant as a multiple of an attribute of another view _(to offset or resize views based on another view's size)_ + **IFTTTScrollViewPageConstraintAnimation** animates an `AutoLayout` constraint constant to place a view on a scroll view page _(to position views on a scrollView using AutoLayout)_ From 670c45552cedae35283ae5f4e301c25af602243f Mon Sep 17 00:00:00 2001 From: Laura Skelton Date: Wed, 22 Jul 2015 09:56:43 -0700 Subject: [PATCH 2/5] change --- .../Contents.json | 0 .../jazz.png | Bin Example/ObjectiveC.gcno | Bin 44220 -> 46568 bytes 3 files changed, 0 insertions(+), 0 deletions(-) rename Example/JazzHandsDemo/Images.xcassets/{JAZZ.imageset => Jazzzzz.imageset}/Contents.json (100%) rename Example/JazzHandsDemo/Images.xcassets/{JAZZ.imageset => Jazzzzz.imageset}/jazz.png (100%) diff --git a/Example/JazzHandsDemo/Images.xcassets/JAZZ.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/Contents.json similarity index 100% rename from Example/JazzHandsDemo/Images.xcassets/JAZZ.imageset/Contents.json rename to Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/Contents.json diff --git a/Example/JazzHandsDemo/Images.xcassets/JAZZ.imageset/jazz.png b/Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/jazz.png similarity index 100% rename from Example/JazzHandsDemo/Images.xcassets/JAZZ.imageset/jazz.png rename to Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/jazz.png diff --git a/Example/ObjectiveC.gcno b/Example/ObjectiveC.gcno index 8eb83f74dc959b498c3c4d02d279270fe24909ab..83b1f0c5a0fc871fd6238b103bbe0f84bd32cfff 100644 GIT binary patch delta 1356 zcmbW0ze~eF6vy*o+8WbKlcq{hYc06?1N?!YLZP_mpx~g3px8mNVildmL2y%etAiB_ z>Lhd$9Q+e3xVSkgI_Q7kz4TIZMQrQACI2_=YS!#QXbq$rhS=+v)~2XULQ)5Yr9 z6B{)e+16^rj?a$n<=Gu5rVyF$klqS$q(&oKzebl3+rrKgtCt*cv_>P_A1zs_ngoA# zlmKzeYfGs+`~mo)YY?E0VBXa5Nw@IW%zAqW`A?u#B3+`kDrw9DLr|PIjqd(1EjJRA z$do7|ktLBWQB+V2oDxJr%Q&A}$9yghX6Y!mHp0KCxAS2b#INg&zOb>ipIhDA-o=?> z(np)cS$r&L zAd?k{*(V?56&7WONiaZUKzxqPANly1CJXShOlA?xm~0~=GPy=DWwMT_09fpcV9Mq{ z;!9#C=P+eV<|vietWug_!e}+Qb)_+*&g74)otgZDCnv6!2T_h|y@B@GPoB80pVtUz zG$YhHEb8PL7#yIo5XzMiq=N}6M!XJ?2SEUf4q Date: Wed, 22 Jul 2015 09:57:25 -0700 Subject: [PATCH 3/5] Rename Jazz --- .../Contents.json | 0 .../{Jazzzzz.imageset => Jazz.imageset}/jazz.png | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename Example/JazzHandsDemo/Images.xcassets/{Jazzzzz.imageset => Jazz.imageset}/Contents.json (100%) rename Example/JazzHandsDemo/Images.xcassets/{Jazzzzz.imageset => Jazz.imageset}/jazz.png (100%) diff --git a/Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/Contents.json b/Example/JazzHandsDemo/Images.xcassets/Jazz.imageset/Contents.json similarity index 100% rename from Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/Contents.json rename to Example/JazzHandsDemo/Images.xcassets/Jazz.imageset/Contents.json diff --git a/Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/jazz.png b/Example/JazzHandsDemo/Images.xcassets/Jazz.imageset/jazz.png similarity index 100% rename from Example/JazzHandsDemo/Images.xcassets/Jazzzzz.imageset/jazz.png rename to Example/JazzHandsDemo/Images.xcassets/Jazz.imageset/jazz.png From 257e9c2312cedfd56ba19d4c84a2c4e48063f397 Mon Sep 17 00:00:00 2001 From: Laura Skelton Date: Wed, 22 Jul 2015 11:15:15 -0700 Subject: [PATCH 4/5] Update Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e2a125f..87449bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -osx_image: xcode611 +osx_image: xcode6.4 language: objective-c before_install: gem install cocoapods xcpretty obcd slather -N podfile: Example/Podfile From a16f5d8267ae0c4f247b6f9068ca3354a8aebcd4 Mon Sep 17 00:00:00 2001 From: Laura Skelton Date: Wed, 22 Jul 2015 11:29:37 -0700 Subject: [PATCH 5/5] Update tests --- Example/JazzHandsTests/IFTTTAnimationSpec.m | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Example/JazzHandsTests/IFTTTAnimationSpec.m b/Example/JazzHandsTests/IFTTTAnimationSpec.m index e323645..a1fdea2 100644 --- a/Example/JazzHandsTests/IFTTTAnimationSpec.m +++ b/Example/JazzHandsTests/IFTTTAnimationSpec.m @@ -36,13 +36,12 @@ IFTTTRotationAnimation *rotationAnimation = [IFTTTRotationAnimation animationWithView:label]; IFTTTScaleAnimation *scaleAnimation = [IFTTTScaleAnimation animationWithView:label]; IFTTTLayerStrokeEndAnimation *strokeEndAnimation = [IFTTTLayerStrokeEndAnimation animationWithLayer:layer]; - IFTTTLayerStrokeStartAnimation *strokeStartAnimation = [IFTTTLayerStrokeStartAnimation animationWithLayer:layer]; IFTTTTextColorAnimation *textColorAnimation = [IFTTTTextColorAnimation animationWithLabel:label]; IFTTTTransform3DAnimation *transformAnimation = [IFTTTTransform3DAnimation animationWithView:label]; IFTTTTranslationAnimation *translationAnimation = [IFTTTTranslationAnimation animationWithView:label]; // Note: None of the three constraint animations can be used with each other or with the frame animation. - // They affect the same view properties. + // They affect the same view properties. Also, IFTTTStrokeStartAnimation cannot be used with IFTTTStrokeEndAnimation. [alphaAnimation addKeyframeForTime:2 alpha:0.5f]; [colorAnimation addKeyframeForTime:2 color:[UIColor redColor]]; @@ -51,7 +50,6 @@ [rotationAnimation addKeyframeForTime:2 rotation:45.f]; [scaleAnimation addKeyframeForTime:2 scale:0.4f]; [strokeEndAnimation addKeyframeForTime:2 strokeEnd:0.8f]; - [strokeStartAnimation addKeyframeForTime:2 strokeStart:0.1f]; [textColorAnimation addKeyframeForTime:2 color:[UIColor greenColor]]; [translationAnimation addKeyframeForTime:2 translation:CGPointMake(20.f, 30.f)]; @@ -69,7 +67,6 @@ [animator addAnimation:rotationAnimation]; [animator addAnimation:scaleAnimation]; [animator addAnimation:strokeEndAnimation]; - [animator addAnimation:strokeStartAnimation]; [animator addAnimation:textColorAnimation]; [animator addAnimation:translationAnimation]; [animator addAnimation:transformAnimation]; @@ -95,11 +92,7 @@ }); it(@"should have the correct stroke end", ^{ - expect(layer.strokeEnd).to.beCloseTo(0.8f); - }); - - it(@"should have the correct stroke start", ^{ - expect(layer.strokeStart).to.beCloseTo(0.1f); + expect(layer.timeOffset).to.beCloseTo(0.8f); }); it(@"should have the correct text color", ^{