diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..50619027 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,22 @@ + +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + build: + runs-on: macOS-latest + steps: + - name: Test + uses: actions/checkout@v2 + - name: Build for iOS + run: xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry' -configuration Debug -sdk iphonesimulator clean build ARCHS=x86_64 VALID_ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO + - name: Build for macOS + run: xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry' -configuration Debug -sdk macosx clean build + - name: Build and Test + run: xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS Tests' -configuration Debug -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8' clean test ARCHS=x86_64 VALID_ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1.2.1 diff --git a/.travis.yml b/.travis.yml index 765668b7..fc099026 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,17 @@ --- language: objective-c -osx_image: xcode9 +osx_image: xcode12.5 before_install: - - sudo easy_install cpp-coveralls + - curl -L https://bootstrap.pypa.io/pip/2.7/get-pip.py | sudo python + - sudo pip install cpp-coveralls - gem install xcpretty -N - export LANG=en_US.UTF-8 script: - set -o pipefail - - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS Tests' -configuration Debug -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.0' clean test ARCHS=i386 VALID_ARCHS=i386 ONLY_ACTIVE_ARCH=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c - - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS' -configuration Debug -sdk iphonesimulator clean build ARCHS=i386 VALID_ARCHS=i386 ONLY_ACTIVE_ARCH=NO | xcpretty -c - - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry OSX' -configuration Debug clean build | xcpretty -c + - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS Tests' -configuration Debug -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8' clean test ARCHS=x86_64 VALID_ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c + - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry' -configuration Debug -sdk iphonesimulator clean build ARCHS=x86_64 VALID_ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO | xcpretty -c + - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry' -configuration Debug -sdk macosx clean build | xcpretty -c after_success: - ./script/coveralls.sh diff --git a/Examples/Masonry iOS Examples.xcodeproj/project.pbxproj b/Examples/Masonry iOS Examples.xcodeproj/project.pbxproj index 8ea63a4f..22630977 100644 --- a/Examples/Masonry iOS Examples.xcodeproj/project.pbxproj +++ b/Examples/Masonry iOS Examples.xcodeproj/project.pbxproj @@ -229,8 +229,6 @@ DD52F223179CAD57005CD195 /* Sources */, DD52F224179CAD57005CD195 /* Frameworks */, DD52F225179CAD57005CD195 /* Resources */, - 5C6517785DFF4287BCDF458D /* [CP] Copy Pods Resources */, - 9A6DE33A61510E8F9549C5EE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -282,21 +280,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 5C6517785DFF4287BCDF458D /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 621F6A1FCAEF44F880874959 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -315,21 +298,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9A6DE33A61510E8F9549C5EE /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/Examples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme b/Examples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme index 9dd6d243..eb94e410 100644 --- a/Examples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme +++ b/Examples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme @@ -16,7 +16,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3AED05B61AD59FD40053CC65" BuildableName = "Masonry.framework" - BlueprintName = "Masonry iOS" + BlueprintName = "Masonry" ReferencedContainer = "container:../Masonry.xcodeproj"> @@ -40,10 +40,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + + - - 'jonas.budelmann@gmail.com' } s.social_media_url = "http://twitter.com/cloudkite" - s.source = { :git => 'https://github.com/cloudkite/Masonry.git', :tag => "v#{s.version}" } + s.source = { :git => 'https://github.com/SnapKit/Masonry.git', :tag => "v#{s.version}" } s.description = %{ Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax. @@ -26,13 +26,10 @@ Pod::Spec.new do |s| EOS s.source_files = 'Masonry/*.{h,m}' + s.private_header_files = 'Masonry/MASConstraint+Private.h' - s.ios.frameworks = 'Foundation', 'UIKit' - s.tvos.frameworks = 'Foundation', 'UIKit' - s.osx.frameworks = 'Foundation', 'AppKit' - - s.ios.deployment_target = '6.0' # minimum SDK with autolayout - s.osx.deployment_target = '10.7' # minimum SDK with autolayout - s.tvos.deployment_target = '9.0' # minimum SDK with autolayout + # minimum SDK with autolayout + s.platforms = { :ios => "9.0", :osx => "10.11", :tvos => "9.0" } s.requires_arc = true + s.static_framework = true end diff --git a/Masonry.xcodeproj/project.pbxproj b/Masonry.xcodeproj/project.pbxproj index 1d7d2dab..eff0892e 100644 --- a/Masonry.xcodeproj/project.pbxproj +++ b/Masonry.xcodeproj/project.pbxproj @@ -7,6 +7,13 @@ objects = { /* Begin PBXBuildFile section */ + 1539A4A42665991900892F49 /* LayoutGuide+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1539A4A22665991900892F49 /* LayoutGuide+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 156873F32669345D00656904 /* MASUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 156873F22669345D00656904 /* MASUtilities.m */; }; + 15CD2E49266661C000E84D15 /* NSArray+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CD2E48266661C000E84D15 /* NSArray+MASShorthandAdditions.m */; }; + 15CD2E4B2666620D00E84D15 /* LayoutGuide+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CD2E4A2666620D00E84D15 /* LayoutGuide+MASShorthandAdditions.m */; }; + 15CD2E4D2666626100E84D15 /* View+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CD2E4C2666626100E84D15 /* View+MASShorthandAdditions.m */; }; + 15E414912663780600D3D1B6 /* LayoutGuide+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 15E4148F2663780600D3D1B6 /* LayoutGuide+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15E414922663780600D3D1B6 /* LayoutGuide+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E414902663780600D3D1B6 /* LayoutGuide+MASAdditions.m */; }; 3AED05BD1AD59FD40053CC65 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05BC1AD59FD40053CC65 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3AED05F21AD5A0470053CC65 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3AED05F31AD5A0470053CC65 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */; }; @@ -30,36 +37,18 @@ 3AED06051AD5A0470053CC65 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3AED06061AD5A0470053CC65 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */; }; 3AED06071AD5A0470053CC65 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED060A1AD5A1400053CC65 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */; }; - 3AED060B1AD5A1400053CC65 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E71AD5A0470053CC65 /* MASViewAttribute.m */; }; - 3AED060C1AD5A1400053CC65 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E41AD5A0470053CC65 /* MASLayoutConstraint.m */; }; - 3AED060D1AD5A1400053CC65 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DF1AD5A0470053CC65 /* MASConstraint.m */; }; - 3AED060E1AD5A1400053CC65 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E91AD5A0470053CC65 /* MASViewConstraint.m */; }; - 3AED060F1AD5A1400053CC65 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */; }; - 3AED06101AD5A1400053CC65 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E21AD5A0470053CC65 /* MASConstraintMaker.m */; }; - 3AED06111AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EE1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m */; }; - 3AED06121AD5A1400053CC65 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */; }; - 3AED06151AD5A1400053CC65 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06161AD5A1400053CC65 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06171AD5A1400053CC65 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E61AD5A0470053CC65 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06181AD5A1400053CC65 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05BC1AD59FD40053CC65 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06191AD5A1400053CC65 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E31AD5A0470053CC65 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED061A1AD5A1400053CC65 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E81AD5A0470053CC65 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED061B1AD5A1400053CC65 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED061C1AD5A1400053CC65 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E11AD5A0470053CC65 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED061D1AD5A1400053CC65 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 3AED061E1AD5A1400053CC65 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E51AD5A0470053CC65 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED061F1AD5A1400053CC65 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06201AD5A1400053CC65 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06211AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05ED1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AED06221AD5A1400053CC65 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DE1AD5A0470053CC65 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4473548D1B39F772004DACCB /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4473548E1B39F772004DACCB /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */; }; - 447354921B3A18B3004DACCB /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */; }; - 447354931B3A18B9004DACCB /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 1539A4A22665991900892F49 /* LayoutGuide+MASShorthandAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LayoutGuide+MASShorthandAdditions.h"; sourceTree = ""; }; + 156873F22669345D00656904 /* MASUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASUtilities.m; sourceTree = ""; }; + 15CD2E48266661C000E84D15 /* NSArray+MASShorthandAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+MASShorthandAdditions.m"; sourceTree = ""; }; + 15CD2E4A2666620D00E84D15 /* LayoutGuide+MASShorthandAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "LayoutGuide+MASShorthandAdditions.m"; sourceTree = ""; }; + 15CD2E4C2666626100E84D15 /* View+MASShorthandAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "View+MASShorthandAdditions.m"; sourceTree = ""; }; + 15E4148F2663780600D3D1B6 /* LayoutGuide+MASAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LayoutGuide+MASAdditions.h"; sourceTree = ""; }; + 15E414902663780600D3D1B6 /* LayoutGuide+MASAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "LayoutGuide+MASAdditions.m"; sourceTree = ""; }; 3AED05B71AD59FD40053CC65 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3AED05BB1AD59FD40053CC65 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3AED05BC1AD59FD40053CC65 /* Masonry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = ""; }; @@ -85,7 +74,6 @@ 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASAdditions.h"; sourceTree = ""; }; 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "View+MASAdditions.m"; sourceTree = ""; }; 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASShorthandAdditions.h"; sourceTree = ""; }; - 3AED06271AD5A1400053CC65 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ViewController+MASAdditions.h"; sourceTree = ""; }; 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ViewController+MASAdditions.m"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -98,13 +86,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3AED06131AD5A1400053CC65 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -120,7 +101,6 @@ isa = PBXGroup; children = ( 3AED05B71AD59FD40053CC65 /* Masonry.framework */, - 3AED06271AD5A1400053CC65 /* Masonry.framework */, ); name = Products; sourceTree = ""; @@ -130,14 +110,21 @@ children = ( 3AED05BC1AD59FD40053CC65 /* Masonry.h */, 3AED05E51AD5A0470053CC65 /* MASUtilities.h */, + 156873F22669345D00656904 /* MASUtilities.m */, 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */, 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */, 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */, + 15CD2E4C2666626100E84D15 /* View+MASShorthandAdditions.m */, 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */, 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */, + 15E4148F2663780600D3D1B6 /* LayoutGuide+MASAdditions.h */, + 15E414902663780600D3D1B6 /* LayoutGuide+MASAdditions.m */, + 1539A4A22665991900892F49 /* LayoutGuide+MASShorthandAdditions.h */, + 15CD2E4A2666620D00E84D15 /* LayoutGuide+MASShorthandAdditions.m */, 3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */, 3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */, 3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */, + 15CD2E48266661C000E84D15 /* NSArray+MASShorthandAdditions.m */, 3AED05DE1AD5A0470053CC65 /* MASConstraint.h */, 3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */, 3AED05DF1AD5A0470053CC65 /* MASConstraint.m */, @@ -176,6 +163,8 @@ 3AED06051AD5A0470053CC65 /* View+MASAdditions.h in Headers */, 3AED06071AD5A0470053CC65 /* View+MASShorthandAdditions.h in Headers */, 4473548D1B39F772004DACCB /* ViewController+MASAdditions.h in Headers */, + 15E414912663780600D3D1B6 /* LayoutGuide+MASAdditions.h in Headers */, + 1539A4A42665991900892F49 /* LayoutGuide+MASShorthandAdditions.h in Headers */, 3AED05FC1AD5A0470053CC65 /* MASViewAttribute.h in Headers */, 3AED05BD1AD59FD40053CC65 /* Masonry.h in Headers */, 3AED05F91AD5A0470053CC65 /* MASLayoutConstraint.h in Headers */, @@ -191,34 +180,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3AED06141AD5A1400053CC65 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3AED06151AD5A1400053CC65 /* View+MASAdditions.h in Headers */, - 3AED06161AD5A1400053CC65 /* View+MASShorthandAdditions.h in Headers */, - 3AED06171AD5A1400053CC65 /* MASViewAttribute.h in Headers */, - 3AED06181AD5A1400053CC65 /* Masonry.h in Headers */, - 3AED06191AD5A1400053CC65 /* MASLayoutConstraint.h in Headers */, - 3AED061A1AD5A1400053CC65 /* MASViewConstraint.h in Headers */, - 3AED061B1AD5A1400053CC65 /* NSArray+MASShorthandAdditions.h in Headers */, - 3AED061C1AD5A1400053CC65 /* MASConstraintMaker.h in Headers */, - 3AED061E1AD5A1400053CC65 /* MASUtilities.h in Headers */, - 3AED061F1AD5A1400053CC65 /* NSArray+MASAdditions.h in Headers */, - 3AED06201AD5A1400053CC65 /* MASCompositeConstraint.h in Headers */, - 447354931B3A18B9004DACCB /* ViewController+MASAdditions.h in Headers */, - 3AED06221AD5A1400053CC65 /* MASConstraint.h in Headers */, - 3AED061D1AD5A1400053CC65 /* MASConstraint+Private.h in Headers */, - 3AED06211AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3AED05B61AD59FD40053CC65 /* Masonry iOS */ = { + 3AED05B61AD59FD40053CC65 /* Masonry */ = { isa = PBXNativeTarget; - buildConfigurationList = 3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget "Masonry iOS" */; + buildConfigurationList = 3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget "Masonry" */; buildPhases = ( 3AED05B21AD59FD40053CC65 /* Sources */, 3AED05B31AD59FD40053CC65 /* Frameworks */, @@ -229,36 +196,18 @@ ); dependencies = ( ); - name = "Masonry iOS"; + name = Masonry; productName = Masonry; productReference = 3AED05B71AD59FD40053CC65 /* Masonry.framework */; productType = "com.apple.product-type.framework"; }; - 3AED06081AD5A1400053CC65 /* Masonry OSX */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3AED06241AD5A1400053CC65 /* Build configuration list for PBXNativeTarget "Masonry OSX" */; - buildPhases = ( - 3AED06091AD5A1400053CC65 /* Sources */, - 3AED06131AD5A1400053CC65 /* Frameworks */, - 3AED06141AD5A1400053CC65 /* Headers */, - 3AED06231AD5A1400053CC65 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Masonry OSX"; - productName = Masonry; - productReference = 3AED06271AD5A1400053CC65 /* Masonry.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 3AED05AE1AD59FD40053CC65 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0900; + LastUpgradeCheck = 1250; ORGANIZATIONNAME = "Jonas Budelmann"; TargetAttributes = { 3AED05B61AD59FD40053CC65 = { @@ -271,6 +220,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = 3AED05AD1AD59FD40053CC65; @@ -278,8 +228,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 3AED05B61AD59FD40053CC65 /* Masonry iOS */, - 3AED06081AD5A1400053CC65 /* Masonry OSX */, + 3AED05B61AD59FD40053CC65 /* Masonry */, ); }; /* End PBXProject section */ @@ -292,13 +241,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3AED06231AD5A1400053CC65 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -308,31 +250,19 @@ files = ( 3AED06011AD5A0470053CC65 /* NSArray+MASAdditions.m in Sources */, 3AED05FD1AD5A0470053CC65 /* MASViewAttribute.m in Sources */, + 15CD2E4D2666626100E84D15 /* View+MASShorthandAdditions.m in Sources */, 4473548E1B39F772004DACCB /* ViewController+MASAdditions.m in Sources */, + 15E414922663780600D3D1B6 /* LayoutGuide+MASAdditions.m in Sources */, + 15CD2E49266661C000E84D15 /* NSArray+MASShorthandAdditions.m in Sources */, 3AED05FA1AD5A0470053CC65 /* MASLayoutConstraint.m in Sources */, 3AED05F51AD5A0470053CC65 /* MASConstraint.m in Sources */, + 15CD2E4B2666620D00E84D15 /* LayoutGuide+MASShorthandAdditions.m in Sources */, 3AED05FF1AD5A0470053CC65 /* MASViewConstraint.m in Sources */, 3AED05F31AD5A0470053CC65 /* MASCompositeConstraint.m in Sources */, 3AED05F81AD5A0470053CC65 /* MASConstraintMaker.m in Sources */, 3AED06041AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, 3AED06061AD5A0470053CC65 /* View+MASAdditions.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3AED06091AD5A1400053CC65 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3AED060A1AD5A1400053CC65 /* NSArray+MASAdditions.m in Sources */, - 3AED060B1AD5A1400053CC65 /* MASViewAttribute.m in Sources */, - 3AED060C1AD5A1400053CC65 /* MASLayoutConstraint.m in Sources */, - 3AED060D1AD5A1400053CC65 /* MASConstraint.m in Sources */, - 3AED060E1AD5A1400053CC65 /* MASViewConstraint.m in Sources */, - 3AED060F1AD5A1400053CC65 /* MASCompositeConstraint.m in Sources */, - 447354921B3A18B3004DACCB /* ViewController+MASAdditions.m in Sources */, - 3AED06101AD5A1400053CC65 /* MASConstraintMaker.m in Sources */, - 3AED06111AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, - 3AED06121AD5A1400053CC65 /* View+MASAdditions.m in Sources */, + 156873F32669345D00656904 /* MASUtilities.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -352,14 +282,17 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -386,12 +319,15 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.9; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 2.0; }; name = Debug; }; @@ -408,14 +344,17 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -435,12 +374,15 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.9; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = NO; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 2.0; }; name = Release; }; @@ -455,10 +397,12 @@ INFOPLIST_FILE = Masonry/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; PRODUCT_BUNDLE_IDENTIFIER = "com.cloudling.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = Masonry; - SDKROOT = iphoneos; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; }; name = Debug; }; @@ -473,46 +417,12 @@ INFOPLIST_FILE = Masonry/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; PRODUCT_BUNDLE_IDENTIFIER = "com.cloudling.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = Masonry; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 3AED06251AD5A1400053CC65 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Masonry/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cloudling.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = Masonry; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 3AED06261AD5A1400053CC65 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Masonry/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cloudling.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = Masonry; - SDKROOT = macosx; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; }; name = Release; }; @@ -528,7 +438,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget "Masonry iOS" */ = { + 3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget "Masonry" */ = { isa = XCConfigurationList; buildConfigurations = ( 3AED05CE1AD59FD40053CC65 /* Debug */, @@ -537,15 +447,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3AED06241AD5A1400053CC65 /* Build configuration list for PBXNativeTarget "Masonry OSX" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3AED06251AD5A1400053CC65 /* Debug */, - 3AED06261AD5A1400053CC65 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 3AED05AE1AD59FD40053CC65 /* Project object */; diff --git a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry OSX.xcscheme b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry OSX.xcscheme deleted file mode 100644 index 17d12e9b..00000000 --- a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry OSX.xcscheme +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry.xcscheme similarity index 78% rename from Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme rename to Masonry.xcodeproj/xcshareddata/xcschemes/Masonry.xcscheme index 61c34a76..124167eb 100644 --- a/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme +++ b/Masonry.xcodeproj/xcshareddata/xcschemes/Masonry.xcscheme @@ -1,6 +1,6 @@ @@ -26,35 +26,20 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - - diff --git a/Masonry/LayoutGuide+MASAdditions.h b/Masonry/LayoutGuide+MASAdditions.h new file mode 100644 index 00000000..3adcd9e6 --- /dev/null +++ b/Masonry/LayoutGuide+MASAdditions.h @@ -0,0 +1,65 @@ +// +// LayoutGuide+MASAdditions.h +// Masonry +// +// Created by v on 2021/5/30. +// Copyright © 2021 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" +#import "MASConstraintMaker.h" +#import "MASViewAttribute.h" + +NS_ASSUME_NONNULL_BEGIN + +API_AVAILABLE(macos(10.11), ios(9.0)) +@interface MASLayoutGuide (MASAdditions) + +@property (nonatomic, readonly) MASViewAttribute *mas_left; +@property (nonatomic, readonly) MASViewAttribute *mas_top; +@property (nonatomic, readonly) MASViewAttribute *mas_right; +@property (nonatomic, readonly) MASViewAttribute *mas_bottom; +@property (nonatomic, readonly) MASViewAttribute *mas_leading; +@property (nonatomic, readonly) MASViewAttribute *mas_trailing; +@property (nonatomic, readonly) MASViewAttribute *mas_width; +@property (nonatomic, readonly) MASViewAttribute *mas_height; +@property (nonatomic, readonly) MASViewAttribute *mas_centerX; +@property (nonatomic, readonly) MASViewAttribute *mas_centerY; + +@property (nonatomic, copy, readonly) MASViewAttribute * (^mas_attribute)(NSLayoutAttribute attr); + +/** + * 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 (NS_NOESCAPE^)(id 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 (NS_NOESCAPE^)(id 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 (NS_NOESCAPE^)(id make))block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/LayoutGuide+MASAdditions.m b/Masonry/LayoutGuide+MASAdditions.m new file mode 100644 index 00000000..9ad5f537 --- /dev/null +++ b/Masonry/LayoutGuide+MASAdditions.m @@ -0,0 +1,83 @@ +// +// LayoutGuide+MASAdditions.m +// Masonry +// +// Created by v on 2021/5/30. +// Copyright © 2021 Jonas Budelmann. All rights reserved. +// + +#import "LayoutGuide+MASAdditions.h" +#import + + +@implementation MASLayoutGuide (MASAdditions) + +- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE^)(id make))block { + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithLayoutGuide:self]; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE^)(id make))block { + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithLayoutGuide:self]; + constraintMaker.updateExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE^)(id make))block { + MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithLayoutGuide:self]; + constraintMaker.removeExisting = YES; + block(constraintMaker); + return [constraintMaker install]; +} + +#pragma mark - NSLayoutAttribute properties + +- (MASViewAttribute *)mas_left { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeLeft]; +} + +- (MASViewAttribute *)mas_top { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeTop]; +} + +- (MASViewAttribute *)mas_right { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeRight]; +} + +- (MASViewAttribute *)mas_bottom { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeBottom]; +} + +- (MASViewAttribute *)mas_leading { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeLeading]; +} + +- (MASViewAttribute *)mas_trailing { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeTrailing]; +} + +- (MASViewAttribute *)mas_width { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeWidth]; +} + +- (MASViewAttribute *)mas_height { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeHeight]; +} + +- (MASViewAttribute *)mas_centerX { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeCenterX]; +} + +- (MASViewAttribute *)mas_centerY { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:NSLayoutAttributeCenterY]; +} + +- (MASViewAttribute * (^)(NSLayoutAttribute))mas_attribute { + return ^(NSLayoutAttribute attr) { + return [[MASViewAttribute alloc] initWithView:self.owningView item:self layoutAttribute:attr]; + }; +} + +@end diff --git a/Masonry/LayoutGuide+MASShorthandAdditions.h b/Masonry/LayoutGuide+MASShorthandAdditions.h new file mode 100644 index 00000000..1ce1fdf2 --- /dev/null +++ b/Masonry/LayoutGuide+MASShorthandAdditions.h @@ -0,0 +1,43 @@ +// +// LayoutGuide+MASShorthandAdditions.h +// Masonry +// +// Created by v on 2021/6/1. +// Copyright © 2021 Jonas Budelmann. All rights reserved. +// + +#import "LayoutGuide+MASAdditions.h" + +#ifdef MAS_SHORTHAND + +NS_ASSUME_NONNULL_BEGIN + +/** + * Shorthand view additions without the 'mas_' prefixes, + * only enabled if MAS_SHORTHAND is defined + */ +API_AVAILABLE(macos(10.11), ios(9.0)) +@interface MASLayoutGuide (MASShorthandAdditions) + +@property (nonatomic, readonly) MASViewAttribute *left; +@property (nonatomic, readonly) MASViewAttribute *top; +@property (nonatomic, readonly) MASViewAttribute *right; +@property (nonatomic, readonly) MASViewAttribute *bottom; +@property (nonatomic, readonly) MASViewAttribute *leading; +@property (nonatomic, readonly) MASViewAttribute *trailing; +@property (nonatomic, readonly) MASViewAttribute *width; +@property (nonatomic, readonly) MASViewAttribute *height; +@property (nonatomic, readonly) MASViewAttribute *centerX; +@property (nonatomic, readonly) MASViewAttribute *centerY; + +@property (nonatomic, copy, readonly) MASViewAttribute * (^attribute)(NSLayoutAttribute attr); + +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; + +@end + +NS_ASSUME_NONNULL_END + +#endif diff --git a/Masonry/LayoutGuide+MASShorthandAdditions.m b/Masonry/LayoutGuide+MASShorthandAdditions.m new file mode 100644 index 00000000..b0fa3bd5 --- /dev/null +++ b/Masonry/LayoutGuide+MASShorthandAdditions.m @@ -0,0 +1,40 @@ +// +// LayoutGuide+MASShorthandAdditions.m +// Masonry +// +// Created by v on 2021/6/1. +// Copyright © 2021 Jonas Budelmann. All rights reserved. +// + +#import "LayoutGuide+MASShorthandAdditions.h" + +@implementation MASLayoutGuide (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); + +- (MASViewAttribute * (^)(NSLayoutAttribute))attribute { + return [self mas_attribute]; +} + +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end diff --git a/Masonry/MASCompositeConstraint.h b/Masonry/MASCompositeConstraint.h index 934c6f16..04a045b3 100644 --- a/Masonry/MASCompositeConstraint.h +++ b/Masonry/MASCompositeConstraint.h @@ -9,6 +9,8 @@ #import "MASConstraint.h" #import "MASUtilities.h" +NS_ASSUME_NONNULL_BEGIN + /** * A group of MASConstraint objects */ @@ -21,6 +23,11 @@ * * @return a composite constraint */ -- (id)initWithChildren:(NSArray *)children; +- (instancetype)initWithChildren:(NSArray *)children NS_DESIGNATED_INITIALIZER; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASCompositeConstraint.m b/Masonry/MASCompositeConstraint.m index 2002a405..b4ddbf16 100644 --- a/Masonry/MASCompositeConstraint.m +++ b/Masonry/MASCompositeConstraint.m @@ -11,20 +11,19 @@ @interface MASCompositeConstraint () -@property (nonatomic, strong) id mas_key; -@property (nonatomic, strong) NSMutableArray *childConstraints; +@property (nonatomic) id mas_key; +@property (nonatomic) 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; +- (instancetype)initWithChildren:(NSArray *)children { + if (self = [super init]) { + _childConstraints = [children mutableCopy]; + for (MASConstraint *constraint in _childConstraints) { + constraint.delegate = self; + } } return self; diff --git a/Masonry/MASConstraint+Private.h b/Masonry/MASConstraint+Private.h index ee0fd960..15333987 100644 --- a/Masonry/MASConstraint+Private.h +++ b/Masonry/MASConstraint+Private.h @@ -8,20 +8,14 @@ #import "MASConstraint.h" -@protocol MASConstraintDelegate; - +NS_ASSUME_NONNULL_BEGIN @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; +@property (nonatomic) BOOL updateExisting; /** * Based on a provided value type, is equal to calling: @@ -43,7 +37,7 @@ * MASViewAttribute, UIView, NSValue, NSArray * see readme for more details. */ -- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; +@property (nonatomic, copy, readonly) MASConstraint * (^equalToWithRelation)(id, NSLayoutRelation); /** * Override to set a custom chaining behaviour @@ -52,15 +46,4 @@ @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 +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASConstraint.h b/Masonry/MASConstraint.h index 6fea79ee..9cc10f36 100644 --- a/Masonry/MASConstraint.h +++ b/Masonry/MASConstraint.h @@ -8,6 +8,10 @@ #import "MASUtilities.h" +@protocol MASConstraintDelegate; + +NS_ASSUME_NONNULL_BEGIN + /** * Enables Constraints to be created with chainable syntax * Constraint can represent single NSLayoutConstraint (MASViewConstraint) @@ -22,68 +26,68 @@ * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight */ -- (MASConstraint * (^)(MASEdgeInsets insets))insets; +@property (nonatomic, copy, readonly) MASConstraint * (^insets)(MASEdgeInsets insets); /** * Modifies the NSLayoutConstraint constant, * only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following * NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight */ -- (MASConstraint * (^)(CGFloat inset))inset; +@property (nonatomic, copy, readonly) MASConstraint * (^inset)(CGFloat inset); /** * 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; +@property (nonatomic, copy, readonly) MASConstraint * (^sizeOffset)(CGSize offset); /** * 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; +@property (nonatomic, copy, readonly) MASConstraint * (^centerOffset)(CGPoint offset); /** * Modifies the NSLayoutConstraint constant */ -- (MASConstraint * (^)(CGFloat offset))offset; +@property (nonatomic, copy, readonly) MASConstraint * (^offset)(CGFloat offset); /** * Modifies the NSLayoutConstraint constant based on a value type */ -- (MASConstraint * (^)(NSValue *value))valueOffset; +@property (nonatomic, copy, readonly) MASConstraint * (^valueOffset)(NSValue *value); /** * Sets the NSLayoutConstraint multiplier property */ -- (MASConstraint * (^)(CGFloat multiplier))multipliedBy; +@property (nonatomic, copy, readonly) MASConstraint * (^multipliedBy)(CGFloat multiplier); /** * Sets the NSLayoutConstraint multiplier to 1.0/dividedBy */ -- (MASConstraint * (^)(CGFloat divider))dividedBy; +@property (nonatomic, copy, readonly) MASConstraint * (^dividedBy)(CGFloat divider); /** * Sets the NSLayoutConstraint priority to a float or MASLayoutPriority */ -- (MASConstraint * (^)(MASLayoutPriority priority))priority; +@property (nonatomic, copy, readonly) MASConstraint * (^priority)(MASLayoutPriority priority); /** * Sets the NSLayoutConstraint priority to MASLayoutPriorityLow */ -- (MASConstraint * (^)(void))priorityLow; +@property (nonatomic, copy, readonly) MASConstraint * (^priorityLow)(void); /** * Sets the NSLayoutConstraint priority to MASLayoutPriorityMedium */ -- (MASConstraint * (^)(void))priorityMedium; +@property (nonatomic, copy, readonly) MASConstraint * (^priorityMedium)(void); /** * Sets the NSLayoutConstraint priority to MASLayoutPriorityHigh */ -- (MASConstraint * (^)(void))priorityHigh; +@property (nonatomic, copy, readonly) MASConstraint * (^priorityHigh)(void); /** * Sets the constraint relation to NSLayoutRelationEqual @@ -91,7 +95,7 @@ * MASViewAttribute, UIView, NSValue, NSArray * see readme for more details. */ -- (MASConstraint * (^)(id attr))equalTo; +@property (nonatomic, copy, readonly) MASConstraint * (^equalTo)(id attr); /** * Sets the constraint relation to NSLayoutRelationGreaterThanOrEqual @@ -99,7 +103,7 @@ * MASViewAttribute, UIView, NSValue, NSArray * see readme for more details. */ -- (MASConstraint * (^)(id attr))greaterThanOrEqualTo; +@property (nonatomic, copy, readonly) MASConstraint * (^greaterThanOrEqualTo)(id attr); /** * Sets the constraint relation to NSLayoutRelationLessThanOrEqual @@ -107,46 +111,51 @@ * MASViewAttribute, UIView, NSValue, NSArray * see readme for more details. */ -- (MASConstraint * (^)(id attr))lessThanOrEqualTo; +@property (nonatomic, copy, readonly) MASConstraint * (^lessThanOrEqualTo)(id attr); /** * Optional semantic property which has no effect but improves the readability of constraint */ -- (MASConstraint *)with; +@property (nonatomic, readonly) MASConstraint *with; +#ifndef __cplusplus +#ifndef and /** * Optional semantic property which has no effect but improves the readability of constraint + * `and` is defined in in C or as an operator was built into C++ */ -- (MASConstraint *)and; +@property (nonatomic, readonly) MASConstraint *and; +#endif +#endif /** * 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; - -- (MASConstraint *)firstBaseline; -- (MASConstraint *)lastBaseline; +@property (nonatomic, readonly) MASConstraint *left; +@property (nonatomic, readonly) MASConstraint *top; +@property (nonatomic, readonly) MASConstraint *right; +@property (nonatomic, readonly) MASConstraint *bottom; +@property (nonatomic, readonly) MASConstraint *leading; +@property (nonatomic, readonly) MASConstraint *trailing; +@property (nonatomic, readonly) MASConstraint *width; +@property (nonatomic, readonly) MASConstraint *height; +@property (nonatomic, readonly) MASConstraint *centerX; +@property (nonatomic, readonly) MASConstraint *centerY; +@property (nonatomic, readonly) MASConstraint *baseline; + +@property (nonatomic, readonly) MASConstraint *firstBaseline; +@property (nonatomic, readonly) MASConstraint *lastBaseline; #if TARGET_OS_IPHONE || TARGET_OS_TV -- (MASConstraint *)leftMargin; -- (MASConstraint *)rightMargin; -- (MASConstraint *)topMargin; -- (MASConstraint *)bottomMargin; -- (MASConstraint *)leadingMargin; -- (MASConstraint *)trailingMargin; -- (MASConstraint *)centerXWithinMargins; -- (MASConstraint *)centerYWithinMargins; +@property (nonatomic, readonly) MASConstraint *leftMargin; +@property (nonatomic, readonly) MASConstraint *rightMargin; +@property (nonatomic, readonly) MASConstraint *topMargin; +@property (nonatomic, readonly) MASConstraint *bottomMargin; +@property (nonatomic, readonly) MASConstraint *leadingMargin; +@property (nonatomic, readonly) MASConstraint *trailingMargin; +@property (nonatomic, readonly) MASConstraint *centerXWithinMargins; +@property (nonatomic, readonly) MASConstraint *centerYWithinMargins; #endif @@ -154,7 +163,7 @@ /** * Sets the constraint debug name */ -- (MASConstraint * (^)(id key))key; +@property (nonatomic, copy, readonly) MASConstraint * (^key)(id key); // NSLayoutConstraint constant Setters // for use outside of mas_updateConstraints/mas_makeConstraints blocks @@ -202,6 +211,11 @@ @property (nonatomic, copy, readonly) MASConstraint *animator; #endif +/** + * Usually MASConstraintMaker but could be a parent MASConstraint + */ +@property (nonatomic, weak) id delegate; + /** * Activates an NSLayoutConstraint if it's supported by an OS. * Invokes install otherwise. @@ -256,13 +270,28 @@ * 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; +@property (nonatomic, copy, readonly) MASConstraint * (^mas_equalTo)(id attr); +@property (nonatomic, copy, readonly) MASConstraint * (^mas_greaterThanOrEqualTo)(id attr); +@property (nonatomic, copy, readonly) MASConstraint * (^mas_lessThanOrEqualTo)(id attr); /** * A dummy method to aid autocompletion */ -- (MASConstraint * (^)(id offset))mas_offset; +@property (nonatomic, copy, readonly) MASConstraint * (^mas_offset)(id offset); + +@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 * _Nullable)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASConstraint.m b/Masonry/MASConstraint.m index b8841e58..ec7f898d 100644 --- a/Masonry/MASConstraint.m +++ b/Masonry/MASConstraint.m @@ -17,7 +17,7 @@ @implementation MASConstraint #pragma mark - Init -- (id)init { +- (instancetype)init { NSAssert(![self isMemberOfClass:[MASConstraint class]], @"MASConstraint is an abstract class, you should not instantiate it directly."); return [super init]; } @@ -212,7 +212,7 @@ - (MASConstraint *)centerY { } - (MASConstraint *)baseline { - return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline]; } - (MASConstraint *)firstBaseline { diff --git a/Masonry/MASConstraintMaker.h b/Masonry/MASConstraintMaker.h index 9a0bc8df..a58a86e1 100644 --- a/Masonry/MASConstraintMaker.h +++ b/Masonry/MASConstraintMaker.h @@ -20,10 +20,11 @@ typedef NS_OPTIONS(NSInteger, MASAttribute) { MASAttributeHeight = 1 << NSLayoutAttributeHeight, MASAttributeCenterX = 1 << NSLayoutAttributeCenterX, MASAttributeCenterY = 1 << NSLayoutAttributeCenterY, - MASAttributeBaseline = 1 << NSLayoutAttributeBaseline, MASAttributeFirstBaseline = 1 << NSLayoutAttributeFirstBaseline, MASAttributeLastBaseline = 1 << NSLayoutAttributeLastBaseline, + + MASAttributeBaseline = MASAttributeLastBaseline, #if TARGET_OS_IPHONE || TARGET_OS_TV @@ -40,42 +41,80 @@ typedef NS_OPTIONS(NSInteger, MASAttribute) { }; +NS_ASSUME_NONNULL_BEGIN + +@protocol MASLayoutConstraint + +@property (nonatomic, readonly) MASConstraint *left; +@property (nonatomic, readonly) MASConstraint *top; +@property (nonatomic, readonly) MASConstraint *right; +@property (nonatomic, readonly) MASConstraint *bottom; +@property (nonatomic, readonly) MASConstraint *leading; +@property (nonatomic, readonly) MASConstraint *trailing; +@property (nonatomic, readonly) MASConstraint *width; +@property (nonatomic, readonly) MASConstraint *height; +@property (nonatomic, readonly) MASConstraint *centerX; +@property (nonatomic, readonly) MASConstraint *centerY; + +/** + * 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, 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, 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, readonly) MASConstraint *center; + +@end + /** * Provides factory methods for creating MASConstraints. * Constraints are collected until they are ready to be installed * */ -@interface MASConstraintMaker : NSObject +@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; - -@property (nonatomic, strong, readonly) MASConstraint *firstBaseline; -@property (nonatomic, strong, readonly) MASConstraint *lastBaseline; +@property (nonatomic, readonly) MASConstraint *left; +@property (nonatomic, readonly) MASConstraint *top; +@property (nonatomic, readonly) MASConstraint *right; +@property (nonatomic, readonly) MASConstraint *bottom; +@property (nonatomic, readonly) MASConstraint *leading; +@property (nonatomic, readonly) MASConstraint *trailing; +@property (nonatomic, readonly) MASConstraint *width; +@property (nonatomic, readonly) MASConstraint *height; +@property (nonatomic, readonly) MASConstraint *centerX; +@property (nonatomic, readonly) MASConstraint *centerY; +@property (nonatomic, readonly) MASConstraint *baseline; + +@property (nonatomic, readonly) MASConstraint *firstBaseline; +@property (nonatomic, readonly) MASConstraint *lastBaseline; #if TARGET_OS_IPHONE || TARGET_OS_TV -@property (nonatomic, strong, readonly) MASConstraint *leftMargin; -@property (nonatomic, strong, readonly) MASConstraint *rightMargin; -@property (nonatomic, strong, readonly) MASConstraint *topMargin; -@property (nonatomic, strong, readonly) MASConstraint *bottomMargin; -@property (nonatomic, strong, readonly) MASConstraint *leadingMargin; -@property (nonatomic, strong, readonly) MASConstraint *trailingMargin; -@property (nonatomic, strong, readonly) MASConstraint *centerXWithinMargins; -@property (nonatomic, strong, readonly) MASConstraint *centerYWithinMargins; +@property (nonatomic, readonly) MASConstraint *leftMargin; +@property (nonatomic, readonly) MASConstraint *rightMargin; +@property (nonatomic, readonly) MASConstraint *topMargin; +@property (nonatomic, readonly) MASConstraint *bottomMargin; +@property (nonatomic, readonly) MASConstraint *leadingMargin; +@property (nonatomic, readonly) MASConstraint *trailingMargin; +@property (nonatomic, readonly) MASConstraint *centerXWithinMargins; +@property (nonatomic, readonly) MASConstraint *centerYWithinMargins; #endif @@ -84,38 +123,38 @@ typedef NS_OPTIONS(NSInteger, MASAttribute) { * 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); +@property (nonatomic, 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; +@property (nonatomic, 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; +@property (nonatomic, 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; +@property (nonatomic, readonly) MASConstraint *center; /** * Whether or not to check for an existing constraint instead of adding constraint */ -@property (nonatomic, assign) BOOL updateExisting; +@property (nonatomic) BOOL updateExisting; /** * Whether or not to remove existing constraints prior to installing */ -@property (nonatomic, assign) BOOL removeExisting; +@property (nonatomic) BOOL removeExisting; /** * initialises the maker with a default view @@ -124,7 +163,12 @@ typedef NS_OPTIONS(NSInteger, MASAttribute) { * * @return a new MASConstraintMaker */ -- (id)initWithView:(MAS_VIEW *)view; +- (instancetype)initWithView:(MAS_VIEW *)view NS_DESIGNATED_INITIALIZER; + +- (instancetype)initWithLayoutGuide:(MASLayoutGuide *)layoutGuide NS_DESIGNATED_INITIALIZER API_AVAILABLE(macos(10.11), ios(9.0)); + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; /** * Calls install method on any MASConstraints which have been created by this maker @@ -133,6 +177,8 @@ typedef NS_OPTIONS(NSInteger, MASAttribute) { */ - (NSArray *)install; -- (MASConstraint * (^)(dispatch_block_t))group; +@property (nonatomic, copy, readonly) MASConstraint * (^group)(dispatch_block_t); @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASConstraintMaker.m b/Masonry/MASConstraintMaker.m index 26d377be..eba5f49f 100644 --- a/Masonry/MASConstraintMaker.m +++ b/Masonry/MASConstraintMaker.m @@ -12,29 +12,47 @@ #import "MASConstraint+Private.h" #import "MASViewAttribute.h" #import "View+MASAdditions.h" +#import "LayoutGuide+MASAdditions.h" @interface MASConstraintMaker () @property (nonatomic, weak) MAS_VIEW *view; -@property (nonatomic, strong) NSMutableArray *constraints; +@property (nullable, nonatomic, weak) MASLayoutGuide *item; +@property (nonatomic) NSMutableArray *constraints; @end @implementation MASConstraintMaker -- (id)initWithView:(MAS_VIEW *)view { - self = [super init]; - if (!self) return nil; - - self.view = view; - self.constraints = NSMutableArray.new; - +- (instancetype)initWithView:(MAS_VIEW *)view { + if (self = [super init]) { + self.view = view; + self.constraints = [NSMutableArray array]; + } + + return self; +} + +- (instancetype)initWithLayoutGuide:(MASLayoutGuide *)layoutGuide { + NSAssert(layoutGuide.owningView != nil, @"layoutGuide's owningView must not be nil"); + if (self = [super init]) { + self.view = layoutGuide.owningView; + self.item = layoutGuide; + self.constraints = [NSMutableArray array]; + } + return self; } - (NSArray *)install { if (self.removeExisting) { - NSArray *installedConstraints = [MASViewConstraint installedConstraintsForView:self.view]; + NSArray *installedConstraints; + if ([self.item isKindOfClass:MASLayoutGuide.class]) { + installedConstraints = [MASViewConstraint installedConstraintsForLayoutGuide:self.item]; + } else { + installedConstraints = [MASViewConstraint installedConstraintsForView:self.view]; + } + for (MASConstraint *constraint in installedConstraints) { [constraint uninstall]; } @@ -57,7 +75,7 @@ - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(M } - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { - MASViewAttribute *viewAttribute = [[MASViewAttribute alloc] initWithView:self.view layoutAttribute:layoutAttribute]; + MASViewAttribute *viewAttribute = [[MASViewAttribute alloc] initWithView:self.view item:self.item layoutAttribute:layoutAttribute]; MASViewConstraint *newConstraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:viewAttribute]; if ([constraint isKindOfClass:MASViewConstraint.class]) { //replace with composite constraint @@ -89,17 +107,19 @@ - (MASConstraint *)addConstraintWithAttributes:(MASAttribute)attrs { NSAssert((attrs & anyAttribute) != 0, @"You didn't pass any attribute to make.attributes(...)"); NSMutableArray *attributes = [NSMutableArray array]; + +#define layoutItem ((MAS_VIEW *)(self.item ?: self.view)) - 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 & MASAttributeLeft) [attributes addObject:layoutItem.mas_left]; + if (attrs & MASAttributeRight) [attributes addObject:layoutItem.mas_right]; + if (attrs & MASAttributeTop) [attributes addObject:layoutItem.mas_top]; + if (attrs & MASAttributeBottom) [attributes addObject:layoutItem.mas_bottom]; + if (attrs & MASAttributeLeading) [attributes addObject:layoutItem.mas_leading]; + if (attrs & MASAttributeTrailing) [attributes addObject:layoutItem.mas_trailing]; + if (attrs & MASAttributeWidth) [attributes addObject:layoutItem.mas_width]; + if (attrs & MASAttributeHeight) [attributes addObject:layoutItem.mas_height]; + if (attrs & MASAttributeCenterX) [attributes addObject:layoutItem.mas_centerX]; + if (attrs & MASAttributeCenterY) [attributes addObject:layoutItem.mas_centerY]; if (attrs & MASAttributeBaseline) [attributes addObject:self.view.mas_baseline]; if (attrs & MASAttributeFirstBaseline) [attributes addObject:self.view.mas_firstBaseline]; if (attrs & MASAttributeLastBaseline) [attributes addObject:self.view.mas_lastBaseline]; @@ -176,7 +196,7 @@ - (MASConstraint *)centerY { } - (MASConstraint *)baseline { - return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline]; + return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline]; } - (MASConstraint *(^)(MASAttribute))attributes { diff --git a/Masonry/MASLayoutConstraint.h b/Masonry/MASLayoutConstraint.h index 699041cb..88ffd3ad 100644 --- a/Masonry/MASLayoutConstraint.h +++ b/Masonry/MASLayoutConstraint.h @@ -8,6 +8,8 @@ #import "MASUtilities.h" +NS_ASSUME_NONNULL_BEGIN + /** * 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 @@ -17,6 +19,8 @@ /** * a key to associate with this constraint */ -@property (nonatomic, strong) id mas_key; +@property (nonatomic) id mas_key; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASUtilities.h b/Masonry/MASUtilities.h index 1dbfd938..3cf10da4 100644 --- a/Masonry/MASUtilities.h +++ b/Masonry/MASUtilities.h @@ -8,12 +8,11 @@ #import - - #if TARGET_OS_IPHONE || TARGET_OS_TV #import #define MAS_VIEW UIView + #define MASLayoutGuide UILayoutGuide #define MAS_VIEW_CONTROLLER UIViewController #define MASEdgeInsets UIEdgeInsets @@ -28,6 +27,7 @@ #import #define MAS_VIEW NSView + #define MASLayoutGuide NSLayoutGuide #define MASEdgeInsets NSEdgeInsets typedef NSLayoutPriority MASLayoutPriority; @@ -69,68 +69,24 @@ #define MAS_NSUINT_BIT (CHAR_BIT * sizeof(NSUInteger)) #define MAS_NSUINTROTATE(val, howmuch) ((((NSUInteger)val) << howmuch) | (((NSUInteger)val) >> (MAS_NSUINT_BIT - howmuch))) +#define MAS_ATTR_FORWARD(attr) \ +- (MASViewAttribute *)attr { \ + return [self mas_##attr]; \ +} + +#define MAS_ATTR_FORWARD_AVAILABLE(attr, available) \ +- (MASViewAttribute *)attr available { \ + return [self mas_##attr]; \ +} + +NS_ASSUME_NONNULL_BEGIN + /** * 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; -} +FOUNDATION_EXPORT id _Nullable _MASBoxValue(const char *type, ...); + +NS_ASSUME_NONNULL_END #define MASBoxValue(value) _MASBoxValue(@encode(__typeof__((value))), (value)) diff --git a/Masonry/MASUtilities.m b/Masonry/MASUtilities.m new file mode 100644 index 00000000..8a06312b --- /dev/null +++ b/Masonry/MASUtilities.m @@ -0,0 +1,73 @@ +// +// MASUtilities.m +// Masonry +// +// Created by Jonas Budelmann on 19/08/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "MASUtilities.h" + +/** + * Given a scalar or struct value, wraps it in NSValue + * Based on EXPObjectify: https://github.com/specta/expecta + */ +FOUNDATION_EXPORT 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; +} diff --git a/Masonry/MASViewAttribute.h b/Masonry/MASViewAttribute.h index 601c25d1..298dd7bc 100644 --- a/Masonry/MASViewAttribute.h +++ b/Masonry/MASViewAttribute.h @@ -8,6 +8,8 @@ #import "MASUtilities.h" +NS_ASSUME_NONNULL_BEGIN + /** * 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 @@ -27,17 +29,20 @@ /** * The attribute which the reciever relates to */ -@property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; +@property (nonatomic, readonly) NSLayoutAttribute layoutAttribute; /** * Convenience initializer. */ -- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; +- (instancetype)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; /** * The designated initializer. */ -- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; +- (instancetype)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute NS_DESIGNATED_INITIALIZER; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; /** * Determine whether the layoutAttribute is a size attribute @@ -47,3 +52,5 @@ - (BOOL)isSizeAttribute; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASViewAttribute.m b/Masonry/MASViewAttribute.m index e573e8bd..8b09ec62 100644 --- a/Masonry/MASViewAttribute.m +++ b/Masonry/MASViewAttribute.m @@ -10,19 +10,17 @@ @implementation MASViewAttribute -- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { - self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; - return self; +- (instancetype)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { + return [self initWithView:view item:view layoutAttribute:layoutAttribute]; } -- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { - self = [super init]; - if (!self) return nil; - - _view = view; - _item = item; - _layoutAttribute = layoutAttribute; - +- (instancetype)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { + if (self = [super init]) { + _view = view; + _item = item?:view; + _layoutAttribute = layoutAttribute; + } + return self; } diff --git a/Masonry/MASViewConstraint.h b/Masonry/MASViewConstraint.h index ec390d15..d52f0450 100644 --- a/Masonry/MASViewConstraint.h +++ b/Masonry/MASViewConstraint.h @@ -11,6 +11,8 @@ #import "MASLayoutConstraint.h" #import "MASUtilities.h" +NS_ASSUME_NONNULL_BEGIN + /** * A single constraint. * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view @@ -20,12 +22,12 @@ /** * First item/view and first attribute of the NSLayoutConstraint */ -@property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; +@property (nonatomic, readonly) MASViewAttribute *firstViewAttribute; /** * Second item/view and second attribute of the NSLayoutConstraint */ -@property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; +@property (nonatomic, readonly) MASViewAttribute *secondViewAttribute; /** * initialises the MASViewConstraint with the first part of the equation @@ -34,7 +36,10 @@ * * @return a new view constraint */ -- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; +- (instancetype)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute NS_DESIGNATED_INITIALIZER; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; /** * Returns all MASViewConstraints installed with this view as a first item. @@ -45,4 +50,8 @@ */ + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; ++ (NSArray *)installedConstraintsForLayoutGuide:(MASLayoutGuide *)layoutGuide API_AVAILABLE(macos(10.11), ios(9.0)); + @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/MASViewConstraint.m b/Masonry/MASViewConstraint.m index af3f0b44..7badcd0e 100644 --- a/Masonry/MASViewConstraint.m +++ b/Masonry/MASViewConstraint.m @@ -21,13 +21,33 @@ @interface MAS_VIEW (MASConstraints) @implementation MAS_VIEW (MASConstraints) -static char kInstalledConstraintsKey; +- (NSMutableSet *)mas_installedConstraints { + const void *key = @selector(mas_installedConstraints); + NSMutableSet *constraints = objc_getAssociatedObject(self, key); + if (!constraints) { + constraints = [NSMutableSet set]; + objc_setAssociatedObject(self, key, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + return constraints; +} + +@end + + +@interface MASLayoutGuide (MASConstraints) + +@property (nonatomic, readonly) NSMutableSet *mas_installedConstraints; + +@end + +@implementation MASLayoutGuide (MASConstraints) - (NSMutableSet *)mas_installedConstraints { - NSMutableSet *constraints = objc_getAssociatedObject(self, &kInstalledConstraintsKey); + const void *key = @selector(mas_installedConstraints); + NSMutableSet *constraints = objc_getAssociatedObject(self, key); if (!constraints) { constraints = [NSMutableSet set]; - objc_setAssociatedObject(self, &kInstalledConstraintsKey, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject(self, key, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } return constraints; } @@ -37,29 +57,28 @@ - (NSMutableSet *)mas_installedConstraints { @interface MASViewConstraint () -@property (nonatomic, strong, readwrite) MASViewAttribute *secondViewAttribute; +@property (nonatomic, 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; +@property (nonatomic) NSLayoutRelation layoutRelation; +@property (nonatomic) MASLayoutPriority layoutPriority; +@property (nonatomic) CGFloat layoutMultiplier; +@property (nonatomic) CGFloat layoutConstant; +@property (nonatomic) BOOL hasLayoutRelation; +@property (nonatomic) id mas_key; +@property (nonatomic) BOOL useAnimator; @end @implementation MASViewConstraint -- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute { - self = [super init]; - if (!self) return nil; - - _firstViewAttribute = firstViewAttribute; - self.layoutPriority = MASLayoutPriorityRequired; - self.layoutMultiplier = 1; - +- (instancetype)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute { + if (self = [super init]) { + _firstViewAttribute = firstViewAttribute; + self.layoutPriority = MASLayoutPriorityRequired; + self.layoutMultiplier = 1; + } + return self; } @@ -81,6 +100,10 @@ + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view { return [view.mas_installedConstraints allObjects]; } ++ (NSArray *)installedConstraintsForLayoutGuide:(MASLayoutGuide *)layoutGuide { + return [layoutGuide.mas_installedConstraints allObjects]; +} + #pragma mark - Private - (void)setLayoutConstant:(CGFloat)layoutConstant { @@ -121,16 +144,27 @@ - (BOOL)hasBeenInstalled { - (void)setSecondViewAttribute:(id)secondViewAttribute { if ([secondViewAttribute isKindOfClass:NSValue.class]) { + if ([self.firstViewAttribute.item isKindOfClass:MASLayoutGuide.class]) { + if (!self.firstViewAttribute.isSizeAttribute) { + _secondViewAttribute = [[MASViewAttribute alloc] initWithView:self.firstViewAttribute.view + layoutAttribute:self.firstViewAttribute.layoutAttribute]; + } + } + [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]) { MASViewAttribute *attr = secondViewAttribute; if (attr.layoutAttribute == NSLayoutAttributeNotAnAttribute) { - _secondViewAttribute = [[MASViewAttribute alloc] initWithView:attr.view item:attr.item layoutAttribute:self.firstViewAttribute.layoutAttribute];; + _secondViewAttribute = [[MASViewAttribute alloc] initWithView:attr.view item:attr.item layoutAttribute:self.firstViewAttribute.layoutAttribute]; } else { _secondViewAttribute = secondViewAttribute; } + } else if ([secondViewAttribute isKindOfClass:MASLayoutGuide.class]) { + _secondViewAttribute = [[MASViewAttribute alloc] initWithView:((MASLayoutGuide *)secondViewAttribute).owningView + item:secondViewAttribute + layoutAttribute:self.firstViewAttribute.layoutAttribute]; } else { NSAssert(NO, @"attempting to add unsupported attribute: %@", secondViewAttribute); } @@ -177,7 +211,7 @@ - (void)setSecondViewAttribute:(id)secondViewAttribute { return ^id(id attribute, NSLayoutRelation relation) { if ([attribute isKindOfClass:NSArray.class]) { NSAssert(!self.hasLayoutRelation, @"Redefinition of constraint relation"); - NSMutableArray *children = NSMutableArray.new; + NSMutableArray *children = [NSMutableArray array]; for (id attr in attribute) { MASViewConstraint *viewConstraint = [self copy]; viewConstraint.layoutRelation = relation; @@ -363,8 +397,13 @@ - (void)install { existingConstraint.constant = layoutConstraint.constant; self.layoutConstraint = existingConstraint; } else { - [self.installedView addConstraint:layoutConstraint]; self.layoutConstraint = layoutConstraint; + if ([self supportsActiveProperty]) { + layoutConstraint.active = YES; + } else { + [self.installedView addConstraint:layoutConstraint]; + } + [firstLayoutItem.mas_installedConstraints addObject:self]; } } @@ -392,15 +431,13 @@ - (MASLayoutConstraint *)layoutConstraintSimilarTo:(MASLayoutConstraint *)layout - (void)uninstall { if ([self supportsActiveProperty]) { self.layoutConstraint.active = NO; - [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; - return; + } else { + [self.installedView removeConstraint:self.layoutConstraint]; } - - [self.installedView removeConstraint:self.layoutConstraint]; + + [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; self.layoutConstraint = nil; self.installedView = nil; - - [self.firstViewAttribute.view.mas_installedConstraints removeObject:self]; } @end diff --git a/Masonry/Masonry.h b/Masonry/Masonry.h index d1bd579d..b85dae49 100644 --- a/Masonry/Masonry.h +++ b/Masonry/Masonry.h @@ -18,6 +18,8 @@ FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; #import "View+MASAdditions.h" #import "View+MASShorthandAdditions.h" #import "ViewController+MASAdditions.h" +#import "LayoutGuide+MASAdditions.h" +#import "LayoutGuide+MASShorthandAdditions.h" #import "NSArray+MASAdditions.h" #import "NSArray+MASShorthandAdditions.h" #import "MASConstraint.h" diff --git a/Masonry/NSArray+MASAdditions.h b/Masonry/NSArray+MASAdditions.h index 587618d9..bdb21da8 100644 --- a/Masonry/NSArray+MASAdditions.h +++ b/Masonry/NSArray+MASAdditions.h @@ -15,6 +15,8 @@ typedef NS_ENUM(NSUInteger, MASAxisType) { MASAxisTypeVertical }; +NS_ASSUME_NONNULL_BEGIN + @interface NSArray (MASAdditions) /** @@ -25,7 +27,7 @@ typedef NS_ENUM(NSUInteger, MASAxisType) { * * @return Array of created MASConstraints */ -- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; /** * Creates a MASConstraintMaker with each view in the callee. @@ -36,7 +38,7 @@ typedef NS_ENUM(NSUInteger, MASAxisType) { * * @return Array of created/updated MASConstraints */ -- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; /** * Creates a MASConstraintMaker with each view in the callee. @@ -47,7 +49,7 @@ typedef NS_ENUM(NSUInteger, MASAxisType) { * * @return Array of created/updated MASConstraints */ -- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; /** * distribute with fixed spacing @@ -70,3 +72,5 @@ typedef NS_ENUM(NSUInteger, MASAxisType) { - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/NSArray+MASAdditions.m b/Masonry/NSArray+MASAdditions.m index 831d8cda..269a33a6 100644 --- a/Masonry/NSArray+MASAdditions.m +++ b/Masonry/NSArray+MASAdditions.m @@ -11,7 +11,7 @@ @implementation NSArray (MASAdditions) -- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block { +- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE^)(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"); @@ -20,7 +20,7 @@ - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block { return constraints; } -- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block { +- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE^)(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"); @@ -29,7 +29,7 @@ - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block { return constraints; } -- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { +- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE^)(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"); diff --git a/Masonry/NSArray+MASShorthandAdditions.h b/Masonry/NSArray+MASShorthandAdditions.h index 8b473697..7aaeb18b 100644 --- a/Masonry/NSArray+MASShorthandAdditions.h +++ b/Masonry/NSArray+MASShorthandAdditions.h @@ -10,32 +10,20 @@ #ifdef MAS_SHORTHAND +NS_ASSUME_NONNULL_BEGIN + /** * 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; +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(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 +NS_ASSUME_NONNULL_END #endif diff --git a/Masonry/NSArray+MASShorthandAdditions.m b/Masonry/NSArray+MASShorthandAdditions.m new file mode 100644 index 00000000..245c5720 --- /dev/null +++ b/Masonry/NSArray+MASShorthandAdditions.m @@ -0,0 +1,25 @@ +// +// NSArray+MASShorthandAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "NSArray+MASShorthandAdditions.h" + +@implementation NSArray (MASShorthandAdditions) + +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end diff --git a/Masonry/NSLayoutConstraint+MASDebugAdditions.h b/Masonry/NSLayoutConstraint+MASDebugAdditions.h index 1279b4fd..8b6458b2 100644 --- a/Masonry/NSLayoutConstraint+MASDebugAdditions.h +++ b/Masonry/NSLayoutConstraint+MASDebugAdditions.h @@ -8,9 +8,13 @@ #import "MASUtilities.h" +NS_ASSUME_NONNULL_BEGIN + /** * makes debug and log output of NSLayoutConstraints more readable */ @interface NSLayoutConstraint (MASDebugAdditions) @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/NSLayoutConstraint+MASDebugAdditions.m b/Masonry/NSLayoutConstraint+MASDebugAdditions.m index f6c43f54..b365fd7e 100644 --- a/Masonry/NSLayoutConstraint+MASDebugAdditions.m +++ b/Masonry/NSLayoutConstraint+MASDebugAdditions.m @@ -42,7 +42,7 @@ + (NSDictionary *)layoutAttributeDescriptionsByValue { @(NSLayoutAttributeHeight) : @"height", @(NSLayoutAttributeCenterX) : @"centerX", @(NSLayoutAttributeCenterY) : @"centerY", - @(NSLayoutAttributeBaseline) : @"baseline", + @(NSLayoutAttributeFirstBaseline) : @"firstBaseline", @(NSLayoutAttributeLastBaseline) : @"lastBaseline", diff --git a/Masonry/View+MASAdditions.h b/Masonry/View+MASAdditions.h index 00477c1c..c27ab15b 100644 --- a/Masonry/View+MASAdditions.h +++ b/Masonry/View+MASAdditions.h @@ -1,5 +1,5 @@ // -// UIView+MASAdditions.h +// View+MASAdditions.h // Masonry // // Created by Jonas Budelmann on 20/07/13. @@ -10,6 +10,8 @@ #import "MASConstraintMaker.h" #import "MASViewAttribute.h" +NS_ASSUME_NONNULL_BEGIN + /** * Provides constraint maker block * and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs @@ -19,51 +21,52 @@ /** * 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); - -@property (nonatomic, strong, readonly) MASViewAttribute *mas_firstBaseline; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_lastBaseline; +@property (nonatomic, readonly) MASViewAttribute *mas_left; +@property (nonatomic, readonly) MASViewAttribute *mas_top; +@property (nonatomic, readonly) MASViewAttribute *mas_right; +@property (nonatomic, readonly) MASViewAttribute *mas_bottom; +@property (nonatomic, readonly) MASViewAttribute *mas_leading; +@property (nonatomic, readonly) MASViewAttribute *mas_trailing; +@property (nonatomic, readonly) MASViewAttribute *mas_width; +@property (nonatomic, readonly) MASViewAttribute *mas_height; +@property (nonatomic, readonly) MASViewAttribute *mas_centerX; +@property (nonatomic, readonly) MASViewAttribute *mas_centerY; +@property (nonatomic, readonly) MASViewAttribute *mas_baseline; + +@property (nonatomic, copy, readonly) MASViewAttribute * (^mas_attribute)(NSLayoutAttribute attr); + +@property (nonatomic, readonly) MASViewAttribute *mas_firstBaseline; +@property (nonatomic, readonly) MASViewAttribute *mas_lastBaseline; #if TARGET_OS_IPHONE || TARGET_OS_TV -@property (nonatomic, strong, readonly) MASViewAttribute *mas_leftMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_rightMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_topMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_leadingMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailingMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerXWithinMargins; -@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerYWithinMargins; - -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuide NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeading NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTrailing NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeft NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideRight NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTop NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideBottom NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideWidth NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideHeight NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterX NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterY NS_AVAILABLE_IOS(11.0); +@property (nonatomic, readonly) MASViewAttribute *mas_leftMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_rightMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_topMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_bottomMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_leadingMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_trailingMargin; +@property (nonatomic, readonly) MASViewAttribute *mas_centerXWithinMargins; +@property (nonatomic, readonly) MASViewAttribute *mas_centerYWithinMargins; + +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuide API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeading API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTrailing API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeft API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideRight API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTop API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideBottom API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideWidth API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideHeight API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterX API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterY API_AVAILABLE(ios(11.0)); #endif /** * a key to associate with this view */ -@property (nonatomic, strong) id mas_key; +@property (nonatomic) id mas_key; /** * Finds the closest common superview between this view and another view @@ -72,7 +75,7 @@ * * @return returns nil if common superview could not be found */ -- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view; +- (__kindof MAS_VIEW *)mas_closestCommonSuperview:(MAS_VIEW *)view; /** * Creates a MASConstraintMaker with the callee view. @@ -82,7 +85,7 @@ * * @return Array of created MASConstraints */ -- (NSArray *)mas_makeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; /** * Creates a MASConstraintMaker with the callee view. @@ -93,7 +96,7 @@ * * @return Array of created/updated MASConstraints */ -- (NSArray *)mas_updateConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; /** * Creates a MASConstraintMaker with the callee view. @@ -104,6 +107,8 @@ * * @return Array of created/updated MASConstraints */ -- (NSArray *)mas_remakeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block; +- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; @end + +NS_ASSUME_NONNULL_END diff --git a/Masonry/View+MASAdditions.m b/Masonry/View+MASAdditions.m index b99316ad..218f2835 100644 --- a/Masonry/View+MASAdditions.m +++ b/Masonry/View+MASAdditions.m @@ -1,5 +1,5 @@ // -// UIView+MASAdditions.m +// View+MASAdditions.m // Masonry // // Created by Jonas Budelmann on 20/07/13. @@ -11,14 +11,14 @@ @implementation MAS_VIEW (MASAdditions) -- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block { +- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { self.translatesAutoresizingMaskIntoConstraints = NO; MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; block(constraintMaker); return [constraintMaker install]; } -- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block { +- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { self.translatesAutoresizingMaskIntoConstraints = NO; MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; constraintMaker.updateExisting = YES; @@ -26,7 +26,7 @@ - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block { return [constraintMaker install]; } -- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { +- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block { self.translatesAutoresizingMaskIntoConstraints = NO; MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self]; constraintMaker.removeExisting = YES; @@ -77,11 +77,10 @@ - (MASViewAttribute *)mas_centerY { } - (MASViewAttribute *)mas_baseline { - return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBaseline]; + return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLastBaseline]; } -- (MASViewAttribute *(^)(NSLayoutAttribute))mas_attribute -{ +- (MASViewAttribute * (^)(NSLayoutAttribute))mas_attribute { return ^(NSLayoutAttribute attr) { return [[MASViewAttribute alloc] initWithView:self layoutAttribute:attr]; }; @@ -186,20 +185,15 @@ - (void)setMas_key:(id)key { #pragma mark - heirachy -- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view { - MAS_VIEW *closestCommonSuperview = nil; - +- (__kindof MAS_VIEW *)mas_closestCommonSuperview:(MAS_VIEW *)view { + MAS_VIEW *closestCommonSuperview = self; 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; + // O(a+b) + while (closestCommonSuperview != secondViewSuperview) { + closestCommonSuperview = !closestCommonSuperview ? view : closestCommonSuperview.superview; + secondViewSuperview = !secondViewSuperview ? self : secondViewSuperview.superview; } + return closestCommonSuperview; } diff --git a/Masonry/View+MASShorthandAdditions.h b/Masonry/View+MASShorthandAdditions.h index 8e375ee3..ad9142d5 100644 --- a/Masonry/View+MASShorthandAdditions.h +++ b/Masonry/View+MASShorthandAdditions.h @@ -1,5 +1,5 @@ // -// UIView+MASShorthandAdditions.h +// View+MASShorthandAdditions.h // Masonry // // Created by Jonas Budelmann on 22/07/13. @@ -10,129 +10,65 @@ #ifdef MAS_SHORTHAND +NS_ASSUME_NONNULL_BEGIN + /** * 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); - -@property (nonatomic, strong, readonly) MASViewAttribute *firstBaseline; -@property (nonatomic, strong, readonly) MASViewAttribute *lastBaseline; - -#if TARGET_OS_IPHONE || TARGET_OS_TV +@property (nonatomic, readonly) MASViewAttribute *left; +@property (nonatomic, readonly) MASViewAttribute *top; +@property (nonatomic, readonly) MASViewAttribute *right; +@property (nonatomic, readonly) MASViewAttribute *bottom; +@property (nonatomic, readonly) MASViewAttribute *leading; +@property (nonatomic, readonly) MASViewAttribute *trailing; +@property (nonatomic, readonly) MASViewAttribute *width; +@property (nonatomic, readonly) MASViewAttribute *height; +@property (nonatomic, readonly) MASViewAttribute *centerX; +@property (nonatomic, readonly) MASViewAttribute *centerY; +@property (nonatomic, readonly) MASViewAttribute *baseline; -@property (nonatomic, strong, readonly) MASViewAttribute *leftMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *rightMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *topMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *bottomMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *leadingMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *trailingMargin; -@property (nonatomic, strong, readonly) MASViewAttribute *centerXWithinMargins; -@property (nonatomic, strong, readonly) MASViewAttribute *centerYWithinMargins; +@property (nonatomic, copy, readonly) MASViewAttribute * (^attribute)(NSLayoutAttribute attr); -#endif +@property (nonatomic, readonly) MASViewAttribute *firstBaseline; +@property (nonatomic, readonly) MASViewAttribute *lastBaseline; #if TARGET_OS_IPHONE || TARGET_OS_TV -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideLeading NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideTrailing NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideLeft NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideRight NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideTop NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideBottom NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideWidth NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideHeight NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideCenterX NS_AVAILABLE_IOS(11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideCenterY NS_AVAILABLE_IOS(11.0); +@property (nonatomic, readonly) MASViewAttribute *leftMargin; +@property (nonatomic, readonly) MASViewAttribute *rightMargin; +@property (nonatomic, readonly) MASViewAttribute *topMargin; +@property (nonatomic, readonly) MASViewAttribute *bottomMargin; +@property (nonatomic, readonly) MASViewAttribute *leadingMargin; +@property (nonatomic, readonly) MASViewAttribute *trailingMargin; +@property (nonatomic, readonly) MASViewAttribute *centerXWithinMargins; +@property (nonatomic, readonly) MASViewAttribute *centerYWithinMargins; #endif -- (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]; \ -} - -#define MAS_ATTR_FORWARD_AVAILABLE(attr, available) \ -- (MASViewAttribute *)attr available { \ - 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); - -MAS_ATTR_FORWARD(firstBaseline); -MAS_ATTR_FORWARD(lastBaseline); - #if TARGET_OS_IPHONE || TARGET_OS_TV -MAS_ATTR_FORWARD(leftMargin); -MAS_ATTR_FORWARD(rightMargin); -MAS_ATTR_FORWARD(topMargin); -MAS_ATTR_FORWARD(bottomMargin); -MAS_ATTR_FORWARD(leadingMargin); -MAS_ATTR_FORWARD(trailingMargin); -MAS_ATTR_FORWARD(centerXWithinMargins); -MAS_ATTR_FORWARD(centerYWithinMargins); - -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeading, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTrailing, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeft, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideRight, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTop, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideBottom, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideWidth, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideHeight, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterX, NS_AVAILABLE_IOS(11.0)); -MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterY, NS_AVAILABLE_IOS(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideLeading API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideTrailing API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideLeft API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideRight API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideTop API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideBottom API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideWidth API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideHeight API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideCenterX API_AVAILABLE(ios(11.0)); +@property (nonatomic, readonly) MASViewAttribute *safeAreaLayoutGuideCenterY API_AVAILABLE(ios(11.0)); #endif -- (MASViewAttribute *(^)(NSLayoutAttribute))attribute { - return [self mas_attribute]; -} - -- (NSArray *)makeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block { - return [self mas_makeConstraints:block]; -} - -- (NSArray *)updateConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block { - return [self mas_updateConstraints:block]; -} - -- (NSArray *)remakeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block { - return [self mas_remakeConstraints:block]; -} +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *make))block; @end +NS_ASSUME_NONNULL_END + #endif diff --git a/Masonry/View+MASShorthandAdditions.m b/Masonry/View+MASShorthandAdditions.m new file mode 100644 index 00000000..b77a4b13 --- /dev/null +++ b/Masonry/View+MASShorthandAdditions.m @@ -0,0 +1,68 @@ +// +// View+MASShorthandAdditions.m +// Masonry +// +// Created by Jonas Budelmann on 22/07/13. +// Copyright (c) 2013 Jonas Budelmann. All rights reserved. +// + +#import "View+MASShorthandAdditions.h" + +@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); + +MAS_ATTR_FORWARD(firstBaseline); +MAS_ATTR_FORWARD(lastBaseline); + +#if TARGET_OS_IPHONE || TARGET_OS_TV + +MAS_ATTR_FORWARD(leftMargin); +MAS_ATTR_FORWARD(rightMargin); +MAS_ATTR_FORWARD(topMargin); +MAS_ATTR_FORWARD(bottomMargin); +MAS_ATTR_FORWARD(leadingMargin); +MAS_ATTR_FORWARD(trailingMargin); +MAS_ATTR_FORWARD(centerXWithinMargins); +MAS_ATTR_FORWARD(centerYWithinMargins); + +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeading, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTrailing, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeft, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideRight, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTop, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideBottom, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideWidth, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideHeight, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterX, API_AVAILABLE(ios(11.0))); +MAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterY, API_AVAILABLE(ios(11.0))); + +#endif + +- (MASViewAttribute * (^)(NSLayoutAttribute))attribute { + return [self mas_attribute]; +} + +- (NSArray *)makeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_makeConstraints:block]; +} + +- (NSArray *)updateConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_updateConstraints:block]; +} + +- (NSArray *)remakeConstraints:(void (NS_NOESCAPE^)(MASConstraintMaker *))block { + return [self mas_remakeConstraints:block]; +} + +@end diff --git a/Masonry/ViewController+MASAdditions.h b/Masonry/ViewController+MASAdditions.h index 564654af..6719bf19 100644 --- a/Masonry/ViewController+MASAdditions.h +++ b/Masonry/ViewController+MASAdditions.h @@ -1,5 +1,5 @@ // -// UIViewController+MASAdditions.h +// ViewController+MASAdditions.h // Masonry // // Created by Craig Siemens on 2015-06-23. @@ -12,18 +12,22 @@ #ifdef MAS_VIEW_CONTROLLER +NS_ASSUME_NONNULL_BEGIN + @interface MAS_VIEW_CONTROLLER (MASAdditions) /** * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute */ -@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide NS_DEPRECATED_IOS(8.0, 11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide NS_DEPRECATED_IOS(8.0, 11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop NS_DEPRECATED_IOS(8.0, 11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom NS_DEPRECATED_IOS(8.0, 11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop NS_DEPRECATED_IOS(8.0, 11.0); -@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom NS_DEPRECATED_IOS(8.0, 11.0); +@property (nonatomic, readonly) MASViewAttribute *mas_topLayoutGuide API_DEPRECATED("Use view.mas_safeAreaLayoutGuideTop instead of mas_topLayoutGuide", ios(8.0, 11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_bottomLayoutGuide API_DEPRECATED("Use view.mas_safeAreaLayoutGuideBottom instead of mas_bottomLayoutGuide", ios(8.0, 11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_topLayoutGuideTop API_DEPRECATED("Use view.mas_top instead of mas_topLayoutGuideTop", ios(8.0, 11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_topLayoutGuideBottom API_DEPRECATED("Use view.mas_safeAreaLayoutGuideTop instead of mas_topLayoutGuideBottom", ios(8.0, 11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_bottomLayoutGuideTop API_DEPRECATED("Use view.mas_safeAreaLayoutGuideBottom instead of mas_bottomLayoutGuideTop", ios(8.0, 11.0)); +@property (nonatomic, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom API_DEPRECATED("Use view.mas_bottom instead of mas_bottomLayoutGuideBottom", ios(8.0, 11.0)); @end +NS_ASSUME_NONNULL_END + #endif diff --git a/Masonry/ViewController+MASAdditions.m b/Masonry/ViewController+MASAdditions.m index 9d8d378c..6ff24e09 100644 --- a/Masonry/ViewController+MASAdditions.m +++ b/Masonry/ViewController+MASAdditions.m @@ -1,5 +1,5 @@ // -// UIViewController+MASAdditions.m +// ViewController+MASAdditions.m // Masonry // // Created by Craig Siemens on 2015-06-23. diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..e35135dd --- /dev/null +++ b/Package.swift @@ -0,0 +1,29 @@ +// swift-tools-version:5.0 +// The swift-tools-version declares the minimum version of Swift required to build this package. +import PackageDescription + +let package = Package( + name: "Masonry", + platforms: [ + .macOS(.v10_11), + .iOS(.v9), + .tvOS(.v9) + ], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "Masonry", + targets: ["Masonry"]) + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "Masonry", + path: ".", + exclude: ["Masonry/Info.plist"], + sources: ["Masonry"], + publicHeadersPath: "Masonry" + ) + ] +) diff --git a/Podfile b/Podfile index 8401730c..fc58ab0a 100644 --- a/Podfile +++ b/Podfile @@ -1,6 +1,6 @@ workspace 'Masonry' -platform :ios, '8.0' +platform :ios, '9.0' project 'Examples/Masonry iOS Examples' target 'Masonry iOS Examples' do @@ -10,6 +10,7 @@ end target 'Masonry iOS Tests' do project 'Tests/Masonry Tests' pod 'Expecta' + pod 'Masonry', :path => './' end target 'MasonryTestsLoader' do diff --git a/Podfile.lock b/Podfile.lock index eab7e76f..5a12e933 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,19 +1,23 @@ PODS: - - Expecta (1.0.5) - - Masonry (1.1.0) + - Expecta (1.0.6) + - Masonry (1.2.0) DEPENDENCIES: - Expecta - Masonry (from `./`) +SPEC REPOS: + trunk: + - Expecta + EXTERNAL SOURCES: Masonry: - :path: ./ + :path: "./" SPEC CHECKSUMS: - Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe - Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 + Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 + Masonry: 96a3fe904efc19f534b3c48982db9f616613c590 -PODFILE CHECKSUM: a30c350a250a8af6afde1caabae52ede1d76714b +PODFILE CHECKSUM: edc6e98a73a37366909dc5103723a76307aebb04 -COCOAPODS: 1.3.0.beta.2 +COCOAPODS: 1.10.1 diff --git a/Pods/Expecta/Expecta/EXPDefines.h b/Pods/Expecta/Expecta/EXPDefines.h index 52af7219..f37f697f 100644 --- a/Pods/Expecta/Expecta/EXPDefines.h +++ b/Pods/Expecta/Expecta/EXPDefines.h @@ -9,9 +9,9 @@ #ifndef Expecta_EXPDefines_h #define Expecta_EXPDefines_h -typedef void (^EXPBasicBlock)(); -typedef id (^EXPIdBlock)(); -typedef BOOL (^EXPBoolBlock)(); -typedef NSString *(^EXPStringBlock)(); +typedef void (^EXPBasicBlock)(void); +typedef id (^EXPIdBlock)(void); +typedef BOOL (^EXPBoolBlock)(void); +typedef NSString *(^EXPStringBlock)(void); #endif diff --git a/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m b/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m index d294113f..597aeec4 100644 --- a/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m +++ b/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m @@ -4,12 +4,16 @@ EXPMatcherImplementationBegin(respondTo, (SEL expected)) { BOOL actualIsNil = (actual == nil); BOOL expectedIsNull = (expected == NULL); - + prerequisite (^BOOL { return !(actualIsNil || expectedIsNull); }); match(^BOOL { + if ([actual respondsToSelector:@selector(instancesRespondToSelector:)] && + [actual instancesRespondToSelector:expected]) { + return YES; + } return [actual respondsToSelector:expected]; }); diff --git a/Pods/Expecta/README.md b/Pods/Expecta/README.md index 19337075..afebcf25 100644 --- a/Pods/Expecta/README.md +++ b/Pods/Expecta/README.md @@ -1,13 +1,8 @@ -#Expecta - -[![Build Status](http://img.shields.io/travis/specta/expecta/master.svg?style=flat)](https://travis-ci.org/specta/expecta) -[![Pod Version](http://img.shields.io/cocoapods/v/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/) -[![Pod Platform](http://img.shields.io/cocoapods/p/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/) -[![Pod License](http://img.shields.io/cocoapods/l/Expecta.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html) +# Expecta [![Build Status](http://img.shields.io/travis/specta/expecta/master.svg?style=flat)](https://travis-ci.org/specta/expecta) [![Pod Version](http://img.shields.io/cocoapods/v/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/) A matcher framework for Objective-C and Cocoa. -## Introduction +## FEATURES The main advantage of using Expecta over other matcher frameworks is that you do not have to specify the data types. Also, the syntax of Expecta matchers is much more readable and does not suffer from parenthesitis. @@ -18,63 +13,10 @@ expect([bar isBar]).to.equal(YES); expect(baz).to.equal(3.14159); ``` -Expecta is framework-agnostic: it works well with XCTest and XCTest-compatible test frameworks such as [Specta](http://github.com/petejkim/specta/). - - -## Installation - -You can setup Expecta using [Carthage](https://github.com/Carthage/Carthage), [CocoaPods](http://github.com/CocoaPods/CocoaPods) or [completely manually](#setting-up-manually). - -### Carthage - -1. Add Expecta to your project's `Cartfile.private`: - - ```ruby - github "specta/expecta" "master" - ``` - -2. Run `carthage update` in your project directory. -3. Drag the appropriate **Expecta.framework** for your platform (located in `Carthage/Build/`) into your application’s Xcode project, and add it to your test target(s). - -### CocoaPods - -1. Add Expecta to your project's `Podfile`: - - ```ruby - target :MyApp do - # Your app's dependencies - end - - target :MyAppTests do - pod 'Expecta', '~> 1.0.0' - end - ``` - -2. Run `pod update` or `pod install` in your project directory. - -### Setting Up Manually - -1. Clone Expecta from Github. -2. Run `rake` in your project directory to build the frameworks and libraries. -3. Add a Cocoa or Cocoa Touch Unit Testing Bundle target to your Xcode project if you don't already have one. -4. For **OS X projects**, copy and add `Expecta.framework` in the `Products/osx` folder to your project's test target. - - For **iOS projects**, copy and add `Expecta.framework` in the `Products/ios` folder to your project's test target. - - You can also use `libExpecta.a` if you prefer to link Expecta as a static library — iOS 7.x and below require this. +Expecta is framework-agnostic: it works well with XCTest and XCTest-compatible test frameworks such as [Specta](http://github.com/petejkim/specta/), or [Kiwi](https://github.com/kiwi-bdd/Kiwi/). -6. Add `-ObjC` and `-all_load` to the **Other Linker Flags** build setting for the test target in your Xcode project. -7. You can now use Expecta in your test classes by adding the following import: - - ```objective-c - @import Expecta; // If you're using Expecta.framework - - // OR - - #import // If you're using the static library, or the framework - ``` -## Built-in Matchers +## MATCHERS > `expect(x).to.equal(y);` compares objects or primitives x and y and passes if they are identical (==) or equivalent isEqual:). @@ -132,13 +74,13 @@ You can setup Expecta using [Carthage](https://github.com/Carthage/Carthage), [C > `expect(x).to.match(y);` passes if an instance of NSString `x` matches regular expression (given as NSString) `y` one or more times. -## Inverting Matchers +### Inverting Matchers Every matcher's criteria can be inverted by prepending `.notTo` or `.toNot`: >`expect(x).notTo.equal(y);` compares objects or primitives x and y and passes if they are *not* equivalent. -## Asynchronous Testing +### Asynchronous Testing Every matcher can be made to perform asynchronous testing by prepending `.will`, `.willNot` or `after(...)`: @@ -172,14 +114,14 @@ describe(@"Foo", ^{ }); ``` -## Forced Failing +### Forced Failing You can fail a test by using the `failure` attribute. This can be used to test branching. > `failure(@"This should not happen");` outright fails a test. -## Writing New Matchers +### WRITING NEW MATCHERS Writing a new matcher is easy with special macros provided by Expecta. Take a look at how `.beKindOf()` matcher is defined: @@ -246,7 +188,7 @@ EXPMatcherImplementationBegin(beKindOf, (Class expected)) { EXPMatcherImplementationEnd ``` -## Dynamic Predicate Matchers +## DYNAMIC PREDICATE MATCHERS It is possible to add predicate matchers by simply defining the matcher interface, with the matcher implementation being handled at runtime by delegating to the predicate method on your object. @@ -282,6 +224,68 @@ You can now write your assertion as follows: expect(lightSwitch).isTurnedOn(); ``` +## INSTALLATION + +You can setup Expecta using [CocoaPods](http://github.com/CocoaPods/CocoaPods), [Carthage](https://github.com/Carthage/Carthage) or [completely manually](#setting-up-manually). + +### CocoaPods + +1. Add Expecta to your project's `Podfile`: + +```ruby +target :MyApp do +# your app dependencies + + target :MyAppTests do + inherit! search_paths + + pod 'Expecta', '~> 1.0' + end +end +``` + +### Carthage + +1. Add Expecta to your project's `Cartfile.private`: + + ```ruby + github "specta/expecta" "master" + ``` + +2. Run `carthage update` in your project directory. +3. Drag the appropriate **Expecta.framework** for your platform (located in `Carthage/Build/`) into your application’s Xcode project, and add it to your test target(s). + + +2. Run `pod update` or `pod install` in your project directory. + +### Setting Up Manually + +1. Clone Expecta from Github. +2. Run `rake` in your project directory to build the frameworks and libraries. +3. Add a Cocoa or Cocoa Touch Unit Testing Bundle target to your Xcode project if you don't already have one. +4. For **OS X projects**, copy and add `Expecta.framework` in the `Products/osx` folder to your project's test target. + + For **iOS projects**, copy and add `Expecta.framework` in the `Products/ios` folder to your project's test target. + + You can also use `libExpecta.a` if you prefer to link Expecta as a static library — iOS 7.x and below require this. + +6. Add `-ObjC` and `-all_load` to the **Other Linker Flags** build setting for the test target in your Xcode project. +7. You can now use Expecta in your test classes by adding the following import: + + ```objective-c + @import Expecta; // If you're using Expecta.framework + + // OR + + #import // If you're using the static library, or the framework + ``` + +## STATUS + +Expecta, and Specta are considered done projects, there are no plans for _active_ development on the project at the moment aside from ensuring future Xcode compatability. +Therefore it is a stable dependency, but will not be moving into the Swift world. If you are looking for that, we recommend you consider [Quick](https://github.com/quick/quick) and [Nimble](https://github.com/quick/nimble). + + ## Contribution Guidelines * Please use only spaces and indent 2 spaces at a time. @@ -290,4 +294,4 @@ expect(lightSwitch).isTurnedOn(); ## License -Copyright (c) 2012-2015 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE). +Copyright (c) 2012-2016 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE). diff --git a/Pods/Headers/Private/Masonry/LayoutGuide+MASAdditions.h b/Pods/Headers/Private/Masonry/LayoutGuide+MASAdditions.h new file mode 120000 index 00000000..915d77ab --- /dev/null +++ b/Pods/Headers/Private/Masonry/LayoutGuide+MASAdditions.h @@ -0,0 +1 @@ +../../../../Masonry/LayoutGuide+MASAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Private/Masonry/LayoutGuide+MASShorthandAdditions.h b/Pods/Headers/Private/Masonry/LayoutGuide+MASShorthandAdditions.h new file mode 120000 index 00000000..ace83e5d --- /dev/null +++ b/Pods/Headers/Private/Masonry/LayoutGuide+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../../Masonry/LayoutGuide+MASShorthandAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Public/Masonry/LayoutGuide+MASAdditions.h b/Pods/Headers/Public/Masonry/LayoutGuide+MASAdditions.h new file mode 120000 index 00000000..915d77ab --- /dev/null +++ b/Pods/Headers/Public/Masonry/LayoutGuide+MASAdditions.h @@ -0,0 +1 @@ +../../../../Masonry/LayoutGuide+MASAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Public/Masonry/LayoutGuide+MASShorthandAdditions.h b/Pods/Headers/Public/Masonry/LayoutGuide+MASShorthandAdditions.h new file mode 120000 index 00000000..ace83e5d --- /dev/null +++ b/Pods/Headers/Public/Masonry/LayoutGuide+MASShorthandAdditions.h @@ -0,0 +1 @@ +../../../../Masonry/LayoutGuide+MASShorthandAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Public/Masonry/MASConstraint+Private.h b/Pods/Headers/Public/Masonry/MASConstraint+Private.h deleted file mode 120000 index a3ab1976..00000000 --- a/Pods/Headers/Public/Masonry/MASConstraint+Private.h +++ /dev/null @@ -1 +0,0 @@ -../../../../Masonry/MASConstraint+Private.h \ No newline at end of file diff --git a/Pods/Local Podspecs/Masonry.podspec.json b/Pods/Local Podspecs/Masonry.podspec.json index 760af7d5..a1cc0d0e 100644 --- a/Pods/Local Podspecs/Masonry.podspec.json +++ b/Pods/Local Podspecs/Masonry.podspec.json @@ -1,41 +1,25 @@ { "name": "Masonry", - "version": "1.1.0", + "version": "1.2.0", "license": "MIT", "summary": "Harness the power of Auto Layout NSLayoutConstraints with a simplified, chainable and expressive syntax.", - "homepage": "https://github.com/cloudkite/Masonry", + "homepage": "https://github.com/SnapKit/Masonry", "authors": { "Jonas Budelmann": "jonas.budelmann@gmail.com" }, "social_media_url": "http://twitter.com/cloudkite", "source": { - "git": "https://github.com/cloudkite/Masonry.git", - "tag": "v1.1.0" + "git": "https://github.com/SnapKit/Masonry.git", + "tag": "v1.2.0" }, - "description": "Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax.\nMasonry has its own layout DSL which provides a chainable way of describing your\nNSLayoutConstraints which results in layout code which is more concise and readable.\n Masonry supports iOS and Mac OSX.", + "description": "Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax.\nMasonry has its own layout DSL which provides a chainable way of describing your\nNSLayoutConstraints which results in layout code which is more concise and readable.\n Masonry supports iOS and Mac OSX.", "source_files": "Masonry/*.{h,m}", - "ios": { - "frameworks": [ - "Foundation", - "UIKit" - ] - }, - "tvos": { - "frameworks": [ - "Foundation", - "UIKit" - ] - }, - "osx": { - "frameworks": [ - "Foundation", - "AppKit" - ] - }, + "private_header_files": "Masonry/MASConstraint+Private.h", "platforms": { - "ios": "6.0", - "osx": "10.7", + "ios": "9.0", + "osx": "10.11", "tvos": "9.0" }, - "requires_arc": true + "requires_arc": true, + "static_framework": true } diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index eab7e76f..5a12e933 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,19 +1,23 @@ PODS: - - Expecta (1.0.5) - - Masonry (1.1.0) + - Expecta (1.0.6) + - Masonry (1.2.0) DEPENDENCIES: - Expecta - Masonry (from `./`) +SPEC REPOS: + trunk: + - Expecta + EXTERNAL SOURCES: Masonry: - :path: ./ + :path: "./" SPEC CHECKSUMS: - Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe - Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 + Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 + Masonry: 96a3fe904efc19f534b3c48982db9f616613c590 -PODFILE CHECKSUM: a30c350a250a8af6afde1caabae52ede1d76714b +PODFILE CHECKSUM: edc6e98a73a37366909dc5103723a76307aebb04 -COCOAPODS: 1.3.0.beta.2 +COCOAPODS: 1.10.1 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index c8654693..7ee0b8a1 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,784 +7,813 @@ objects = { /* Begin PBXBuildFile section */ - 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 067B3CDE5AAD4D941172A17C9EEA5916 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07B309A8727E5DBE05DB1F644F7B8D8A /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */; }; - 0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D4B6D7C17953EF6C0BEFADA699DA6D2 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; }; - 0F7BD72B0882E4D4DD27C3B914EC3857 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1AF47B7901796231A318934C2F0DDC04 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */; }; - 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = CBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1F002B6CD1662BADA6556D76FFFE0B96 /* Pods-Masonry iOS Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */; }; - 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 28DD12DAF70F49B558112AA5E2809F19 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C8FBF03AD0FD40587A84D2994D758B4 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2D814705CE041C701138BD9147CB21AA /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = AEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */; }; - 31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 38B02E0B37B1F0225FBE396BD51461D9 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = DD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3AB6F716B6B591E90D2E2CB1434B55BB /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E2C9C19590011C8FE1F3966F4AF52D5 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 409B7E241957B5C0ADFA4DEA82CDA7AB /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */; }; - 42FA711D0BA099127544F7A978075C9D /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = AE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = CBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = ADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4F51EE6366844B6C34DD13F77D9A76CA /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6209E20926D79222E59F58B962BFAA1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */; }; - 62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = C0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6DA9AB53FE1CA890DF5FB0468FA0F476 /* Pods-Masonry iOS Examples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */; }; - 7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = C98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 76A58C6131A1264FDE3DADAEA0AC83F5 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = E66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 80408C0CF9D13D89E500446267DD0041 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */; }; - 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = BFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = E36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F196561D7369053FA6D9FD4374E85B9 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A8A60B0CEECC7D7C9D8CA6B2DC811C64 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = BB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */; }; - A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - AC80F28E4B250E6535484F5269566FF0 /* Pods-MasonryTestsLoader-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */; }; - AEEF0434A83EF5F1949252A8409F71DD /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFD341AE846EE3D48F3832FB858FD31C /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B66BCA2DD1043A4356B5286F346F8049 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */; }; - B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = D8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D2BD7E6904BDD20074AB5A8B04400EB2 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */; }; - D3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D69C7F6B7677C82AABBF7FE0057CE931 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = FC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D904A66B88A11E0356D09C38CA20102D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; }; - D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - DBA55CF16CB958E3F3D38079F18EBC06 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; }; - DFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E220D02AE7833F8B9202B0304FFBB644 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */; }; - E846C94664199B4B993866C557EEC20D /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */; }; - E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */; }; - EBFA48D334098E6BAB801E6FB8F756C0 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = EB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */; }; - ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = AEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F0B56A7D38A399A2F67F9920C9526A66 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; }; - F3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F589CF64CC8ED22D9F37824176FBBB72 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; }; - F7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */; }; - F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = B20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = DB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 03A812302F4831B26EA5D4090B743A8E /* LayoutGuide+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B394FB6D49FAF7FAD8D13D36456DC71E /* LayoutGuide+MASAdditions.m */; }; + 04DDC981AAD7F73EFDFD96393C227827 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4264D1B3E3017D85F1079D57BDF5A1D8 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 04E724A97339965ACA4E5D60226DA001 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4448FECF990760A568B005012B766C32 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 051D4B5709A6257B6F79D54D9139E812 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 87B08263B34CC746FC1645359B11B5D3 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 07E5854E45B4F185DAE8FDC36C94EECE /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 66DF1607BF8FFF84DD6639E94DE88378 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08972BEC745F3895C5FE98732BB0E646 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F988A27369666BDE47CDB2B6C809945 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0E66A0F36DD725E82041A51F593EA534 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B0A615E519E5DEE91A404198AE2BFF8C /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 102AE0CDC0AFA43305803BE841A059DB /* NSArray+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A32849E7FB9B4BC1FB808FC936C98713 /* NSArray+MASShorthandAdditions.m */; }; + 1222560B913CB9C9C0D14221D02C8306 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = AD63EC1E37D24355FE834107F62FAF98 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1528461638FECB52FE7EE250B23806FA /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 8076E486DC7258AC955A834960FE452D /* MASUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18BBFC91DC52B7E491AD40E884F99FA5 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 25615882305B886DDE423AE5E03DF5CB /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A4BC62A5EBA7F92D2074FFAADC4E6B5 /* Pods-Masonry iOS Examples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E79AA722BC2B1C69DC4D0A106BFFC372 /* Pods-Masonry iOS Examples-dummy.m */; }; + 1CE288226DA4D5164FDE93288F20616B /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = B8ECC452F75A277850F64A0E33F274C5 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 21D97B29CD24881CDB275150FFACB46C /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 7340210602BDFD1CA8C7535091837F6C /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 26E33CBCA823C72C51357582994E746C /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B6580C52FB3F2F65EEF0CECF613374E /* EXPMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 276339BBEAE2F06F12EA19FF6BAA6F33 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 3967033705D28226FDBC02F4EF3D832D /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2D5858A78F99A1196B5416C63B18F8AA /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = D11D1CDDEDFF327522CA54BE7DF33771 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 306CE82B21363D3A2BE5791B0441F22C /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = BD8B0206EA620497EDB7CAFA9EDC7B95 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3160B54E02BA3F57402FD9D1864922C0 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E26DB36C1AA9C59E8967814F19171F5B /* NSArray+MASAdditions.m */; }; + 32AB00AC549EAE7537CB60F40224320D /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 933C56887CDDDBE0D8B572C8C77FF0CA /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32C47F4F9EC749FCBC28A4BCB3599A77 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 30933C59CA21076A391BAAAB4AD2CD4C /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3726CD36BF4080EE1145EC822AA6BF4C /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FFDEE02AC253C0F7D76BE7E3F32CAE /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3FB675C0E73B6F8058EA1467E1A33C16 /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A67C92FB8A7592CBCE09307DA01AF0 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43163FF5C47E1BAAC12E171C188302E1 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D7E76599E0A16881905020078431451 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 477C77170BBEBE5DA4591B9C45A375B4 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BF8087A416A7EB3F95BECB53A82AE7F /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 47BA6E07A9AEBBAD52E5F15A033C864A /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = DD81653C343E839304192B62BD84A4A1 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4954A385199A818B177E146777CF37D6 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EAF619D343CBB1CF3B7401F31AEE720 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4DEC4FC7A759ED6E40C6706E5E500543 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = E62CAE4ED2112AFC39C375049F2E74B8 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4EBE6AD128FFDF53A3FD68082B37B051 /* LayoutGuide+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = ECD13968D0CD6EACE4DCB09F9AFE00CF /* LayoutGuide+MASShorthandAdditions.m */; }; + 506AEBBD21A6F1D89B5AA6D1EFA1C62B /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 02EEB3D513AE4127353434103F20DF7A /* View+MASAdditions.m */; }; + 523CE30C095A2236A550FDB03991970C /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A5716C1E8A1774B13BE9A33DC8D68EE7 /* Masonry-dummy.m */; }; + 527A1FD6FD79117C535D19213B9011D1 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = F0A3A42C3994852DE718F3A82885C4F9 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 55E5FF4DC5EEEC6B400A0D87E3193890 /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 829FE3CD93FECE6DA8F960BECA7004DB /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57BA46DFE2F32F04F308289610F73EDD /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 82027158F59D887F35B18901C0012EDE /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5A43305F185AD6B24558485ACBAC13D3 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 769D2BD9A360398965D078254446EE92 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5E6233C210A6AF47C79AC729CE57536E /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DB89D24ECB0566107D944096312C3FA /* Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6214814A6B4ED5038353C2DE0F71DE04 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F3E3D128DE2E8B3AC4885CEE00FCD05 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 631AFE3D6BED4FE218ADBF212982DF60 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 1735ABCBAE67332541684FB30FE21FDF /* MASLayoutConstraint.m */; }; + 6696CBE4654AD391C63CD4E85ACF2C97 /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = CA4DCA67ABD5C5D5A881EECB095C616C /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69349BECD39FBA209D2ECA0AFE6550AE /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB461EE218697A6B792EE827934B5E0 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6AB635E53472AFA729AD959EB18363B1 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AA7AE2F6519C01A858AA56ADC6C0118 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6C2B1FA8BDF3452AD5C6E640AE95AA6C /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = A10F1DEA5080C60C5317CFFF97E16F32 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6D311E7FBE67BFDE9E812885324764C3 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 4324340906222BC4D70B66CC607CE6EE /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7021D3AF25EC280F69E49EC9FBE59484 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 0414F8191399724707CC515B23938266 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70384A05DD64D46FE1E31969F1C4F88D /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EAC4DB7F4781EFDF9CAEE010CE316A9 /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 71386C6E62CC5331AA1D008197CEF602 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 48110E19BBB54C5CA27DE1EBA62F7562 /* ViewController+MASAdditions.m */; }; + 738B88E8018D3400546022C0A2641846 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = D3EC2F097AEE540C90EAC265773EDA85 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 73AC6EBD206F2AA9370C1032889C0861 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 10AA62639EDB09AE916B3DD8AAD36DC3 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C1632A83B80B163FAC5297F8E9576D1 /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 94E012777A2AE21B882A02354D0DF491 /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C6E59F6F0F3A29811C4CACC9928BECF /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = B0EE972E8F932B04E66E65DE82870717 /* MASConstraintMaker.m */; }; + 7FD25AE74C165D37BB9909EF2026746C /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = C72BD4201E0FB72BE43A4CBBAE69E443 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 80E371FE77A34E12BA35EE5C7EEC092C /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = EB57A7C7BEF752029BE858DA4636F52D /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 85F1E88FEEBF9B0337821E05C048AC39 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 40848C0C12BFC3FFF04BA34DE0CFEDE1 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8873174683E2EE234F3A3EB7A9B4F15D /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 854B390E1F4E5BB07C6CFA25B7691D16 /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8E971E2458163B8D717523B8D8BC892D /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = A42A1FB895801BDD4E5B7B57B0A05104 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8F5B10D2E6BD453C535653D36FFFE4BB /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = E1F40E1B3615FA57953ACE2F203E7197 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 94A899454728A627B3A09E219D11F90B /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = B5D8B3763578E6D0CC56EDAD33A2903A /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9D96E887F3AF3FCB896F40F6167D03AF /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 2287AC47D72FED8A0AFDC9B7EBE176EC /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9DDE1BDD1C6207009250EDA6C41F0621 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = BBC072082F2C1B0D3CFDE03BBBCFD125 /* NSLayoutConstraint+MASDebugAdditions.m */; }; + A12CFB59F38100C987161083B914187D /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EDF2951F01474822E0E8F9EB76143A5 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A157FC2DD0DD20D4214ABAF18EA92FD2 /* Pods-Masonry iOS Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A87D3A7AB8CCF25E87BFA76CAB7CAA8 /* Pods-Masonry iOS Tests-dummy.m */; }; + A1FE1F032E5FC3DD14514274810CB920 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A2355A7FF831E92E2450625F2701398 /* MASViewAttribute.m */; }; + A26ADE1931856B9F72370EB470D145D7 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B6CD575CEFDAC7E72EFE1A907057FB9 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A3E9D8D3FCC116B9977B4D9D15931763 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = AA05135B80F02BA708E584BE93EAE509 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A51F7ECF32728036C3977EA073A559AD /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = B753A37B576884F5FADB6E1C7BEA5013 /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5D55782524E9DA98FB2CF6C28E84110 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C9BFB46434107BF7B2A364929A9075F /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A7AFF805552754168FE472102902BEE8 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 42A6E443D42C1EE234A2449E3F370942 /* EXPExpect.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A90ED8FE67ED58BD5E6A858A359578EC /* View+MASShorthandAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EA2CAC52167DA57CEEEA6F37C6D3AD /* View+MASShorthandAdditions.m */; }; + AA33310A145547AE371A726E9977CFA6 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = B61415DCBA8E999175788DC91B459287 /* MASViewConstraint.m */; }; + AD2CF66258C344DB8B748A7D7325059E /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = F54F5DEC635206C3D85182A54CDFC024 /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF4EEDDC8B4D37D4105C7AC3A571A6B3 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B60F53F110FEC4A9658F125EC15D6948 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AFA0CA5DFE3673B8D2E37A2B3A4528BE /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F77CE96F3DAB41E69EE8BB9050E257F /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B0010BBE7F27AA63239F8B31D4AB4366 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 803A15B8EC7FC56D120C016A7B89BBCC /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B353DEE0F707A17093B0D8A5F53894D9 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 37BB8D352222CE40BC119089DA9D26C1 /* Expecta-dummy.m */; }; + B458BC2D677BFE2781CA179888E41364 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = AEEA81685BED00CA2D08644B3D992447 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B5D629B65A97D9E8EF4D5BAA4F40C0FC /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AD8B96FC6EA509C6208FBBD04895018 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B6C36294D61D4423CC9B49A740BF688F /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 33D751850CDEDE02F7ABFACA6610FDC9 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B7603387DF30944EE2AF64E8AFD9B996 /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 86F3DEAD3699B41D07009E64FE392FBF /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B819BE48290A13E9CD053F018F294ED4 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 40510E8BC036FFDDF98EB28362EEFCEC /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BCCC03AB3BEC74DAD5170A8441D9BBEC /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 541464FB5D516499DF0360723BD4BB7C /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + BD34E05A130785C83EE6C4CBD584F3DD /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 74DF6E1ECAB984700147F9BA24F206B3 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD769EA7F521A62B01BA7C52FBFE218B /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 070DD0B5FF3AEC96294E28E7546898E3 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + BED84F19DDD265A8DC03B3F4DFFEA254 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = F1A2974DF0EE9CCF9D1F937EE0B0A041 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF0E9FC2F301F77F02220AA076BE6443 /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = C216D527A6F209AB9AAD544000E63427 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF9E3937CCFD78E7DBE3EF757C4B9093 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 43836DE8E97F5392C276F30B8D7AD514 /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C5ABCAD032D262081CC9D9A46F2315E4 /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EAC10A91468BFB1107398DCBD3671CB /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C8DDC08BD15D8DD739AE3CF79C5D7507 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 4512CC9B9209948D1320D1A93879F65F /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAE8D9E60604DD9EEC6F00A0E01E0C4F /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 6173CC31C10F0050D31733615599B090 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CE16D7663764375961128F92A95710F1 /* MASUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8B1FF46411CDB71C0D319565D34343 /* MASUtilities.m */; }; + CF56C02D0DA8F5E60905D7CBFC2828C3 /* LayoutGuide+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC4E206495C50DD1987B8C7829F6437 /* LayoutGuide+MASAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1BF0D14765A5F2B82A53A58E7912DF5 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = F5A15DDD5B56508596B637D37E7CF067 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D33C600E6B5E582C65F3EF397CAD3338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 4208F20FBB51E24C0035B0A9043519E5 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D8A570B2BE3BD8D7BB992CCE3FC27319 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A49105F3076B160126FA5F97C1C3C12 /* MASCompositeConstraint.m */; }; + D8E614EDAA6E90ACCD4020CDEF64FB08 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 28F25B1BD3C8C2239E421AF5DBAFFCC3 /* Masonry.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA7B989AFE2B409E9EF6BF04120B8C13 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E4BE7BE136208AF771E88F33DCD45DC8 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DFAAA5ED8680564064326FAFC53E3482 /* Pods-MasonryTestsLoader-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 299ABE997F6723183C584B121F94415E /* Pods-MasonryTestsLoader-dummy.m */; }; + DFEEB75EA1B2172C382FA8594ADA0241 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = C97DDB1DE18EFF1E352D2C15B2A9BC33 /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E3E4EB4224D8C15DFC67F4FD3EF34E32 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 741EDD04C8E9AC9B3074B26C300957A9 /* MASConstraint.m */; }; + E8AD769E477F1E7FADE2326F433ADB12 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B04567735EB424B8830838CCDDFB6B7 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EA7CCE29307048D044A60D1F8D63D87A /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 86C3D20E3852E93A705B38C87D44CF25 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EE62D51B4F4A55731CCD546D25BA1064 /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B4B8CBF384D897E9FDA56292461EF02 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + EED4D51267517F2D304C74540B6B0489 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = B0E3BFA20A42FAD25CBAA12003D88EA2 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF07E681556BC7689CCED3B38434F00E /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EA666C2D9E5F656BFCC3EB1E1DFC5F8 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F3D79EE95A53DC322C2F93551780FCC4 /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E0F64D4FE0CE118C570076A9506D57 /* ExpectaObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F74BF06DBC15BB2A17E66943831132C2 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = A7A3D8587BC6DAB7EA6E4A343B23FBE2 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F7A9F53A68FF24600778D518BCD448F1 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B010F85FB7805073FD3A073341E97E2 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F7B19B68FAB73CB0732744B6A096D791 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 097C9C9334A54D561D4D91899DC6D0F5 /* EXPDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9E1C0898609C045246BD0E0C93E26B0 /* LayoutGuide+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C487CB8F7B662AD21FB0ACDD409248EB /* LayoutGuide+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FAEC9B002AB74B29D9A108A1ECC67056 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = A1364BD8BFB3079E8AF6C124BC50E889 /* MASConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FC03EE048F70F1E14A2F78836CA26D49 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = B87562C8906C880E0B994BB48202735B /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3A31C048AC5B5E5AB145E49BF610B911 /* PBXContainerItemProxy */ = { + 72CE870760A45916E07816B4B7324986 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 46D68D26DCAAC4D999D549BA45F0B0EC; - remoteInfo = Expecta; + remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; + remoteInfo = Masonry; }; - 5E51BB7C485C3BB1001A7E9EF94414CF /* PBXContainerItemProxy */ = { + B75A0CE47F1335ADF22BFFE2CE4BC651 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9DC8D9E02903E93BD0B2FEC9D846EA20; + remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; remoteInfo = Masonry; }; - AA5F0BBF6F9F116C791133368DE92755 /* PBXContainerItemProxy */ = { + C5E151CE4DDEA5E3770EDA456DE348CA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9DC8D9E02903E93BD0B2FEC9D846EA20; + remoteGlobalIDString = DC371B7477C88184274EC6710690F97C; + remoteInfo = Expecta; + }; + D561D18B09F2A99E2E81DEC613CFDE0B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; remoteInfo = Masonry; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+MASAdditions.h"; sourceTree = ""; }; - 02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "View+MASAdditions.m"; sourceTree = ""; }; - 0341D10523364E42D0E6F9935E3DA6DE /* Pods-Masonry iOS Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Masonry iOS Tests-frameworks.sh"; sourceTree = ""; }; - 035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - 065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - 0792517CDD83AC956FA10DA378F7C590 /* Pods-MasonryTestsLoader-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MasonryTestsLoader-resources.sh"; sourceTree = ""; }; - 0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASConstraintMaker.h; sourceTree = ""; }; - 0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - 0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - 0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Masonry iOS Examples-dummy.m"; sourceTree = ""; }; - 10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - 10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Masonry iOS Tests.a"; path = "libPods-Masonry iOS Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - 10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - 122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; - 13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; - 190660A7B90AD2F0323CF9185E32C8D5 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; - 194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASViewConstraint.h; sourceTree = ""; }; - 1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Examples.release.xcconfig"; sourceTree = ""; }; - 1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - 1C13229D7A9FD06FAA259C99FB5A6E11 /* Pods-Masonry iOS Examples-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Masonry iOS Examples-resources.sh"; sourceTree = ""; }; - 1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; - 1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - 1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - 1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - 1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - 2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - 228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - 2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; - 2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSArray+MASAdditions.m"; sourceTree = ""; }; - 2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMasonry.a; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "View+MASShorthandAdditions.h"; sourceTree = ""; }; - 2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - 2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - 358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; - 3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "View+MASAdditions.h"; sourceTree = ""; }; - 3ABABA36A05ECCDA76F9388C3A7262E8 /* Pods-Masonry iOS Examples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Masonry iOS Examples-acknowledgements.plist"; sourceTree = ""; }; - 3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 3D0C38F1CACBCE8726531E82CF48BE6A /* Pods-Masonry iOS Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Masonry iOS Tests-acknowledgements.plist"; sourceTree = ""; }; - 40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MasonryTestsLoader-dummy.m"; sourceTree = ""; }; - 41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MasonryTestsLoader.debug.xcconfig"; sourceTree = ""; }; - 44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - 4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - 481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; - 48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASConstraint+Private.h"; sourceTree = ""; }; - 49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; - 4B6B3284B56CCD1FFA3F49D1751D4763 /* Pods-MasonryTestsLoader-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MasonryTestsLoader-acknowledgements.markdown"; sourceTree = ""; }; - 4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - 50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - 5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Masonry iOS Tests-dummy.m"; sourceTree = ""; }; - 55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - 56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - 57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - 58004526F7F7D8C02F9C425D2847EA60 /* Pods-Masonry iOS Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Masonry iOS Tests-resources.sh"; sourceTree = ""; }; - 585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; - 590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Tests.release.xcconfig"; sourceTree = ""; }; - 593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; - 59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - 5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ViewController+MASAdditions.m"; sourceTree = ""; }; - 5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - 5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - 5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASUtilities.h; sourceTree = ""; }; - 5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - 61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; - 639FB58CFFC214FCCF32C06B0ACC9B5B /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; - 63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - 663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - 67872159D235C01079FD18A895BC35BE /* Pods-Masonry iOS Examples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Masonry iOS Examples-acknowledgements.markdown"; sourceTree = ""; }; - 687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - 6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASLayoutConstraint.h; sourceTree = ""; }; - 6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ViewController+MASAdditions.h"; sourceTree = ""; }; - 7559C19053134AD8CF9C91D122AC2090 /* Pods-Masonry iOS Examples-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Masonry iOS Examples-frameworks.sh"; sourceTree = ""; }; - 75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - 7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - 7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraint.m; sourceTree = ""; }; - 7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; - 7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - 7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; - 80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - 8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - 82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - 8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraint.m; sourceTree = ""; }; - 8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - 88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - 8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Masonry iOS Examples.a"; path = "libPods-Masonry iOS Examples.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - 98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - 9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - 9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASConstraint.h; sourceTree = ""; }; - AD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MasonryTestsLoader.release.xcconfig"; sourceTree = ""; }; - ADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; - AE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASViewAttribute.h; sourceTree = ""; }; - AEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; - AEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASConstraint.m; sourceTree = ""; }; - B1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - B20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; - BB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASViewAttribute.m; sourceTree = ""; }; - BF54E13A05CB850F6732BED53C409DF8 /* Pods-Masonry iOS Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Masonry iOS Tests-acknowledgements.markdown"; sourceTree = ""; }; - BFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - C0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - C3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - C4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-MasonryTestsLoader.a"; path = "libPods-MasonryTestsLoader.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - C5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Examples.debug.xcconfig"; sourceTree = ""; }; - C7004C5DD5811F3431B3C72C3ED02D96 /* Pods-MasonryTestsLoader-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MasonryTestsLoader-frameworks.sh"; sourceTree = ""; }; - C98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; - CBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - CBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = ""; }; - D242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - D50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; - D8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; - DB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - DBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASLayoutConstraint.m; sourceTree = ""; }; - DD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - DDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - E1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - E2824F3F718434AEC2CE23045FEC5541 /* Pods-MasonryTestsLoader-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MasonryTestsLoader-acknowledgements.plist"; sourceTree = ""; }; - E2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - E36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - E4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - E66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASCompositeConstraint.h; sourceTree = ""; }; - EB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASConstraintMaker.m; sourceTree = ""; }; - EF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Tests.debug.xcconfig"; sourceTree = ""; }; - FC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = ""; }; + 02EEB3D513AE4127353434103F20DF7A /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; + 034FBFCB448F9D15F7570093A95EF0C2 /* libPods-Masonry iOS Examples.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Masonry iOS Examples.a"; path = "libPods-Masonry iOS Examples.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0414F8191399724707CC515B23938266 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; + 070DD0B5FF3AEC96294E28E7546898E3 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + 078F70BA7D353AFB208803CB51C4358A /* Pods-Masonry iOS Examples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Examples.debug.xcconfig"; sourceTree = ""; }; + 08F7F0770B4878B9883B87DCD8569CB4 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 097C9C9334A54D561D4D91899DC6D0F5 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 0A2355A7FF831E92E2450625F2701398 /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; + 0B699617FD75A57FEAE1EDBA21B04F11 /* Pods-MasonryTestsLoader-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MasonryTestsLoader-acknowledgements.plist"; sourceTree = ""; }; + 0BF8087A416A7EB3F95BECB53A82AE7F /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + 0EAC10A91468BFB1107398DCBD3671CB /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + 0EB461EE218697A6B792EE827934B5E0 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + 109B3FC0CAC2B4FD7E9BC1B1174C4152 /* Masonry.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.release.xcconfig; sourceTree = ""; }; + 10AA62639EDB09AE916B3DD8AAD36DC3 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; + 17242E03658EDAE3CC8E0FFA33C92566 /* libPods-Masonry iOS Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Masonry iOS Tests.a"; path = "libPods-Masonry iOS Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1735ABCBAE67332541684FB30FE21FDF /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; + 1B6CD575CEFDAC7E72EFE1A907057FB9 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; + 1EDF2951F01474822E0E8F9EB76143A5 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + 1FFED36A657123030ABB700256D73F15 /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMasonry.a; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 2287AC47D72FED8A0AFDC9B7EBE176EC /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + 25615882305B886DDE423AE5E03DF5CB /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; + 28F25B1BD3C8C2239E421AF5DBAFFCC3 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; + 299ABE997F6723183C584B121F94415E /* Pods-MasonryTestsLoader-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MasonryTestsLoader-dummy.m"; sourceTree = ""; }; + 2AD8B96FC6EA509C6208FBBD04895018 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + 2B4B8CBF384D897E9FDA56292461EF02 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; + 2D07A6AA6C9E025EE07A84762AFCFA0C /* Pods-Masonry iOS Examples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Examples.release.xcconfig"; sourceTree = ""; }; + 30933C59CA21076A391BAAAB4AD2CD4C /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; + 3363C5068ED635F923E73ABFAC14E437 /* Pods-Masonry iOS Examples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Masonry iOS Examples-acknowledgements.markdown"; sourceTree = ""; }; + 33D751850CDEDE02F7ABFACA6610FDC9 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; + 37BB8D352222CE40BC119089DA9D26C1 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; + 37C9A4075B3D6A87244FD6442E426342 /* Expecta.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.release.xcconfig; sourceTree = ""; }; + 3967033705D28226FDBC02F4EF3D832D /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; + 40510E8BC036FFDDF98EB28362EEFCEC /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 40848C0C12BFC3FFF04BA34DE0CFEDE1 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + 4208F20FBB51E24C0035B0A9043519E5 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + 4264D1B3E3017D85F1079D57BDF5A1D8 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; + 42A6E443D42C1EE234A2449E3F370942 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; + 4324340906222BC4D70B66CC607CE6EE /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; + 43836DE8E97F5392C276F30B8D7AD514 /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + 43A67C92FB8A7592CBCE09307DA01AF0 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; + 4448FECF990760A568B005012B766C32 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + 4512CC9B9209948D1320D1A93879F65F /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; + 47F0F62DAA372493A08D04CE3637FBD9 /* Masonry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = Masonry.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 48110E19BBB54C5CA27DE1EBA62F7562 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; + 4C6A4D44BC66DA17B7398BFA64ADC39A /* Pods-Masonry iOS Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Tests.release.xcconfig"; sourceTree = ""; }; + 4E8B1FF46411CDB71C0D319565D34343 /* MASUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASUtilities.m; path = Masonry/MASUtilities.m; sourceTree = ""; }; + 541464FB5D516499DF0360723BD4BB7C /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + 5AA7AE2F6519C01A858AA56ADC6C0118 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + 5C9BFB46434107BF7B2A364929A9075F /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; + 5CC7208CF5DD688411DE1074CD347C34 /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; + 5D7E76599E0A16881905020078431451 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + 6173CC31C10F0050D31733615599B090 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; + 66DF1607BF8FFF84DD6639E94DE88378 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 66F3282D196FCB866C87A63E1210D189 /* Pods-Masonry iOS Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Masonry iOS Tests-acknowledgements.markdown"; sourceTree = ""; }; + 69E0E543DB95F5EF77C15AA13AB54C95 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 6A49105F3076B160126FA5F97C1C3C12 /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; + 6B010F85FB7805073FD3A073341E97E2 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 6B6580C52FB3F2F65EEF0CECF613374E /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + 6DB89D24ECB0566107D944096312C3FA /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + 6E2F6452C6FBF7416CC1FDCA290F5E96 /* Pods-MasonryTestsLoader.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MasonryTestsLoader.debug.xcconfig"; sourceTree = ""; }; + 6F988A27369666BDE47CDB2B6C809945 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + 70EA2CAC52167DA57CEEEA6F37C6D3AD /* View+MASShorthandAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASShorthandAdditions.m"; path = "Masonry/View+MASShorthandAdditions.m"; sourceTree = ""; }; + 7340210602BDFD1CA8C7535091837F6C /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + 741EDD04C8E9AC9B3074B26C300957A9 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; + 74DF6E1ECAB984700147F9BA24F206B3 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; + 769D2BD9A360398965D078254446EE92 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + 7C47D35BD16CD8E62D1ADDE116711C6D /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 7EA666C2D9E5F656BFCC3EB1E1DFC5F8 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + 803A15B8EC7FC56D120C016A7B89BBCC /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + 8076E486DC7258AC955A834960FE452D /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; + 82027158F59D887F35B18901C0012EDE /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + 829FE3CD93FECE6DA8F960BECA7004DB /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + 82C52D4DED5698D760C6C085693FFE20 /* Pods-Masonry iOS Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Masonry iOS Tests.debug.xcconfig"; sourceTree = ""; }; + 854B390E1F4E5BB07C6CFA25B7691D16 /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + 86C3D20E3852E93A705B38C87D44CF25 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + 86F3DEAD3699B41D07009E64FE392FBF /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; + 87B08263B34CC746FC1645359B11B5D3 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; + 8A87D3A7AB8CCF25E87BFA76CAB7CAA8 /* Pods-Masonry iOS Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Masonry iOS Tests-dummy.m"; sourceTree = ""; }; + 8B04567735EB424B8830838CCDDFB6B7 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; + 8EAF619D343CBB1CF3B7401F31AEE720 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 8F3E3D128DE2E8B3AC4885CEE00FCD05 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + 933C56887CDDDBE0D8B572C8C77FF0CA /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; + 94E012777A2AE21B882A02354D0DF491 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + 958492CF9426E7CDA2B714635BEA9477 /* Pods-MasonryTestsLoader-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MasonryTestsLoader-acknowledgements.markdown"; sourceTree = ""; }; + 96D9849E582F23269E90480BB21226BF /* Pods-Masonry iOS Examples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Masonry iOS Examples-acknowledgements.plist"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9EAC4DB7F4781EFDF9CAEE010CE316A9 /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; + 9F77CE96F3DAB41E69EE8BB9050E257F /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; + A10F1DEA5080C60C5317CFFF97E16F32 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + A1364BD8BFB3079E8AF6C124BC50E889 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; + A2FFDEE02AC253C0F7D76BE7E3F32CAE /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + A32849E7FB9B4BC1FB808FC936C98713 /* NSArray+MASShorthandAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASShorthandAdditions.m"; path = "Masonry/NSArray+MASShorthandAdditions.m"; sourceTree = ""; }; + A42A1FB895801BDD4E5B7B57B0A05104 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; + A5716C1E8A1774B13BE9A33DC8D68EE7 /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; + A5E5EBA381830646070498CBB04C9A0F /* libPods-MasonryTestsLoader.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-MasonryTestsLoader.a"; path = "libPods-MasonryTestsLoader.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A7A3D8587BC6DAB7EA6E4A343B23FBE2 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + AA05135B80F02BA708E584BE93EAE509 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + AD63EC1E37D24355FE834107F62FAF98 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; + ADA29C9A8015D8D396B189B38E04D822 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + AEEA81685BED00CA2D08644B3D992447 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; + B0A615E519E5DEE91A404198AE2BFF8C /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; + B0E3BFA20A42FAD25CBAA12003D88EA2 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + B0EE972E8F932B04E66E65DE82870717 /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + B1E0F64D4FE0CE118C570076A9506D57 /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; + B394FB6D49FAF7FAD8D13D36456DC71E /* LayoutGuide+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "LayoutGuide+MASAdditions.m"; path = "Masonry/LayoutGuide+MASAdditions.m"; sourceTree = ""; }; + B5D8B3763578E6D0CC56EDAD33A2903A /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + B60F53F110FEC4A9658F125EC15D6948 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + B61415DCBA8E999175788DC91B459287 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; + B753A37B576884F5FADB6E1C7BEA5013 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + B87562C8906C880E0B994BB48202735B /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; + B8ECC452F75A277850F64A0E33F274C5 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + B9BACCCDCCC9968B937326B37EB3B557 /* Pods-Masonry iOS Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Masonry iOS Tests-acknowledgements.plist"; sourceTree = ""; }; + BBC072082F2C1B0D3CFDE03BBBCFD125 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; + BD8B0206EA620497EDB7CAFA9EDC7B95 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + C216D527A6F209AB9AAD544000E63427 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; + C487CB8F7B662AD21FB0ACDD409248EB /* LayoutGuide+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "LayoutGuide+MASShorthandAdditions.h"; path = "Masonry/LayoutGuide+MASShorthandAdditions.h"; sourceTree = ""; }; + C72BD4201E0FB72BE43A4CBBAE69E443 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; + C97DDB1DE18EFF1E352D2C15B2A9BC33 /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; + CA4DCA67ABD5C5D5A881EECB095C616C /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + D11D1CDDEDFF327522CA54BE7DF33771 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; + D3EC2F097AEE540C90EAC265773EDA85 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + D5010834CD44C2DF2E07FD32C2F021D4 /* Masonry.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.debug.xcconfig; sourceTree = ""; }; + DD81653C343E839304192B62BD84A4A1 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + E1F40E1B3615FA57953ACE2F203E7197 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + E26DB36C1AA9C59E8967814F19171F5B /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; + E4BE7BE136208AF771E88F33DCD45DC8 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; + E62CAE4ED2112AFC39C375049F2E74B8 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + E79AA722BC2B1C69DC4D0A106BFFC372 /* Pods-Masonry iOS Examples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Masonry iOS Examples-dummy.m"; sourceTree = ""; }; + EB57A7C7BEF752029BE858DA4636F52D /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + ECD13968D0CD6EACE4DCB09F9AFE00CF /* LayoutGuide+MASShorthandAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "LayoutGuide+MASShorthandAdditions.m"; path = "Masonry/LayoutGuide+MASShorthandAdditions.m"; sourceTree = ""; }; + F0A3A42C3994852DE718F3A82885C4F9 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + F1A2974DF0EE9CCF9D1F937EE0B0A041 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + F54F5DEC635206C3D85182A54CDFC024 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + F5A15DDD5B56508596B637D37E7CF067 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; + F7CB9B0B3F8680F35B9EC71EABF62ED6 /* Expecta.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.debug.xcconfig; sourceTree = ""; }; + FBB3118652D20683E364309C03238B2E /* Pods-MasonryTestsLoader.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MasonryTestsLoader.release.xcconfig"; sourceTree = ""; }; + FEC4E206495C50DD1987B8C7829F6437 /* LayoutGuide+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "LayoutGuide+MASAdditions.h"; path = "Masonry/LayoutGuide+MASAdditions.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */ = { + 103342CF1962589237E84DF9EC6C3CDF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */, - F7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 583B8AB450D47A22AD844DA398F34FCC /* Frameworks */ = { + 42B4066E17B7664B364B444935A85699 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DBA55CF16CB958E3F3D38079F18EBC06 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6FD8312A1AEB348F49A81C438DB25115 /* Frameworks */ = { + B6A2C4B44C0492964B11825B87F336A9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F0B56A7D38A399A2F67F9920C9526A66 /* Foundation.framework in Frameworks */, - 6209E20926D79222E59F58B962BFAA1E /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9E80CE71F73E7DB19033544A8A4E9F55 /* Frameworks */ = { + C4B17D0D2BB73F0DFCDE7639BEB92A99 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F589CF64CC8ED22D9F37824176FBBB72 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A3EB68BB62C219069E6DBA1A070D7F3F /* Frameworks */ = { + C966F79C4262300F36CF75EB47C91210 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D904A66B88A11E0356D09C38CA20102D /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0DA9AF80DA7ECA5B4D31C526D9F57DB2 /* Development Pods */ = { + 295D20B1953B3B187E107795E0CCEA5C /* Pods-MasonryTestsLoader */ = { isa = PBXGroup; children = ( - 18D532DEFE002898478F83CCDCC47B5D /* Masonry */, + 958492CF9426E7CDA2B714635BEA9477 /* Pods-MasonryTestsLoader-acknowledgements.markdown */, + 0B699617FD75A57FEAE1EDBA21B04F11 /* Pods-MasonryTestsLoader-acknowledgements.plist */, + 299ABE997F6723183C584B121F94415E /* Pods-MasonryTestsLoader-dummy.m */, + 6E2F6452C6FBF7416CC1FDCA290F5E96 /* Pods-MasonryTestsLoader.debug.xcconfig */, + FBB3118652D20683E364309C03238B2E /* Pods-MasonryTestsLoader.release.xcconfig */, ); - name = "Development Pods"; - sourceTree = ""; - }; - 113776CC3D7FEF15CE1357194041AAFC /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 523AEFB63B1A95928D17E7547C93E598 /* Pods-Masonry iOS Examples */, - 9183704F5C71C360D6CB1A399612D0E0 /* Pods-Masonry iOS Tests */, - BD399A650CE28E083F4B32EED754F012 /* Pods-MasonryTestsLoader */, - ); - name = "Targets Support Files"; + name = "Pods-MasonryTestsLoader"; + path = "Target Support Files/Pods-MasonryTestsLoader"; sourceTree = ""; }; - 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { + 743CF0686020AF5A805DFE0F6FAF7EAD /* Development Pods */ = { isa = PBXGroup; children = ( - 926C31924772091F3FBE0E8F025C2B0D /* iOS */, + 795D59F7764316608ABED8CC9310AC0C /* Masonry */, ); - name = Frameworks; + name = "Development Pods"; sourceTree = ""; }; - 18D532DEFE002898478F83CCDCC47B5D /* Masonry */ = { + 795D59F7764316608ABED8CC9310AC0C /* Masonry */ = { isa = PBXGroup; children = ( - CFF7DF6CE7E3205ECC5D3904C3AC169D /* Masonry */, - C4880E6FCE3E79307C7AD19D76754823 /* Support Files */, + FEC4E206495C50DD1987B8C7829F6437 /* LayoutGuide+MASAdditions.h */, + B394FB6D49FAF7FAD8D13D36456DC71E /* LayoutGuide+MASAdditions.m */, + C487CB8F7B662AD21FB0ACDD409248EB /* LayoutGuide+MASShorthandAdditions.h */, + ECD13968D0CD6EACE4DCB09F9AFE00CF /* LayoutGuide+MASShorthandAdditions.m */, + 30933C59CA21076A391BAAAB4AD2CD4C /* MASCompositeConstraint.h */, + 6A49105F3076B160126FA5F97C1C3C12 /* MASCompositeConstraint.m */, + A1364BD8BFB3079E8AF6C124BC50E889 /* MASConstraint.h */, + 741EDD04C8E9AC9B3074B26C300957A9 /* MASConstraint.m */, + 25615882305B886DDE423AE5E03DF5CB /* MASConstraint+Private.h */, + 9F77CE96F3DAB41E69EE8BB9050E257F /* MASConstraintMaker.h */, + B0EE972E8F932B04E66E65DE82870717 /* MASConstraintMaker.m */, + DD81653C343E839304192B62BD84A4A1 /* MASLayoutConstraint.h */, + 1735ABCBAE67332541684FB30FE21FDF /* MASLayoutConstraint.m */, + 28F25B1BD3C8C2239E421AF5DBAFFCC3 /* Masonry.h */, + 8076E486DC7258AC955A834960FE452D /* MASUtilities.h */, + 4E8B1FF46411CDB71C0D319565D34343 /* MASUtilities.m */, + 3967033705D28226FDBC02F4EF3D832D /* MASViewAttribute.h */, + 0A2355A7FF831E92E2450625F2701398 /* MASViewAttribute.m */, + 4512CC9B9209948D1320D1A93879F65F /* MASViewConstraint.h */, + B61415DCBA8E999175788DC91B459287 /* MASViewConstraint.m */, + 40510E8BC036FFDDF98EB28362EEFCEC /* NSArray+MASAdditions.h */, + E26DB36C1AA9C59E8967814F19171F5B /* NSArray+MASAdditions.m */, + 933C56887CDDDBE0D8B572C8C77FF0CA /* NSArray+MASShorthandAdditions.h */, + A32849E7FB9B4BC1FB808FC936C98713 /* NSArray+MASShorthandAdditions.m */, + 8B04567735EB424B8830838CCDDFB6B7 /* NSLayoutConstraint+MASDebugAdditions.h */, + BBC072082F2C1B0D3CFDE03BBBCFD125 /* NSLayoutConstraint+MASDebugAdditions.m */, + 33D751850CDEDE02F7ABFACA6610FDC9 /* View+MASAdditions.h */, + 02EEB3D513AE4127353434103F20DF7A /* View+MASAdditions.m */, + 10AA62639EDB09AE916B3DD8AAD36DC3 /* View+MASShorthandAdditions.h */, + 70EA2CAC52167DA57CEEEA6F37C6D3AD /* View+MASShorthandAdditions.m */, + 74DF6E1ECAB984700147F9BA24F206B3 /* ViewController+MASAdditions.h */, + 48110E19BBB54C5CA27DE1EBA62F7562 /* ViewController+MASAdditions.m */, + C464F4B17BCE9E932214142E7D5FC068 /* Pod */, + 7BD5D518AA86BF7B0CFC66AFF250D7FA /* Support Files */, ); name = Masonry; path = ..; sourceTree = ""; }; - 2C212CDC4B22CF51422FF7C8D4BF9E56 /* Pods */ = { + 7BD5D518AA86BF7B0CFC66AFF250D7FA /* Support Files */ = { isa = PBXGroup; children = ( - DA1988695DF0633137E2D7B5035D2CDC /* Expecta */, + A5716C1E8A1774B13BE9A33DC8D68EE7 /* Masonry-dummy.m */, + 5CC7208CF5DD688411DE1074CD347C34 /* Masonry-prefix.pch */, + D5010834CD44C2DF2E07FD32C2F021D4 /* Masonry.debug.xcconfig */, + 109B3FC0CAC2B4FD7E9BC1B1174C4152 /* Masonry.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "Pods/Target Support Files/Masonry"; sourceTree = ""; }; - 523AEFB63B1A95928D17E7547C93E598 /* Pods-Masonry iOS Examples */ = { + 9E330023EBA13F220784AF67C00662F3 /* Pods-Masonry iOS Examples */ = { isa = PBXGroup; children = ( - 67872159D235C01079FD18A895BC35BE /* Pods-Masonry iOS Examples-acknowledgements.markdown */, - 3ABABA36A05ECCDA76F9388C3A7262E8 /* Pods-Masonry iOS Examples-acknowledgements.plist */, - 0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */, - 7559C19053134AD8CF9C91D122AC2090 /* Pods-Masonry iOS Examples-frameworks.sh */, - 1C13229D7A9FD06FAA259C99FB5A6E11 /* Pods-Masonry iOS Examples-resources.sh */, - C5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */, - 1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */, + 3363C5068ED635F923E73ABFAC14E437 /* Pods-Masonry iOS Examples-acknowledgements.markdown */, + 96D9849E582F23269E90480BB21226BF /* Pods-Masonry iOS Examples-acknowledgements.plist */, + E79AA722BC2B1C69DC4D0A106BFFC372 /* Pods-Masonry iOS Examples-dummy.m */, + 078F70BA7D353AFB208803CB51C4358A /* Pods-Masonry iOS Examples.debug.xcconfig */, + 2D07A6AA6C9E025EE07A84762AFCFA0C /* Pods-Masonry iOS Examples.release.xcconfig */, ); name = "Pods-Masonry iOS Examples"; path = "Target Support Files/Pods-Masonry iOS Examples"; sourceTree = ""; }; - 6B57A62A4ECEF9976CBA3885013FA6AC /* Products */ = { + AB05D8B7EFF4A1011FC4B47EB0CAAEE9 /* Pods */ = { isa = PBXGroup; children = ( - 2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */, - 2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */, - 8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */, - 10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */, - C4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */, + E1351F833085E0FEEB3023846ECCC623 /* Expecta */, ); - name = Products; + name = Pods; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + B55E6C492493D5591200DFCA768C73C2 /* Pods-Masonry iOS Tests */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 0DA9AF80DA7ECA5B4D31C526D9F57DB2 /* Development Pods */, - 122DA2E5084A4393C29BE363C764795C /* Frameworks */, - 2C212CDC4B22CF51422FF7C8D4BF9E56 /* Pods */, - 6B57A62A4ECEF9976CBA3885013FA6AC /* Products */, - 113776CC3D7FEF15CE1357194041AAFC /* Targets Support Files */, + 66F3282D196FCB866C87A63E1210D189 /* Pods-Masonry iOS Tests-acknowledgements.markdown */, + B9BACCCDCCC9968B937326B37EB3B557 /* Pods-Masonry iOS Tests-acknowledgements.plist */, + 8A87D3A7AB8CCF25E87BFA76CAB7CAA8 /* Pods-Masonry iOS Tests-dummy.m */, + 82C52D4DED5698D760C6C085693FFE20 /* Pods-Masonry iOS Tests.debug.xcconfig */, + 4C6A4D44BC66DA17B7398BFA64ADC39A /* Pods-Masonry iOS Tests.release.xcconfig */, ); + name = "Pods-Masonry iOS Tests"; + path = "Target Support Files/Pods-Masonry iOS Tests"; sourceTree = ""; }; - 9183704F5C71C360D6CB1A399612D0E0 /* Pods-Masonry iOS Tests */ = { + BAF324D0599F797AFEFCF92A8F59C822 /* Targets Support Files */ = { isa = PBXGroup; children = ( - BF54E13A05CB850F6732BED53C409DF8 /* Pods-Masonry iOS Tests-acknowledgements.markdown */, - 3D0C38F1CACBCE8726531E82CF48BE6A /* Pods-Masonry iOS Tests-acknowledgements.plist */, - 5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */, - 0341D10523364E42D0E6F9935E3DA6DE /* Pods-Masonry iOS Tests-frameworks.sh */, - 58004526F7F7D8C02F9C425D2847EA60 /* Pods-Masonry iOS Tests-resources.sh */, - EF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */, - 590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */, + 9E330023EBA13F220784AF67C00662F3 /* Pods-Masonry iOS Examples */, + B55E6C492493D5591200DFCA768C73C2 /* Pods-Masonry iOS Tests */, + 295D20B1953B3B187E107795E0CCEA5C /* Pods-MasonryTestsLoader */, ); - name = "Pods-Masonry iOS Tests"; - path = "Target Support Files/Pods-Masonry iOS Tests"; + name = "Targets Support Files"; sourceTree = ""; }; - 926C31924772091F3FBE0E8F025C2B0D /* iOS */ = { + C464F4B17BCE9E932214142E7D5FC068 /* Pod */ = { isa = PBXGroup; children = ( - DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */, - DDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */, - E2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */, + 69E0E543DB95F5EF77C15AA13AB54C95 /* LICENSE */, + 47F0F62DAA372493A08D04CE3637FBD9 /* Masonry.podspec */, + 7C47D35BD16CD8E62D1ADDE116711C6D /* README.md */, ); - name = iOS; + name = Pod; sourceTree = ""; }; - BD399A650CE28E083F4B32EED754F012 /* Pods-MasonryTestsLoader */ = { + CC0E280BDB5B31CE1F7BB77E447EA47A /* Products */ = { isa = PBXGroup; children = ( - 4B6B3284B56CCD1FFA3F49D1751D4763 /* Pods-MasonryTestsLoader-acknowledgements.markdown */, - E2824F3F718434AEC2CE23045FEC5541 /* Pods-MasonryTestsLoader-acknowledgements.plist */, - 40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */, - C7004C5DD5811F3431B3C72C3ED02D96 /* Pods-MasonryTestsLoader-frameworks.sh */, - 0792517CDD83AC956FA10DA378F7C590 /* Pods-MasonryTestsLoader-resources.sh */, - 41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */, - AD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */, + 08F7F0770B4878B9883B87DCD8569CB4 /* libExpecta.a */, + 1FFED36A657123030ABB700256D73F15 /* libMasonry.a */, + 034FBFCB448F9D15F7570093A95EF0C2 /* libPods-Masonry iOS Examples.a */, + 17242E03658EDAE3CC8E0FFA33C92566 /* libPods-Masonry iOS Tests.a */, + A5E5EBA381830646070498CBB04C9A0F /* libPods-MasonryTestsLoader.a */, ); - name = "Pods-MasonryTestsLoader"; - path = "Target Support Files/Pods-MasonryTestsLoader"; + name = Products; sourceTree = ""; }; - C4880E6FCE3E79307C7AD19D76754823 /* Support Files */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */, - 585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */, - 639FB58CFFC214FCCF32C06B0ACC9B5B /* Masonry-prefix.pch */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 743CF0686020AF5A805DFE0F6FAF7EAD /* Development Pods */, + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, + AB05D8B7EFF4A1011FC4B47EB0CAAEE9 /* Pods */, + CC0E280BDB5B31CE1F7BB77E447EA47A /* Products */, + BAF324D0599F797AFEFCF92A8F59C822 /* Targets Support Files */, ); - name = "Support Files"; - path = "Pods/Target Support Files/Masonry"; sourceTree = ""; }; - C934D5D64F7FA6AE026CB137FBAD29E5 /* Support Files */ = { + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { isa = PBXGroup; children = ( - 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */, - D50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */, - 190660A7B90AD2F0323CF9185E32C8D5 /* Expecta-prefix.pch */, ); - name = "Support Files"; - path = "../Target Support Files/Expecta"; + name = Frameworks; sourceTree = ""; }; - CFF7DF6CE7E3205ECC5D3904C3AC169D /* Masonry */ = { + E1351F833085E0FEEB3023846ECCC623 /* Expecta */ = { isa = PBXGroup; children = ( - E66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */, - 8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */, - 9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */, - AEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */, - 48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */, - 0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */, - EB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */, - 6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */, - DBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */, - FC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */, - 5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */, - AE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */, - BB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */, - 194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */, - 7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */, - 01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */, - 2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */, - 593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */, - 4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */, - 358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */, - 3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */, - 02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */, - 2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */, - 6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */, - 5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */, + B753A37B576884F5FADB6E1C7BEA5013 /* EXPBlockDefinedMatcher.h */, + E4BE7BE136208AF771E88F33DCD45DC8 /* EXPBlockDefinedMatcher.m */, + 097C9C9334A54D561D4D91899DC6D0F5 /* EXPDefines.h */, + 40848C0C12BFC3FFF04BA34DE0CFEDE1 /* EXPDoubleTuple.h */, + A10F1DEA5080C60C5317CFFF97E16F32 /* EXPDoubleTuple.m */, + 6DB89D24ECB0566107D944096312C3FA /* Expecta.h */, + B1E0F64D4FE0CE118C570076A9506D57 /* ExpectaObject.h */, + 2287AC47D72FED8A0AFDC9B7EBE176EC /* ExpectaObject.m */, + B0E3BFA20A42FAD25CBAA12003D88EA2 /* ExpectaSupport.h */, + 854B390E1F4E5BB07C6CFA25B7691D16 /* ExpectaSupport.m */, + 42A6E443D42C1EE234A2449E3F370942 /* EXPExpect.h */, + 5D7E76599E0A16881905020078431451 /* EXPExpect.m */, + 4324340906222BC4D70B66CC607CE6EE /* EXPFloatTuple.h */, + 541464FB5D516499DF0360723BD4BB7C /* EXPFloatTuple.m */, + 6B6580C52FB3F2F65EEF0CECF613374E /* EXPMatcher.h */, + F0A3A42C3994852DE718F3A82885C4F9 /* EXPMatcherHelpers.h */, + 6F988A27369666BDE47CDB2B6C809945 /* EXPMatcherHelpers.m */, + E62CAE4ED2112AFC39C375049F2E74B8 /* EXPMatchers.h */, + C216D527A6F209AB9AAD544000E63427 /* EXPMatchers+beCloseTo.h */, + 86F3DEAD3699B41D07009E64FE392FBF /* EXPMatchers+beCloseTo.m */, + 6B010F85FB7805073FD3A073341E97E2 /* EXPMatchers+beFalsy.h */, + 5AA7AE2F6519C01A858AA56ADC6C0118 /* EXPMatchers+beFalsy.m */, + F1A2974DF0EE9CCF9D1F937EE0B0A041 /* EXPMatchers+beginWith.h */, + C72BD4201E0FB72BE43A4CBBAE69E443 /* EXPMatchers+beginWith.m */, + 8EAF619D343CBB1CF3B7401F31AEE720 /* EXPMatchers+beGreaterThan.h */, + 9EAC4DB7F4781EFDF9CAEE010CE316A9 /* EXPMatchers+beGreaterThan.m */, + 43836DE8E97F5392C276F30B8D7AD514 /* EXPMatchers+beGreaterThanOrEqualTo.h */, + 87B08263B34CC746FC1645359B11B5D3 /* EXPMatchers+beGreaterThanOrEqualTo.m */, + 94E012777A2AE21B882A02354D0DF491 /* EXPMatchers+beIdenticalTo.h */, + 4448FECF990760A568B005012B766C32 /* EXPMatchers+beIdenticalTo.m */, + 829FE3CD93FECE6DA8F960BECA7004DB /* EXPMatchers+beInstanceOf.h */, + 769D2BD9A360398965D078254446EE92 /* EXPMatchers+beInstanceOf.m */, + AEEA81685BED00CA2D08644B3D992447 /* EXPMatchers+beInTheRangeOf.h */, + AA05135B80F02BA708E584BE93EAE509 /* EXPMatchers+beInTheRangeOf.m */, + BD8B0206EA620497EDB7CAFA9EDC7B95 /* EXPMatchers+beKindOf.h */, + 8F3E3D128DE2E8B3AC4885CEE00FCD05 /* EXPMatchers+beKindOf.m */, + CA4DCA67ABD5C5D5A881EECB095C616C /* EXPMatchers+beLessThan.h */, + C97DDB1DE18EFF1E352D2C15B2A9BC33 /* EXPMatchers+beLessThan.m */, + 66DF1607BF8FFF84DD6639E94DE88378 /* EXPMatchers+beLessThanOrEqualTo.h */, + EB57A7C7BEF752029BE858DA4636F52D /* EXPMatchers+beLessThanOrEqualTo.m */, + D3EC2F097AEE540C90EAC265773EDA85 /* EXPMatchers+beNil.h */, + B8ECC452F75A277850F64A0E33F274C5 /* EXPMatchers+beNil.m */, + 1EDF2951F01474822E0E8F9EB76143A5 /* EXPMatchers+beSubclassOf.h */, + 2AD8B96FC6EA509C6208FBBD04895018 /* EXPMatchers+beSubclassOf.m */, + 803A15B8EC7FC56D120C016A7B89BBCC /* EXPMatchers+beSupersetOf.h */, + A7A3D8587BC6DAB7EA6E4A343B23FBE2 /* EXPMatchers+beSupersetOf.m */, + 1B6CD575CEFDAC7E72EFE1A907057FB9 /* EXPMatchers+beTruthy.h */, + AD63EC1E37D24355FE834107F62FAF98 /* EXPMatchers+beTruthy.m */, + B0A615E519E5DEE91A404198AE2BFF8C /* EXPMatchers+conformTo.h */, + 43A67C92FB8A7592CBCE09307DA01AF0 /* EXPMatchers+conformTo.m */, + 0414F8191399724707CC515B23938266 /* EXPMatchers+contain.h */, + 6173CC31C10F0050D31733615599B090 /* EXPMatchers+contain.m */, + F54F5DEC635206C3D85182A54CDFC024 /* EXPMatchers+endWith.h */, + 0EB461EE218697A6B792EE827934B5E0 /* EXPMatchers+endWith.m */, + 82027158F59D887F35B18901C0012EDE /* EXPMatchers+equal.h */, + 070DD0B5FF3AEC96294E28E7546898E3 /* EXPMatchers+equal.m */, + D11D1CDDEDFF327522CA54BE7DF33771 /* EXPMatchers+haveCountOf.h */, + 7EA666C2D9E5F656BFCC3EB1E1DFC5F8 /* EXPMatchers+haveCountOf.m */, + A2FFDEE02AC253C0F7D76BE7E3F32CAE /* EXPMatchers+match.h */, + A42A1FB895801BDD4E5B7B57B0A05104 /* EXPMatchers+match.m */, + B60F53F110FEC4A9658F125EC15D6948 /* EXPMatchers+postNotification.h */, + 0BF8087A416A7EB3F95BECB53A82AE7F /* EXPMatchers+postNotification.m */, + 86C3D20E3852E93A705B38C87D44CF25 /* EXPMatchers+raise.h */, + 4208F20FBB51E24C0035B0A9043519E5 /* EXPMatchers+raise.m */, + 7340210602BDFD1CA8C7535091837F6C /* EXPMatchers+raiseWithReason.h */, + B87562C8906C880E0B994BB48202735B /* EXPMatchers+raiseWithReason.m */, + 5C9BFB46434107BF7B2A364929A9075F /* EXPMatchers+respondTo.h */, + F5A15DDD5B56508596B637D37E7CF067 /* EXPMatchers+respondTo.m */, + 4264D1B3E3017D85F1079D57BDF5A1D8 /* EXPUnsupportedObject.h */, + 0EAC10A91468BFB1107398DCBD3671CB /* EXPUnsupportedObject.m */, + E1F40E1B3615FA57953ACE2F203E7197 /* NSObject+Expecta.h */, + B5D8B3763578E6D0CC56EDAD33A2903A /* NSValue+Expecta.h */, + 2B4B8CBF384D897E9FDA56292461EF02 /* NSValue+Expecta.m */, + F0DA9D71F35F1C5B5176F5A898EAEBA2 /* Support Files */, ); - name = Masonry; - path = Masonry; + name = Expecta; + path = Expecta; sourceTree = ""; }; - DA1988695DF0633137E2D7B5035D2CDC /* Expecta */ = { + F0DA9D71F35F1C5B5176F5A898EAEBA2 /* Support Files */ = { isa = PBXGroup; children = ( - 55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */, - 57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */, - 7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */, - AEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */, - 7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */, - 50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */, - 4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */, - 1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */, - 80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */, - D8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */, - 7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */, - CBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */, - 63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */, - 4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */, - 8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */, - 0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */, - 7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */, - 61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */, - 1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */, - C3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */, - 481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */, - 2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */, - 49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */, - 34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */, - 1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */, - B1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */, - 59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */, - 7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */, - C98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */, - 687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */, - 5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */, - 5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */, - 10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */, - 3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */, - E1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */, - 1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */, - 8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */, - E4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */, - 122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */, - 7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */, - 1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */, - 2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */, - CBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */, - 98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */, - 2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */, - DD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */, - 0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */, - 56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */, - E36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */, - C565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */, - 44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */, - DB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */, - 5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */, - B20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */, - 8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */, - BFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */, - 75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */, - 663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */, - 88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */, - 10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */, - 2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */, - 065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */, - 10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */, - 9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */, - 13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */, - 228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */, - D242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */, - 9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */, - 1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */, - 035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */, - C0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */, - 82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */, - ADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */, - C934D5D64F7FA6AE026CB137FBAD29E5 /* Support Files */, + 37BB8D352222CE40BC119089DA9D26C1 /* Expecta-dummy.m */, + ADA29C9A8015D8D396B189B38E04D822 /* Expecta-prefix.pch */, + F7CB9B0B3F8680F35B9EC71EABF62ED6 /* Expecta.debug.xcconfig */, + 37C9A4075B3D6A87244FD6442E426342 /* Expecta.release.xcconfig */, ); - name = Expecta; - path = Expecta; + name = "Support Files"; + path = "../Target Support Files/Expecta"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 05E58D356A38DD487823D5BE24334920 /* Headers */ = { + 559DF3BD40FAE2478E30F355A3BE9218 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A51F7ECF32728036C3977EA073A559AD /* EXPBlockDefinedMatcher.h in Headers */, + F7B19B68FAB73CB0732744B6A096D791 /* EXPDefines.h in Headers */, + 85F1E88FEEBF9B0337821E05C048AC39 /* EXPDoubleTuple.h in Headers */, + 5E6233C210A6AF47C79AC729CE57536E /* Expecta.h in Headers */, + F3D79EE95A53DC322C2F93551780FCC4 /* ExpectaObject.h in Headers */, + EED4D51267517F2D304C74540B6B0489 /* ExpectaSupport.h in Headers */, + A7AFF805552754168FE472102902BEE8 /* EXPExpect.h in Headers */, + 6D311E7FBE67BFDE9E812885324764C3 /* EXPFloatTuple.h in Headers */, + 26E33CBCA823C72C51357582994E746C /* EXPMatcher.h in Headers */, + 527A1FD6FD79117C535D19213B9011D1 /* EXPMatcherHelpers.h in Headers */, + BF0E9FC2F301F77F02220AA076BE6443 /* EXPMatchers+beCloseTo.h in Headers */, + F7A9F53A68FF24600778D518BCD448F1 /* EXPMatchers+beFalsy.h in Headers */, + BED84F19DDD265A8DC03B3F4DFFEA254 /* EXPMatchers+beginWith.h in Headers */, + 4954A385199A818B177E146777CF37D6 /* EXPMatchers+beGreaterThan.h in Headers */, + BF9E3937CCFD78E7DBE3EF757C4B9093 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, + 7C1632A83B80B163FAC5297F8E9576D1 /* EXPMatchers+beIdenticalTo.h in Headers */, + 55E5FF4DC5EEEC6B400A0D87E3193890 /* EXPMatchers+beInstanceOf.h in Headers */, + B458BC2D677BFE2781CA179888E41364 /* EXPMatchers+beInTheRangeOf.h in Headers */, + 306CE82B21363D3A2BE5791B0441F22C /* EXPMatchers+beKindOf.h in Headers */, + 6696CBE4654AD391C63CD4E85ACF2C97 /* EXPMatchers+beLessThan.h in Headers */, + 07E5854E45B4F185DAE8FDC36C94EECE /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, + 738B88E8018D3400546022C0A2641846 /* EXPMatchers+beNil.h in Headers */, + A12CFB59F38100C987161083B914187D /* EXPMatchers+beSubclassOf.h in Headers */, + B0010BBE7F27AA63239F8B31D4AB4366 /* EXPMatchers+beSupersetOf.h in Headers */, + A26ADE1931856B9F72370EB470D145D7 /* EXPMatchers+beTruthy.h in Headers */, + 0E66A0F36DD725E82041A51F593EA534 /* EXPMatchers+conformTo.h in Headers */, + 7021D3AF25EC280F69E49EC9FBE59484 /* EXPMatchers+contain.h in Headers */, + AD2CF66258C344DB8B748A7D7325059E /* EXPMatchers+endWith.h in Headers */, + 57BA46DFE2F32F04F308289610F73EDD /* EXPMatchers+equal.h in Headers */, + 2D5858A78F99A1196B5416C63B18F8AA /* EXPMatchers+haveCountOf.h in Headers */, + 3726CD36BF4080EE1145EC822AA6BF4C /* EXPMatchers+match.h in Headers */, + AF4EEDDC8B4D37D4105C7AC3A571A6B3 /* EXPMatchers+postNotification.h in Headers */, + EA7CCE29307048D044A60D1F8D63D87A /* EXPMatchers+raise.h in Headers */, + 21D97B29CD24881CDB275150FFACB46C /* EXPMatchers+raiseWithReason.h in Headers */, + A5D55782524E9DA98FB2CF6C28E84110 /* EXPMatchers+respondTo.h in Headers */, + 4DEC4FC7A759ED6E40C6706E5E500543 /* EXPMatchers.h in Headers */, + 04DDC981AAD7F73EFDFD96393C227827 /* EXPUnsupportedObject.h in Headers */, + 8F5B10D2E6BD453C535653D36FFFE4BB /* NSObject+Expecta.h in Headers */, + 94A899454728A627B3A09E219D11F90B /* NSValue+Expecta.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 590C8A0DC5CE91691FCD4DB992C9F2FE /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 77F49828BC4A5B64BF07461BD891ED60 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C26D47D31257D6157E79A579CA3A7110 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */, - EFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */, - EE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */, - 0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */, - B72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */, - 660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */, - 31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */, - F3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */, - 7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */, - C64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */, - 47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */, - 61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */, - 5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */, - B1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */, - BB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, - 7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */, - DFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */, - 94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */, - 8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */, - BAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */, - B1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, - 19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */, - 4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */, - 76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */, - A193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */, - 87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */, - D3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */, - 4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */, - 4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */, - 11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */, - 62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */, - B241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */, - 119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */, - 4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */, - 7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */, - 12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */, - B7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */, - 69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */, - 120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B091D57BCA2DBE1E64B837A161E9E23 /* Headers */ = { + F133CC7894BED89F6358A098BF49E671 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 76A58C6131A1264FDE3DADAEA0AC83F5 /* MASCompositeConstraint.h in Headers */, - 3E2C9C19590011C8FE1F3966F4AF52D5 /* MASConstraint+Private.h in Headers */, - 9F196561D7369053FA6D9FD4374E85B9 /* MASConstraint.h in Headers */, - 0F7BD72B0882E4D4DD27C3B914EC3857 /* MASConstraintMaker.h in Headers */, - AEEF0434A83EF5F1949252A8409F71DD /* MASLayoutConstraint.h in Headers */, - D69C7F6B7677C82AABBF7FE0057CE931 /* Masonry.h in Headers */, - 28DD12DAF70F49B558112AA5E2809F19 /* MASUtilities.h in Headers */, - 42FA711D0BA099127544F7A978075C9D /* MASViewAttribute.h in Headers */, - 0D4B6D7C17953EF6C0BEFADA699DA6D2 /* MASViewConstraint.h in Headers */, - 2C8FBF03AD0FD40587A84D2994D758B4 /* NSArray+MASAdditions.h in Headers */, - 3AB6F716B6B591E90D2E2CB1434B55BB /* NSArray+MASShorthandAdditions.h in Headers */, - 067B3CDE5AAD4D941172A17C9EEA5916 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, - AFD341AE846EE3D48F3832FB858FD31C /* View+MASAdditions.h in Headers */, - 4F51EE6366844B6C34DD13F77D9A76CA /* View+MASShorthandAdditions.h in Headers */, - 38B02E0B37B1F0225FBE396BD51461D9 /* ViewController+MASAdditions.h in Headers */, + CF56C02D0DA8F5E60905D7CBFC2828C3 /* LayoutGuide+MASAdditions.h in Headers */, + F9E1C0898609C045246BD0E0C93E26B0 /* LayoutGuide+MASShorthandAdditions.h in Headers */, + 32C47F4F9EC749FCBC28A4BCB3599A77 /* MASCompositeConstraint.h in Headers */, + 18BBFC91DC52B7E491AD40E884F99FA5 /* MASConstraint+Private.h in Headers */, + FAEC9B002AB74B29D9A108A1ECC67056 /* MASConstraint.h in Headers */, + AFA0CA5DFE3673B8D2E37A2B3A4528BE /* MASConstraintMaker.h in Headers */, + 47BA6E07A9AEBBAD52E5F15A033C864A /* MASLayoutConstraint.h in Headers */, + D8E614EDAA6E90ACCD4020CDEF64FB08 /* Masonry.h in Headers */, + 1528461638FECB52FE7EE250B23806FA /* MASUtilities.h in Headers */, + 276339BBEAE2F06F12EA19FF6BAA6F33 /* MASViewAttribute.h in Headers */, + C8DDC08BD15D8DD739AE3CF79C5D7507 /* MASViewConstraint.h in Headers */, + B819BE48290A13E9CD053F018F294ED4 /* NSArray+MASAdditions.h in Headers */, + 32AB00AC549EAE7537CB60F40224320D /* NSArray+MASShorthandAdditions.h in Headers */, + E8AD769E477F1E7FADE2326F433ADB12 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, + B6C36294D61D4423CC9B49A740BF688F /* View+MASAdditions.h in Headers */, + 73AC6EBD206F2AA9370C1032889C0861 /* View+MASShorthandAdditions.h in Headers */, + BD34E05A130785C83EE6C4CBD584F3DD /* ViewController+MASAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */ = { + 1EB974C903C080797FBCEF670047E33B /* Pods-MasonryTestsLoader */ = { isa = PBXNativeTarget; - buildConfigurationList = D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget "Expecta" */; + buildConfigurationList = 5BADC7950A1D2B159E592407EE38F75F /* Build configuration list for PBXNativeTarget "Pods-MasonryTestsLoader" */; buildPhases = ( - 5A1715485AF02533C3EE06033E9DA73F /* Sources */, - 03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */, - 05E58D356A38DD487823D5BE24334920 /* Headers */, + 77F49828BC4A5B64BF07461BD891ED60 /* Headers */, + 522C28592E971A53A2BEF1163D55198B /* Sources */, + 42B4066E17B7664B364B444935A85699 /* Frameworks */, + 46EB2E00001350 /* Export Environment Vars */, ); buildRules = ( ); dependencies = ( + 057A68E9FAF588ED6C778A4A1FA31612 /* PBXTargetDependency */, ); - name = Expecta; - productName = Expecta; - productReference = 2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */; + name = "Pods-MasonryTestsLoader"; + productName = "Pods-MasonryTestsLoader"; + productReference = A5E5EBA381830646070498CBB04C9A0F /* libPods-MasonryTestsLoader.a */; productType = "com.apple.product-type.library.static"; }; - 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */ = { + 4F9B6E57365E2E1CF824AB917B947647 /* Pods-Masonry iOS Examples */ = { isa = PBXNativeTarget; - buildConfigurationList = 34CAE1CB89EDBF2E53735CC5D4E5E69F /* Build configuration list for PBXNativeTarget "Masonry" */; + buildConfigurationList = AD4AF911C523007E3D261E54D0E99A6C /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Examples" */; buildPhases = ( - B23F63142B50E8F550DD2612D6EC304E /* Sources */, - 6FD8312A1AEB348F49A81C438DB25115 /* Frameworks */, - 7B091D57BCA2DBE1E64B837A161E9E23 /* Headers */, + 590C8A0DC5CE91691FCD4DB992C9F2FE /* Headers */, + 362CC59767AC23E0D5095DE6038DE4F6 /* Sources */, + 103342CF1962589237E84DF9EC6C3CDF /* Frameworks */, ); buildRules = ( ); dependencies = ( + C90DCFA0446E01682D7A22E9B7373515 /* PBXTargetDependency */, ); - name = Masonry; - productName = Masonry; - productReference = 2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */; + name = "Pods-Masonry iOS Examples"; + productName = "Pods-Masonry iOS Examples"; + productReference = 034FBFCB448F9D15F7570093A95EF0C2 /* libPods-Masonry iOS Examples.a */; productType = "com.apple.product-type.library.static"; }; - B179403FF6D25C7B7A20B6BC7BB7D496 /* Pods-MasonryTestsLoader */ = { + 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */ = { isa = PBXNativeTarget; - buildConfigurationList = 84EA7C388F7334394620E2B60F337AF0 /* Build configuration list for PBXNativeTarget "Pods-MasonryTestsLoader" */; + buildConfigurationList = F04212732E1333A0AFE2F0A294C51A8F /* Build configuration list for PBXNativeTarget "Masonry" */; buildPhases = ( - DFE87F186448CBCB3F82C8AF4CFC35FA /* Sources */, - 583B8AB450D47A22AD844DA398F34FCC /* Frameworks */, - 0298D5A9AEDE52C4B23B10839B5B4F22 /* Export Environment Vars */, + F133CC7894BED89F6358A098BF49E671 /* Headers */, + 6220823A72D2AC9715B7D3F020D96551 /* Sources */, + C4B17D0D2BB73F0DFCDE7639BEB92A99 /* Frameworks */, ); buildRules = ( ); dependencies = ( - C2B6764EE104DB246A756A4DFE11B8D7 /* PBXTargetDependency */, ); - name = "Pods-MasonryTestsLoader"; - productName = "Pods-MasonryTestsLoader"; - productReference = C4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */; + name = Masonry; + productName = Masonry; + productReference = 1FFED36A657123030ABB700256D73F15 /* libMasonry.a */; productType = "com.apple.product-type.library.static"; }; - ED9816227181DEA06E7E727FF25B471D /* Pods-Masonry iOS Examples */ = { + BDB18881500F85658412404DCDEC056C /* Pods-Masonry iOS Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 315B20EF5C9788CF371A2375E2025660 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Examples" */; + buildConfigurationList = FC175A61101A34685A53383659CC4278 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Tests" */; buildPhases = ( - 2AC3450D42E3A3D2F5901AE7C9035C9E /* Sources */, - A3EB68BB62C219069E6DBA1A070D7F3F /* Frameworks */, + C26D47D31257D6157E79A579CA3A7110 /* Headers */, + 49B543AA319EB2131430961BEFD04A96 /* Sources */, + B6A2C4B44C0492964B11825B87F336A9 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3D91A82FDB882886527EEF10899EA5B6 /* PBXTargetDependency */, + 504F97CED4909AAB7685533E7AC64A01 /* PBXTargetDependency */, + A062DC38030E2EF7611D094C49859E11 /* PBXTargetDependency */, ); - name = "Pods-Masonry iOS Examples"; - productName = "Pods-Masonry iOS Examples"; - productReference = 8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */; + name = "Pods-Masonry iOS Tests"; + productName = "Pods-Masonry iOS Tests"; + productReference = 17242E03658EDAE3CC8E0FFA33C92566 /* libPods-Masonry iOS Tests.a */; productType = "com.apple.product-type.library.static"; }; - F851684D769DB63C33469D937E0F9C64 /* Pods-Masonry iOS Tests */ = { + DC371B7477C88184274EC6710690F97C /* Expecta */ = { isa = PBXNativeTarget; - buildConfigurationList = 403F400D236646D1D85497936B6572D1 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Tests" */; + buildConfigurationList = 6DED44BA887C7B50F308C1DB11861EC2 /* Build configuration list for PBXNativeTarget "Expecta" */; buildPhases = ( - D74BBCF7C15B95FA4A31681E55A0FE05 /* Sources */, - 9E80CE71F73E7DB19033544A8A4E9F55 /* Frameworks */, + 559DF3BD40FAE2478E30F355A3BE9218 /* Headers */, + 1CDDE2E70F603750F1537E7A8A318C7D /* Sources */, + C966F79C4262300F36CF75EB47C91210 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 91F718810BB49C6036F14791DC0B796B /* PBXTargetDependency */, ); - name = "Pods-Masonry iOS Tests"; - productName = "Pods-Masonry iOS Tests"; - productReference = 10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */; + name = Expecta; + productName = Expecta; + productReference = 08F7F0770B4878B9883B87DCD8569CB4 /* libExpecta.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 6B57A62A4ECEF9976CBA3885013FA6AC /* Products */; + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = CC0E280BDB5B31CE1F7BB77E447EA47A /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */, - 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */, - ED9816227181DEA06E7E727FF25B471D /* Pods-Masonry iOS Examples */, - F851684D769DB63C33469D937E0F9C64 /* Pods-Masonry iOS Tests */, - B179403FF6D25C7B7A20B6BC7BB7D496 /* Pods-MasonryTestsLoader */, + DC371B7477C88184274EC6710690F97C /* Expecta */, + 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */, + 4F9B6E57365E2E1CF824AB917B947647 /* Pods-Masonry iOS Examples */, + BDB18881500F85658412404DCDEC056C /* Pods-Masonry iOS Tests */, + 1EB974C903C080797FBCEF670047E33B /* Pods-MasonryTestsLoader */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 0298D5A9AEDE52C4B23B10839B5B4F22 /* Export Environment Vars */ = { + 46EB2E00001350 /* Export Environment Vars */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( ); name = "Export Environment Vars"; + outputFileListPaths = ( + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -795,503 +824,528 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 2AC3450D42E3A3D2F5901AE7C9035C9E /* Sources */ = { + 1CDDE2E70F603750F1537E7A8A318C7D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6DA9AB53FE1CA890DF5FB0468FA0F476 /* Pods-Masonry iOS Examples-dummy.m in Sources */, + DA7B989AFE2B409E9EF6BF04120B8C13 /* EXPBlockDefinedMatcher.m in Sources */, + 6C2B1FA8BDF3452AD5C6E640AE95AA6C /* EXPDoubleTuple.m in Sources */, + B353DEE0F707A17093B0D8A5F53894D9 /* Expecta-dummy.m in Sources */, + 9D96E887F3AF3FCB896F40F6167D03AF /* ExpectaObject.m in Sources */, + 8873174683E2EE234F3A3EB7A9B4F15D /* ExpectaSupport.m in Sources */, + 43163FF5C47E1BAAC12E171C188302E1 /* EXPExpect.m in Sources */, + BCCC03AB3BEC74DAD5170A8441D9BBEC /* EXPFloatTuple.m in Sources */, + 08972BEC745F3895C5FE98732BB0E646 /* EXPMatcherHelpers.m in Sources */, + B7603387DF30944EE2AF64E8AFD9B996 /* EXPMatchers+beCloseTo.m in Sources */, + 6AB635E53472AFA729AD959EB18363B1 /* EXPMatchers+beFalsy.m in Sources */, + 7FD25AE74C165D37BB9909EF2026746C /* EXPMatchers+beginWith.m in Sources */, + 70384A05DD64D46FE1E31969F1C4F88D /* EXPMatchers+beGreaterThan.m in Sources */, + 051D4B5709A6257B6F79D54D9139E812 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, + 04E724A97339965ACA4E5D60226DA001 /* EXPMatchers+beIdenticalTo.m in Sources */, + 5A43305F185AD6B24558485ACBAC13D3 /* EXPMatchers+beInstanceOf.m in Sources */, + A3E9D8D3FCC116B9977B4D9D15931763 /* EXPMatchers+beInTheRangeOf.m in Sources */, + 6214814A6B4ED5038353C2DE0F71DE04 /* EXPMatchers+beKindOf.m in Sources */, + DFEEB75EA1B2172C382FA8594ADA0241 /* EXPMatchers+beLessThan.m in Sources */, + 80E371FE77A34E12BA35EE5C7EEC092C /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, + 1CE288226DA4D5164FDE93288F20616B /* EXPMatchers+beNil.m in Sources */, + B5D629B65A97D9E8EF4D5BAA4F40C0FC /* EXPMatchers+beSubclassOf.m in Sources */, + F74BF06DBC15BB2A17E66943831132C2 /* EXPMatchers+beSupersetOf.m in Sources */, + 1222560B913CB9C9C0D14221D02C8306 /* EXPMatchers+beTruthy.m in Sources */, + 3FB675C0E73B6F8058EA1467E1A33C16 /* EXPMatchers+conformTo.m in Sources */, + CAE8D9E60604DD9EEC6F00A0E01E0C4F /* EXPMatchers+contain.m in Sources */, + 69349BECD39FBA209D2ECA0AFE6550AE /* EXPMatchers+endWith.m in Sources */, + BD769EA7F521A62B01BA7C52FBFE218B /* EXPMatchers+equal.m in Sources */, + EF07E681556BC7689CCED3B38434F00E /* EXPMatchers+haveCountOf.m in Sources */, + 8E971E2458163B8D717523B8D8BC892D /* EXPMatchers+match.m in Sources */, + 477C77170BBEBE5DA4591B9C45A375B4 /* EXPMatchers+postNotification.m in Sources */, + D33C600E6B5E582C65F3EF397CAD3338 /* EXPMatchers+raise.m in Sources */, + FC03EE048F70F1E14A2F78836CA26D49 /* EXPMatchers+raiseWithReason.m in Sources */, + D1BF0D14765A5F2B82A53A58E7912DF5 /* EXPMatchers+respondTo.m in Sources */, + C5ABCAD032D262081CC9D9A46F2315E4 /* EXPUnsupportedObject.m in Sources */, + EE62D51B4F4A55731CCD546D25BA1064 /* NSValue+Expecta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A1715485AF02533C3EE06033E9DA73F /* Sources */ = { + 362CC59767AC23E0D5095DE6038DE4F6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */, - 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */, - E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */, - A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */, - C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */, - 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */, - 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */, - 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */, - 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */, - C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */, - C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */, - 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */, - CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, - B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */, - B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */, - 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */, - 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */, - A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */, - 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, - 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */, - 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */, - 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */, - 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */, - 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */, - FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */, - F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */, - 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */, - 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */, - 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */, - D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */, - A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */, - 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */, - 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */, - ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */, - 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */, + 1A4BC62A5EBA7F92D2074FFAADC4E6B5 /* Pods-Masonry iOS Examples-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B23F63142B50E8F550DD2612D6EC304E /* Sources */ = { + 49B543AA319EB2131430961BEFD04A96 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E220D02AE7833F8B9202B0304FFBB644 /* MASCompositeConstraint.m in Sources */, - 2D814705CE041C701138BD9147CB21AA /* MASConstraint.m in Sources */, - EBFA48D334098E6BAB801E6FB8F756C0 /* MASConstraintMaker.m in Sources */, - 1AF47B7901796231A318934C2F0DDC04 /* MASLayoutConstraint.m in Sources */, - B66BCA2DD1043A4356B5286F346F8049 /* Masonry-dummy.m in Sources */, - A8A60B0CEECC7D7C9D8CA6B2DC811C64 /* MASViewAttribute.m in Sources */, - 07B309A8727E5DBE05DB1F644F7B8D8A /* MASViewConstraint.m in Sources */, - E846C94664199B4B993866C557EEC20D /* NSArray+MASAdditions.m in Sources */, - 80408C0CF9D13D89E500446267DD0041 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, - 409B7E241957B5C0ADFA4DEA82CDA7AB /* View+MASAdditions.m in Sources */, - D2BD7E6904BDD20074AB5A8B04400EB2 /* ViewController+MASAdditions.m in Sources */, + A157FC2DD0DD20D4214ABAF18EA92FD2 /* Pods-Masonry iOS Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D74BBCF7C15B95FA4A31681E55A0FE05 /* Sources */ = { + 522C28592E971A53A2BEF1163D55198B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1F002B6CD1662BADA6556D76FFFE0B96 /* Pods-Masonry iOS Tests-dummy.m in Sources */, + DFAAA5ED8680564064326FAFC53E3482 /* Pods-MasonryTestsLoader-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DFE87F186448CBCB3F82C8AF4CFC35FA /* Sources */ = { + 6220823A72D2AC9715B7D3F020D96551 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AC80F28E4B250E6535484F5269566FF0 /* Pods-MasonryTestsLoader-dummy.m in Sources */, + 03A812302F4831B26EA5D4090B743A8E /* LayoutGuide+MASAdditions.m in Sources */, + 4EBE6AD128FFDF53A3FD68082B37B051 /* LayoutGuide+MASShorthandAdditions.m in Sources */, + D8A570B2BE3BD8D7BB992CCE3FC27319 /* MASCompositeConstraint.m in Sources */, + E3E4EB4224D8C15DFC67F4FD3EF34E32 /* MASConstraint.m in Sources */, + 7C6E59F6F0F3A29811C4CACC9928BECF /* MASConstraintMaker.m in Sources */, + 631AFE3D6BED4FE218ADBF212982DF60 /* MASLayoutConstraint.m in Sources */, + 523CE30C095A2236A550FDB03991970C /* Masonry-dummy.m in Sources */, + CE16D7663764375961128F92A95710F1 /* MASUtilities.m in Sources */, + A1FE1F032E5FC3DD14514274810CB920 /* MASViewAttribute.m in Sources */, + AA33310A145547AE371A726E9977CFA6 /* MASViewConstraint.m in Sources */, + 3160B54E02BA3F57402FD9D1864922C0 /* NSArray+MASAdditions.m in Sources */, + 102AE0CDC0AFA43305803BE841A059DB /* NSArray+MASShorthandAdditions.m in Sources */, + 9DDE1BDD1C6207009250EDA6C41F0621 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, + 506AEBBD21A6F1D89B5AA6D1EFA1C62B /* View+MASAdditions.m in Sources */, + A90ED8FE67ED58BD5E6A858A359578EC /* View+MASShorthandAdditions.m in Sources */, + 71386C6E62CC5331AA1D008197CEF602 /* ViewController+MASAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3D91A82FDB882886527EEF10899EA5B6 /* PBXTargetDependency */ = { + 057A68E9FAF588ED6C778A4A1FA31612 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Masonry; - target = 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */; - targetProxy = AA5F0BBF6F9F116C791133368DE92755 /* PBXContainerItemProxy */; + target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; + targetProxy = D561D18B09F2A99E2E81DEC613CFDE0B /* PBXContainerItemProxy */; }; - 91F718810BB49C6036F14791DC0B796B /* PBXTargetDependency */ = { + 504F97CED4909AAB7685533E7AC64A01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Expecta; - target = 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */; - targetProxy = 3A31C048AC5B5E5AB145E49BF610B911 /* PBXContainerItemProxy */; + target = DC371B7477C88184274EC6710690F97C /* Expecta */; + targetProxy = C5E151CE4DDEA5E3770EDA456DE348CA /* PBXContainerItemProxy */; + }; + A062DC38030E2EF7611D094C49859E11 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Masonry; + target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; + targetProxy = B75A0CE47F1335ADF22BFFE2CE4BC651 /* PBXContainerItemProxy */; }; - C2B6764EE104DB246A756A4DFE11B8D7 /* PBXTargetDependency */ = { + C90DCFA0446E01682D7A22E9B7373515 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Masonry; - target = 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */; - targetProxy = 5E51BB7C485C3BB1001A7E9EF94414CF /* PBXContainerItemProxy */; + target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; + targetProxy = 72CE870760A45916E07816B4B7324986 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 06C735D53481C37742C3736F2A7D5661 /* Debug */ = { + 10D29FFB224C78CE6D8ED2E78ADB0FA0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */; + baseConfigurationReference = 37C9A4075B3D6A87244FD6442E426342 /* Expecta.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; - MTL_ENABLE_DEBUG_INFO = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - }; - name = Debug; - }; - 0D04C9824688FBC954D824C0404A3E00 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_GENERATE_TEST_COVERAGE_FILES = YES; - GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 1C7D17A37D091C98D2F0DD886C3A9320 /* Debug */ = { + 25AD9454612BF454A1E3DC4CD4FA8C6D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "POD_CONFIGURATION_DEBUG=1", "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - 34FE9531DA9AF2820790339988D5FF41 /* Release */ = { + 4B40799AB99B58ECD7EA365FF2CA12C2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4C6A4D44BC66DA17B7398BFA64ADC39A /* Pods-Masonry iOS Tests.release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 3640836F61E86EC291C35C10A0C6C895 /* Release */ = { + 4F14F6841BFF23717068C101F3F37CE8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */; + baseConfigurationReference = 82C52D4DED5698D760C6C085693FFE20 /* Pods-Masonry iOS Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = NO; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - 4563D8BBE880D823F6BD5DDF706D753C /* Release */ = { + 55CA81C3744D28C6840F8540AE610FDF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */; + baseConfigurationReference = FBB3118652D20683E364309C03238B2E /* Pods-MasonryTestsLoader.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; - MTL_ENABLE_DEBUG_INFO = NO; + GCC_GENERATE_TEST_COVERAGE_FILES = YES; + GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 8B6F0C8DE4F0C3C276DE0869916A9854 /* Debug */ = { + 586AF7732B2F6C86786A6CA55B6E3A02 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */; + baseConfigurationReference = 109B3FC0CAC2B4FD7E9BC1B1174C4152 /* Masonry.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_MODULE_NAME = Masonry; + PRODUCT_NAME = Masonry; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - BEFC70E6C48ED31E2194921A7560D273 /* Release */ = { + 8617D9D2F2E34B66E37D3B1858B5B6C0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */; + baseConfigurationReference = 078F70BA7D353AFB208803CB51C4358A /* Pods-Masonry iOS Examples.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CA547D2C7E9A8A153DC2B27FBE00B112 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - DA2C49C7DD25DEB1B2FD7E82FE00F85A /* Debug */ = { + D5012492EFB5A14C706E2145ED809494 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */; + baseConfigurationReference = 2D07A6AA6C9E025EE07A84762AFCFA0C /* Pods-Masonry iOS Examples.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - E0ED321AE074A8803A400A79BF0B2A54 /* Debug */ = { + DBF56C7DD2CA406959EFB14EF918A1ED /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */; + baseConfigurationReference = 6E2F6452C6FBF7416CC1FDCA290F5E96 /* Pods-MasonryTestsLoader.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_GENERATE_TEST_COVERAGE_FILES = YES; GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - E7BA51E64E8E497287675229455FF9BE /* Release */ = { + F551C51950B1AA7EAD1D4235481F3B39 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */; + baseConfigurationReference = D5010834CD44C2DF2E07FD32C2F021D4 /* Masonry.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = NO; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Masonry; + PRODUCT_NAME = Masonry; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - FE787B4338C5C609AA6C2113045B53EB /* Debug */ = { + FAAA109B6D07D02810436194C4E127FC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */; + baseConfigurationReference = F7CB9B0B3F8680F35B9EC71EABF62ED6 /* Expecta.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = YES; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1C7D17A37D091C98D2F0DD886C3A9320 /* Debug */, - 34FE9531DA9AF2820790339988D5FF41 /* Release */, + 25AD9454612BF454A1E3DC4CD4FA8C6D /* Debug */, + CA547D2C7E9A8A153DC2B27FBE00B112 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 315B20EF5C9788CF371A2375E2025660 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Examples" */ = { + 5BADC7950A1D2B159E592407EE38F75F /* Build configuration list for PBXNativeTarget "Pods-MasonryTestsLoader" */ = { isa = XCConfigurationList; buildConfigurations = ( - FE787B4338C5C609AA6C2113045B53EB /* Debug */, - BEFC70E6C48ED31E2194921A7560D273 /* Release */, + DBF56C7DD2CA406959EFB14EF918A1ED /* Debug */, + 55CA81C3744D28C6840F8540AE610FDF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 34CAE1CB89EDBF2E53735CC5D4E5E69F /* Build configuration list for PBXNativeTarget "Masonry" */ = { + 6DED44BA887C7B50F308C1DB11861EC2 /* Build configuration list for PBXNativeTarget "Expecta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8B6F0C8DE4F0C3C276DE0869916A9854 /* Debug */, - 3640836F61E86EC291C35C10A0C6C895 /* Release */, + FAAA109B6D07D02810436194C4E127FC /* Debug */, + 10D29FFB224C78CE6D8ED2E78ADB0FA0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 403F400D236646D1D85497936B6572D1 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Tests" */ = { + AD4AF911C523007E3D261E54D0E99A6C /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Examples" */ = { isa = XCConfigurationList; buildConfigurations = ( - DA2C49C7DD25DEB1B2FD7E82FE00F85A /* Debug */, - E7BA51E64E8E497287675229455FF9BE /* Release */, + 8617D9D2F2E34B66E37D3B1858B5B6C0 /* Debug */, + D5012492EFB5A14C706E2145ED809494 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 84EA7C388F7334394620E2B60F337AF0 /* Build configuration list for PBXNativeTarget "Pods-MasonryTestsLoader" */ = { + F04212732E1333A0AFE2F0A294C51A8F /* Build configuration list for PBXNativeTarget "Masonry" */ = { isa = XCConfigurationList; buildConfigurations = ( - E0ED321AE074A8803A400A79BF0B2A54 /* Debug */, - 0D04C9824688FBC954D824C0404A3E00 /* Release */, + F551C51950B1AA7EAD1D4235481F3B39 /* Debug */, + 586AF7732B2F6C86786A6CA55B6E3A02 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget "Expecta" */ = { + FC175A61101A34685A53383659CC4278 /* Build configuration list for PBXNativeTarget "Pods-Masonry iOS Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 06C735D53481C37742C3736F2A7D5661 /* Debug */, - 4563D8BBE880D823F6BD5DDF706D753C /* Release */, + 4F14F6841BFF23717068C101F3F37CE8 /* Debug */, + 4B40799AB99B58ECD7EA365FF2CA12C2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; } diff --git a/Pods/Target Support Files/Expecta/Expecta.debug.xcconfig b/Pods/Target Support Files/Expecta/Expecta.debug.xcconfig new file mode 100644 index 00000000..e9706e54 --- /dev/null +++ b/Pods/Target Support Files/Expecta/Expecta.debug.xcconfig @@ -0,0 +1,17 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Expecta +ENABLE_BITCODE = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Expecta/Expecta.release.xcconfig b/Pods/Target Support Files/Expecta/Expecta.release.xcconfig new file mode 100644 index 00000000..e9706e54 --- /dev/null +++ b/Pods/Target Support Files/Expecta/Expecta.release.xcconfig @@ -0,0 +1,17 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Expecta +ENABLE_BITCODE = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" +LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Expecta/Expecta.xcconfig b/Pods/Target Support Files/Expecta/Expecta.xcconfig deleted file mode 100644 index 4364ae8b..00000000 --- a/Pods/Target Support Files/Expecta/Expecta.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Expecta -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -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/Masonry" -OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Pods/Target Support Files/Masonry/Masonry-prefix.pch b/Pods/Target Support Files/Masonry/Masonry-prefix.pch index beb2a244..e5e37e2a 100644 --- a/Pods/Target Support Files/Masonry/Masonry-prefix.pch +++ b/Pods/Target Support Files/Masonry/Masonry-prefix.pch @@ -1,5 +1,10 @@ #ifdef __OBJC__ +#import +#if TARGET_OS_IPHONE || TARGET_OS_TV #import +#elif TARGET_OS_MAC +#import +#endif #else #ifndef FOUNDATION_EXPORT #if defined(__cplusplus) diff --git a/Pods/Target Support Files/Masonry/Masonry.debug.xcconfig b/Pods/Target Support Files/Masonry/Masonry.debug.xcconfig new file mode 100644 index 00000000..39b6aa89 --- /dev/null +++ b/Pods/Target Support Files/Masonry/Masonry.debug.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Masonry/Masonry.release.xcconfig b/Pods/Target Support Files/Masonry/Masonry.release.xcconfig new file mode 100644 index 00000000..39b6aa89 --- /dev/null +++ b/Pods/Target Support Files/Masonry/Masonry.release.xcconfig @@ -0,0 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Masonry/Masonry.xcconfig b/Pods/Target Support Files/Masonry/Masonry.xcconfig deleted file mode 100644 index 539a8347..00000000 --- a/Pods/Target Support Files/Masonry/Masonry.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Masonry -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/Masonry" -OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig b/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig index ccf6334a..439f00ad 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig +++ b/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig @@ -1,9 +1,11 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -framework "Foundation" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig b/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig index ccf6334a..439f00ad 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig +++ b/Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig @@ -1,9 +1,11 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -framework "Foundation" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.markdown b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.markdown index c6be2313..8f585ddd 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.markdown @@ -1,6 +1,28 @@ # Acknowledgements This application makes use of the following third party libraries: +## 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. + ## Expecta Copyright (c) 2011-2015 Specta Team - https://github.com/specta diff --git a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.plist index e46fb587..8e1a978d 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.plist @@ -12,6 +12,34 @@ 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. + License + MIT + Title + Masonry + Type + PSGroupSpecifier + FooterText Copyright (c) 2011-2015 Specta Team - https://github.com/specta diff --git a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig index c2a06956..ebfa4868 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig @@ -1,10 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/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/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -framework "Foundation" -framework "XCTest" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"Masonry" -framework "Foundation" -framework "XCTest" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig index c2a06956..ebfa4868 100644 --- a/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig @@ -1,10 +1,12 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/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/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -framework "Foundation" -framework "XCTest" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"Masonry" -framework "Foundation" -framework "XCTest" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig b/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig index ccf6334a..439f00ad 100644 --- a/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig +++ b/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig @@ -1,9 +1,11 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -framework "Foundation" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig b/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig index ccf6334a..439f00ad 100644 --- a/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig +++ b/Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig @@ -1,9 +1,11 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Masonry" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -framework "Foundation" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.. PODS_ROOT = ${SRCROOT}/../Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/README.md b/README.md index d4286576..c290110e 100644 --- a/README.md +++ b/README.md @@ -334,12 +334,11 @@ For an example of how to set this up take a look at the **Masonry iOS Examples** ```objc @implementation DIYCustomView -- (id)init { - self = [super init]; - if (!self) return nil; - - // --- Create your views here --- - self.button = [[UIButton alloc] init]; +- (instancetype)init { + if (self = [super init]) { + // --- Create your views here --- + self.button = [[UIButton alloc] init]; + } return self; } diff --git a/Tests/Masonry Tests.xcodeproj/project.pbxproj b/Tests/Masonry Tests.xcodeproj/project.pbxproj index 6db7e338..a4eefa7a 100644 --- a/Tests/Masonry Tests.xcodeproj/project.pbxproj +++ b/Tests/Masonry Tests.xcodeproj/project.pbxproj @@ -203,8 +203,6 @@ DD7179FA18442A6400FAA7A8 /* Sources */, DD7179FB18442A6400FAA7A8 /* Frameworks */, DD7179FC18442A6400FAA7A8 /* Resources */, - DB244E91C65945F39DE14644 /* [CP] Copy Pods Resources */, - 5B07E509D5304034616D89F7 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -223,8 +221,6 @@ DD717A2E18442ADC00FAA7A8 /* Sources */, DD717A2F18442ADC00FAA7A8 /* Frameworks */, DD717A3018442ADC00FAA7A8 /* Resources */, - DC72D687A4114D04BBA75896 /* [CP] Copy Pods Resources */, - 5AEE51071FAE8B3BB28C9E5E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -305,36 +301,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 5AEE51071FAE8B3BB28C9E5E /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 5B07E509D5304034616D89F7 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 9F27CD2D75E246C0A787A688 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -353,36 +319,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - DB244E91C65945F39DE14644 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - DC72D687A4114D04BBA75896 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/Tests/Masonry Tests.xcodeproj/xcshareddata/xcschemes/Masonry iOS Tests.xcscheme b/Tests/Masonry Tests.xcodeproj/xcshareddata/xcschemes/Masonry iOS Tests.xcscheme index 0a41449c..3892e3a5 100644 --- a/Tests/Masonry Tests.xcodeproj/xcshareddata/xcschemes/Masonry iOS Tests.xcscheme +++ b/Tests/Masonry Tests.xcodeproj/xcshareddata/xcschemes/Masonry iOS Tests.xcscheme @@ -28,6 +28,7 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" language = "" shouldUseLaunchSchemeArgsEnv = "YES"> + codeCoverageEnabled = "YES"> diff --git a/Tests/Specs/MASConstraintDelegateMock.h b/Tests/Specs/MASConstraintDelegateMock.h index e52c6cb7..29ab3daa 100644 --- a/Tests/Specs/MASConstraintDelegateMock.h +++ b/Tests/Specs/MASConstraintDelegateMock.h @@ -6,7 +6,7 @@ // Copyright (c) 2013 Jonas Budelmann. All rights reserved. // -#import "MASConstraint+Private.h" +#import "MASViewConstraint.h" @interface MASConstraintDelegateMock : NSObject diff --git a/Tests/Specs/MASConstraintDelegateMock.m b/Tests/Specs/MASConstraintDelegateMock.m index 59f94a2e..7023cc6c 100644 --- a/Tests/Specs/MASConstraintDelegateMock.m +++ b/Tests/Specs/MASConstraintDelegateMock.m @@ -7,16 +7,14 @@ // #import "MASConstraintDelegateMock.h" -#import "MASViewConstraint.h" @implementation MASConstraintDelegateMock -- (id)init { - self = [super init]; - if (!self) return nil; - - self.constraints = NSMutableArray.new; - self.chainedConstraints = NSMutableArray.new; +- (instancetype)init { + if (self = [super init]) { + self.constraints = NSMutableArray.new; + self.chainedConstraints = NSMutableArray.new; + } return self; } diff --git a/Tests/Specs/MASConstraintMakerSpec.m b/Tests/Specs/MASConstraintMakerSpec.m index a4794d1b..de135d18 100644 --- a/Tests/Specs/MASConstraintMakerSpec.m +++ b/Tests/Specs/MASConstraintMakerSpec.m @@ -9,7 +9,6 @@ #import "MASConstraintMaker.h" #import "MASCompositeConstraint.h" #import "MASViewConstraint.h" -#import "MASConstraint+Private.h" @interface MASConstraintMaker () @@ -251,4 +250,4 @@ - (void)testAttributeChainingWithViewConstraint { expect(childConstraint.delegate).to.beIdenticalTo(composite); } -SpecEnd \ No newline at end of file +SpecEnd diff --git a/Tests/Specs/MASViewConstraintSpec.m b/Tests/Specs/MASViewConstraintSpec.m index 6da0091f..444cfb26 100644 --- a/Tests/Specs/MASViewConstraintSpec.m +++ b/Tests/Specs/MASViewConstraintSpec.m @@ -7,7 +7,6 @@ // #import "MASViewConstraint.h" -#import "MASConstraint+Private.h" #import "MASConstraint.h" #import "View+MASAdditions.h" #import "MASConstraintDelegateMock.h" @@ -532,4 +531,4 @@ - (void)testAttributeChainingShouldCallDelegate { expect(delegate.chainedConstraints).to.equal(@[constraint]); } -SpecEnd \ No newline at end of file +SpecEnd diff --git a/Tests/Specs/NSLayoutConstraint+MASDebugAdditionsSpec.m b/Tests/Specs/NSLayoutConstraint+MASDebugAdditionsSpec.m index a9d4061a..11b1d218 100644 --- a/Tests/Specs/NSLayoutConstraint+MASDebugAdditionsSpec.m +++ b/Tests/Specs/NSLayoutConstraint+MASDebugAdditionsSpec.m @@ -35,7 +35,7 @@ - (void)testDisplayLayoutConstraintKey { MASLayoutConstraint *layoutConstraint = [MASLayoutConstraint constraintWithItem:newView1 attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:newView2 attribute:NSLayoutAttributeTop multiplier:2 constant:300]; layoutConstraint.mas_key = @"helloConstraint"; - NSString *description = [NSString stringWithFormat:@"", MAS_VIEW.class, MAS_VIEW.class]; + NSString *description = [NSString stringWithFormat:@"", MAS_VIEW.class, MAS_VIEW.class]; expect([layoutConstraint description]).to.equal(description); } @@ -57,4 +57,4 @@ - (void)testDisplayConstraintKey { expect([superview.constraints[0] description]).to.equal(description); } -SpecEnd \ No newline at end of file +SpecEnd