diff --git a/.gitignore b/.gitignore
index 0a9eca0d..dfbbf7ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ DerivedData
#
# Pods/
.idea
+/Tests/FailureDiffs
diff --git a/.travis.yml b/.travis.yml
index cfe015f2..6f9dd8e1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,16 +1,14 @@
language: objective-c
-osx_image: xcode10
+osx_image: xcode10.1
env:
global:
- WORKSPACE=Example/PopupDialog.xcworkspace
- IOS_FRAMEWORK_SCHEME="PopupDialog-Example"
- - IOS_SDK=iphonesimulator12.0
- - EXAMPLE_SCHEME="PopupDialog-Example"
+ - IOS_SDK=iphonesimulator12.1
matrix:
- - DESTINATION="OS=11.1,name=iPhone 7 Plus" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus, 11.1" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES"
- - DESTINATION="OS=10.2,name=iPhone 6" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPhone-6, 10.2" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- - DESTINATION="OS=9.2,name=iPhone 5s" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPhone-5s, 9.2" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
- - DESTINATION="OS=11.1,name=iPad Air 2" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPad-Air-2, 11.1" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
+ - DESTINATION="OS=12.1,name=iPhone XR" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPhone-XR, 12.1" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" POD_LINT="YES"
+ - DESTINATION="OS=10.2,name=iPhone 6" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPhone-6, 10.2" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" POD_LINT="NO"
+ - DESTINATION="OS=11.1,name=iPad Air 2" SIMNAME="com.apple.CoreSimulator.SimDeviceType.iPad-Air-2, 11.1" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" POD_LINT="NO"
before_install:
- npm install ios-sim -g
- gem install cocoapods --no-rdoc --no-ri --no-document --quiet
@@ -24,24 +22,8 @@ script:
# "Prewarm" simulators as of https://github.com/travis-ci/travis-ci/issues/6675
- ios-sim start --devicetypeid "$SIMNAME"
- # Build Framework in Debug and Run Tests if specified
- - if [ $RUN_TESTS == "YES" ]; then
- xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty -c;
- else
- xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- fi
-
- # Build Framework in Release and Run Tests if specified
- - if [ $RUN_TESTS == "YES" ]; then
- xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty -c;
- else
- xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- fi
-
- # Build Example in Debug if specified
- - if [ $BUILD_EXAMPLE == "YES" ]; then
- xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- fi
+ # Build Framework in Debug and run tests
+ - xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty -c;
# Run `pod lib lint` if specified
- if [ $POD_LINT == "YES" ]; then
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 81c00597..75a5673c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,5 @@
# Changelog
-
+* **0.1.0** Pinned Swift version to 4.2
Dropped iOS 9 support as of moving to ios-snapshot-test-case
* **0.9.2** Fixes crash when presenting dialog while app is inactive
* **0.9.1** Fixes Carthage support
* **0.9.0** Swift 4.2 support
diff --git a/Example/Podfile b/Example/Podfile
index 82c944c2..6be75aac 100644
--- a/Example/Podfile
+++ b/Example/Podfile
@@ -1,4 +1,4 @@
-platform :ios, '9.0'
+platform :ios, '10.0'
use_frameworks!
ENV['COCOAPODS_DISABLE_STATS'] = "true" ## This disabled the Sending Stats when running Pod install in terminal
@@ -12,7 +12,7 @@ target 'PopupDialog_Example' do
inherit! :search_paths
pod 'Nimble', '~> 7.3.1'
- pod 'FBSnapshotTestCase', '~> 2.1.4'
+ pod 'iOSSnapshotTestCase', '~> 6.0.2'
end
end
diff --git a/Example/Podfile.lock b/Example/Podfile.lock
index 8485a112..5bcb3a70 100644
--- a/Example/Podfile.lock
+++ b/Example/Podfile.lock
@@ -1,17 +1,17 @@
PODS:
- DynamicBlurView (3.0.1)
- - FBSnapshotTestCase (2.1.4):
- - FBSnapshotTestCase/SwiftSupport (= 2.1.4)
- - FBSnapshotTestCase/Core (2.1.4)
- - FBSnapshotTestCase/SwiftSupport (2.1.4):
- - FBSnapshotTestCase/Core
- - Nimble (7.3.1)
- - PopupDialog (0.9.2):
+ - iOSSnapshotTestCase (6.0.2):
+ - iOSSnapshotTestCase/SwiftSupport (= 6.0.2)
+ - iOSSnapshotTestCase/Core (6.0.2)
+ - iOSSnapshotTestCase/SwiftSupport (6.0.2):
+ - iOSSnapshotTestCase/Core
+ - Nimble (7.3.4)
+ - PopupDialog (1.0.0):
- DynamicBlurView (~> 3.0.1)
- - SwiftLint (0.29.1)
+ - SwiftLint (0.31.0)
DEPENDENCIES:
- - FBSnapshotTestCase (~> 2.1.4)
+ - iOSSnapshotTestCase (~> 6.0.2)
- Nimble (~> 7.3.1)
- PopupDialog (from `../`)
- SwiftLint (~> 0.22)
@@ -19,7 +19,7 @@ DEPENDENCIES:
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- DynamicBlurView
- - FBSnapshotTestCase
+ - iOSSnapshotTestCase
- Nimble
- SwiftLint
@@ -29,11 +29,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
DynamicBlurView: b1df5415f9bd31897549e5d7077e5ec120a4d636
- FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a
- Nimble: 04f732da099ea4d153122aec8c2a88fd0c7219ae
- PopupDialog: 262df853f60f779ec354244e83dbb47ce52ac32a
- SwiftLint: 6772320e40b52049053a518c17db9b0634a0b45a
+ iOSSnapshotTestCase: 20083a7be9b8ef742610e16c79f15ad829441f29
+ Nimble: 051e3d8912d40138fa5591c78594f95fb172af37
+ PopupDialog: 5f8057d0d01c19d6cd4984ccc533b30c797fa40f
+ SwiftLint: 7a0227733d786395817373b2d0ca799fd0093ff3
-PODFILE CHECKSUM: 2d0166d1e20a1e39377fb316142d39a3785d58f2
+PODFILE CHECKSUM: 745b14824f525113e600d7bfeeb81d4a978d6f28
COCOAPODS: 1.5.3
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
deleted file mode 100644
index eefe11ba..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@interface UIApplication (StrictKeyWindow)
-
-/**
- @return The receiver's @c keyWindow. Raises an assertion if @c nil.
- */
-- (UIWindow *)fb_strictKeyWindow;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
deleted file mode 100644
index 0f7a0c25..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@implementation UIApplication (StrictKeyWindow)
-
-- (UIWindow *)fb_strictKeyWindow
-{
- UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
- if (!keyWindow) {
- [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException"
- format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test"
- " host sets up a key window at launch (either via storyboards or programmatically) and doesn't"
- " do anything to remove it while snapshot tests are running."];
- }
- return keyWindow;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
deleted file mode 100644
index c997f578..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// 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.
-//
-
-#import
-
-// This makes debugging much more fun
-typedef union {
- uint32_t raw;
- unsigned char bytes[4];
- struct {
- char red;
- char green;
- char blue;
- char alpha;
- } __attribute__ ((packed)) pixels;
-} FBComparePixel;
-
-@implementation UIImage (Compare)
-
-- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance
-{
- NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size.");
-
- CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage));
- CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage));
-
- // The images have the equal size, so we could use the smallest amount of bytes because of byte padding
- size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage));
- size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow;
- void *referenceImagePixels = calloc(1, referenceImageSizeBytes);
- void *imagePixels = calloc(1, referenceImageSizeBytes);
-
- if (!referenceImagePixels || !imagePixels) {
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels,
- referenceImageSize.width,
- referenceImageSize.height,
- CGImageGetBitsPerComponent(self.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(self.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
- CGContextRef imageContext = CGBitmapContextCreate(imagePixels,
- imageSize.width,
- imageSize.height,
- CGImageGetBitsPerComponent(image.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(image.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
-
- if (!referenceImageContext || !imageContext) {
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage);
- CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage);
-
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
-
- BOOL imageEqual = YES;
-
- // Do a fast compare if we can
- if (tolerance == 0) {
- imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0);
- } else {
- // Go through each pixel in turn and see if it is different
- const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height;
-
- FBComparePixel *p1 = referenceImagePixels;
- FBComparePixel *p2 = imagePixels;
-
- NSInteger numDiffPixels = 0;
- for (int n = 0; n < pixelCount; ++n) {
- // If this pixel is different, increment the pixel diff count and see
- // if we have hit our limit.
- if (p1->raw != p2->raw) {
- numDiffPixels ++;
-
- CGFloat percent = (CGFloat)numDiffPixels / pixelCount;
- if (percent > tolerance) {
- imageEqual = NO;
- break;
- }
- }
-
- p1++;
- p2++;
- }
- }
-
- free(referenceImagePixels);
- free(imagePixels);
-
- return imageEqual;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
deleted file mode 100644
index b0d5b26b..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@interface UIImage (Snapshot)
-
-/// Uses renderInContext: to get a snapshot of the layer.
-+ (UIImage *)fb_imageForLayer:(CALayer *)layer;
-
-/// Uses renderInContext: to get a snapshot of the view layer.
-+ (UIImage *)fb_imageForViewLayer:(UIView *)view;
-
-/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed.
-+ (UIImage *)fb_imageForView:(UIView *)view;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
deleted file mode 100644
index 968091b9..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-@implementation UIImage (Snapshot)
-
-+ (UIImage *)fb_imageForLayer:(CALayer *)layer
-{
- CGRect bounds = layer.bounds;
- NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer);
- NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer);
-
- UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
- CGContextRef context = UIGraphicsGetCurrentContext();
- NSAssert1(context, @"Could not generate context for layer %@", layer);
- CGContextSaveGState(context);
- [layer layoutIfNeeded];
- [layer renderInContext:context];
- CGContextRestoreGState(context);
-
- UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return snapshot;
-}
-
-+ (UIImage *)fb_imageForViewLayer:(UIView *)view
-{
- [view layoutIfNeeded];
- return [self fb_imageForLayer:view.layer];
-}
-
-+ (UIImage *)fb_imageForView:(UIView *)view
-{
- CGRect bounds = view.bounds;
- NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view);
- NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view);
-
- // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window.
- UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window;
- BOOL removeFromSuperview = NO;
- if (!window) {
- window = [[UIApplication sharedApplication] fb_strictKeyWindow];
- }
-
- if (!view.window && view != window) {
- [window addSubview:view];
- removeFromSuperview = YES;
- }
-
- UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
- [view layoutIfNeeded];
- [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
-
- UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- if (removeFromSuperview) {
- [view removeFromSuperview];
- }
-
- return snapshot;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
deleted file mode 100644
index 6438c5c7..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-#import
-
-#import
-
-#import
-
-/*
- There are three ways of setting reference image directories.
-
- 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted
- c-string with the path.
- 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This
- takes precedence over the preprocessor macro to allow for run-time override.
- 3. Keep everything unset, which will cause the reference images to be looked up
- inside the bundle holding the current test, in the
- Resources/ReferenceImages_* directories.
- */
-#ifndef FB_REFERENCE_IMAGE_DIR
-#define FB_REFERENCE_IMAGE_DIR ""
-#endif
-
-/**
- Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
- @param view The view to snapshot
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param suffixes An NSOrderedSet of strings for the different suffixes
- @param tolerance The percentage of pixels that can differ and still count as an 'identical' view
- */
-#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \
- FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__)
-
-#define FBSnapshotVerifyView(view__, identifier__) \
- FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
-
-
-/**
- Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
- @param layer The layer to snapshot
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param suffixes An NSOrderedSet of strings for the different suffixes
- @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer
- */
-#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \
- FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__)
-
-#define FBSnapshotVerifyLayer(layer__, identifier__) \
- FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
-
-
-#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \
-{ \
- NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__ defaultReferenceDirectory:(@ FB_REFERENCE_IMAGE_DIR)]; \
- BOOL noErrors = (errorDescription == nil); \
- XCTAssertTrue(noErrors, @"%@", errorDescription); \
-}
-
-
-/**
- The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test
- and compare an image of the view to a reference image that write lots of complex layout-code tests.
-
- In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES.
-
- @attention When recording, the reference image directory should be explicitly
- set, otherwise the images may be written to somewhere inside the
- simulator directory.
-
- For example:
- @code
- - (void)setUp
- {
- [super setUp];
- self.recordMode = YES;
- }
- @endcode
- */
-@interface FBSnapshotTestCase : XCTestCase
-
-/**
- When YES, the test macros will save reference images, rather than performing an actual test.
- */
-@property (readwrite, nonatomic, assign) BOOL recordMode;
-
-/**
- When @c YES appends the name of the device model and OS to the snapshot file name.
- The default value is @c NO.
- */
-@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic;
-
-/**
- When YES, renders a snapshot of the complete view hierarchy as visible onscreen.
- There are several things that do not work if renderInContext: is used.
- - UIVisualEffect #70
- - UIAppearance #91
- - Size Classes #92
-
- @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview.
- */
-@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect;
-
-- (void)setUp NS_REQUIRES_SUPER;
-- (void)tearDown NS_REQUIRES_SUPER;
-
-/**
- Performs the comparison or records a snapshot of the layer if recordMode is YES.
- @param viewOrLayer The UIView or CALayer to snapshot
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param suffixes An NSOrderedSet of strings for the different suffixes
- @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
- @param defaultReferenceDirectory The directory to default to for reference images.
- @returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description.
- */
-- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
- identifier:(NSString *)identifier
- suffixes:(NSOrderedSet *)suffixes
- tolerance:(CGFloat)tolerance
- defaultReferenceDirectory:(NSString *)defaultReferenceDirectory;
-
-/**
- Performs the comparison or records a snapshot of the layer if recordMode is YES.
- @param layer The Layer to snapshot
- @param referenceImagesDirectory The directory in which reference images are stored.
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
- @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr;
-
-/**
- Performs the comparison or records a snapshot of the view if recordMode is YES.
- @param view The view to snapshot
- @param referenceImagesDirectory The directory in which reference images are stored.
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
- @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfView:(UIView *)view
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr;
-
-/**
- Checks if reference image with identifier based name exists in the reference images directory.
- @param referenceImagesDirectory The directory in which reference images are stored.
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if reference image exists.
- */
-- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Returns the reference image directory.
-
- Helper function used to implement the assert macros.
-
- @param dir directory to use if environment variable not specified. Ignored if null or empty.
- */
-- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
deleted file mode 100644
index f1fb547d..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-@implementation FBSnapshotTestCase
-{
- FBSnapshotTestController *_snapshotController;
-}
-
-#pragma mark - Overrides
-
-- (void)setUp
-{
- [super setUp];
- _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])];
-}
-
-- (void)tearDown
-{
- _snapshotController = nil;
- [super tearDown];
-}
-
-- (BOOL)recordMode
-{
- return _snapshotController.recordMode;
-}
-
-- (void)setRecordMode:(BOOL)recordMode
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.recordMode = recordMode;
-}
-
-- (BOOL)isDeviceAgnostic
-{
- return _snapshotController.deviceAgnostic;
-}
-
-- (void)setDeviceAgnostic:(BOOL)deviceAgnostic
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.deviceAgnostic = deviceAgnostic;
-}
-
-- (BOOL)usesDrawViewHierarchyInRect
-{
- return _snapshotController.usesDrawViewHierarchyInRect;
-}
-
-- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect;
-}
-
-#pragma mark - Public API
-
-- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
- identifier:(NSString *)identifier
- suffixes:(NSOrderedSet *)suffixes
- tolerance:(CGFloat)tolerance
- defaultReferenceDirectory:(NSString *)defaultReferenceDirectory
-{
- if (nil == viewOrLayer) {
- return @"Object to be snapshotted must not be nil";
- }
- NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:defaultReferenceDirectory];
- if (referenceImageDirectory == nil) {
- return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.";
- }
- if (suffixes.count == 0) {
- return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes];
- }
-
- BOOL testSuccess = NO;
- NSError *error = nil;
- NSMutableArray *errors = [NSMutableArray array];
-
- if (self.recordMode) {
- NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject];
- BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error];
- if (!referenceImageSaved) {
- [errors addObject:error];
- }
- } else {
- for (NSString *suffix in suffixes) {
- NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix];
- BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error];
-
- if (referenceImageAvailable) {
- BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error];
- [errors removeAllObjects];
- if (comparisonSuccess) {
- testSuccess = YES;
- break;
- } else {
- [errors addObject:error];
- }
- } else {
- [errors addObject:error];
- }
- }
- }
-
- if (!testSuccess) {
- return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject];
- }
- if (self.recordMode) {
- return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!";
- }
-
- return nil;
-}
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:layer
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:view
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
- UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector
- identifier:identifier
- error:errorPtr];
-
- return (referenceImage != nil);
-}
-
-- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir
-{
- NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"];
- if (envReferenceImageDirectory) {
- return envReferenceImageDirectory;
- }
- if (dir && dir.length > 0) {
- return dir;
- }
- return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"];
-}
-
-
-#pragma mark - Private API
-
-- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
- return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer
- selector:self.invocation.selector
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
deleted file mode 100644
index e04acf2f..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Returns a Boolean value that indicates whether the snapshot test is running in 64Bit.
- This method is a convenience for creating the suffixes set based on the architecture
- that the test is running.
-
- @returns @c YES if the test is running in 64bit, otherwise @c NO.
- */
-BOOL FBSnapshotTestCaseIs64Bit(void);
-
-/**
- Returns a default set of strings that is used to append a suffix based on the architectures.
- @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions()
-
- @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory.
- */
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void);
-
-/**
- Returns a fully «normalized» file name.
- Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name.
-
- @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end.
- */
-NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
deleted file mode 100644
index d8709d8b..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-#import
-
-BOOL FBSnapshotTestCaseIs64Bit(void)
-{
-#if __LP64__
- return YES;
-#else
- return NO;
-#endif
-}
-
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void)
-{
- NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init];
- [suffixesSet addObject:@"_32"];
- [suffixesSet addObject:@"_64"];
- if (FBSnapshotTestCaseIs64Bit()) {
- return [suffixesSet reversedOrderedSet];
- }
- return [suffixesSet copy];
-}
-
-NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName)
-{
- UIDevice *device = [UIDevice currentDevice];
- UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow];
- CGSize screenSize = keyWindow.bounds.size;
- NSString *os = device.systemVersion;
-
- fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height];
-
- NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new];
- [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
- [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
- NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters];
- fileName = [validComponents componentsJoinedByString:@"_"];
-
- return fileName;
-}
\ No newline at end of file
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
deleted file mode 100644
index 74c5a0a6..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-#import
-#import
-#import
-
-#import
-
-NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
-NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
-NSString *const FBReferenceImageKey = @"FBReferenceImageKey";
-NSString *const FBCapturedImageKey = @"FBCapturedImageKey";
-NSString *const FBDiffedImageKey = @"FBDiffedImageKey";
-
-typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
- FBTestSnapshotFileNameTypeReference,
- FBTestSnapshotFileNameTypeFailedReference,
- FBTestSnapshotFileNameTypeFailedTest,
- FBTestSnapshotFileNameTypeFailedTestDiff,
-};
-
-@implementation FBSnapshotTestController
-{
- NSString *_testName;
- NSFileManager *_fileManager;
-}
-
-#pragma mark - Initializers
-
-- (instancetype)initWithTestClass:(Class)testClass;
-{
- return [self initWithTestName:NSStringFromClass(testClass)];
-}
-
-- (instancetype)initWithTestName:(NSString *)testName
-{
- if (self = [super init]) {
- _testName = [testName copy];
- _deviceAgnostic = NO;
-
- _fileManager = [[NSFileManager alloc] init];
- }
- return self;
-}
-
-#pragma mark - Overrides
-
-- (NSString *)description
-{
- return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory];
-}
-
-#pragma mark - Public API
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:layer
- selector:selector
- identifier:identifier
- tolerance:0
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:view
- selector:selector
- identifier:identifier
- tolerance:0
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- if (self.recordMode) {
- return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr];
- } else {
- return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr];
- }
-}
-
-- (UIImage *)referenceImageForSelector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- UIImage *image = [UIImage imageWithContentsOfFile:filePath];
- if (nil == image && NULL != errorPtr) {
- BOOL exists = [_fileManager fileExistsAtPath:filePath];
- if (!exists) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeNeedsRecord
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- NSLocalizedDescriptionKey: @"Unable to load reference image.",
- NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode",
- }];
- } else {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeUnknown
- userInfo:nil];
- }
- }
- return image;
-}
-
-- (BOOL)compareReferenceImage:(UIImage *)referenceImage
- toImage:(UIImage *)image
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size);
- if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) {
- return YES;
- }
-
- if (NULL != errorPtr) {
- NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes";
- NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100]
- : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)];
- FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes;
-
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:errorCode
- userInfo:@{
- NSLocalizedDescriptionKey: errorDescription,
- NSLocalizedFailureReasonErrorKey: errorReason,
- FBReferenceImageKey: referenceImage,
- FBCapturedImageKey: image,
- FBDiffedImageKey: [referenceImage fb_diffWithImage:image],
- }];
- }
- return NO;
-}
-
-- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
- testImage:(UIImage *)testImage
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSData *referencePNGData = UIImagePNGRepresentation(referenceImage);
- NSData *testPNGData = UIImagePNGRepresentation(testImage);
-
- NSString *referencePath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedReference];
-
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
-
- if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *testPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTest];
-
- if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *diffPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff];
-
- UIImage *diffImage = [referenceImage fb_diffWithImage:testImage];
- NSData *diffImageData = UIImagePNGRepresentation(diffImage);
-
- if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n"
- @"ksdiff \"%@\" \"%@\"", referencePath, testPath);
-
- return YES;
-}
-
-#pragma mark - Private API
-
-- (NSString *)_fileNameForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = nil;
- switch (fileNameType) {
- case FBTestSnapshotFileNameTypeFailedReference:
- fileName = @"reference_";
- break;
- case FBTestSnapshotFileNameTypeFailedTest:
- fileName = @"failed_";
- break;
- case FBTestSnapshotFileNameTypeFailedTestDiff:
- fileName = @"diff_";
- break;
- default:
- fileName = @"";
- break;
- }
- fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)];
- if (0 < identifier.length) {
- fileName = [fileName stringByAppendingFormat:@"_%@", identifier];
- }
-
- if (self.isDeviceAgnostic) {
- fileName = FBDeviceAgnosticNormalizedFileName(fileName);
- }
-
- if ([[UIScreen mainScreen] scale] > 1) {
- fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]];
- }
- fileName = [fileName stringByAppendingPathExtension:@"png"];
- return fileName;
-}
-
-- (NSString *)_referenceFilePathForSelector:(SEL)selector
- identifier:(NSString *)identifier
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeReference];
- NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (NSString *)_failedFilePathForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:fileNameType];
- NSString *folderPath = NSTemporaryDirectory();
- if (getenv("IMAGE_DIFF_DIR")) {
- folderPath = @(getenv("IMAGE_DIFF_DIR"));
- }
- NSString *filePath = [folderPath stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr];
- if (nil != referenceImage) {
- UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
- BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr];
- if (!imagesSame) {
- NSError *saveError = nil;
- if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) {
- NSLog(@"Error saving test images: %@", saveError);
- }
- }
- return imagesSame;
- }
- return NO;
-}
-
-- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
- return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr];
-}
-
-- (BOOL)_saveReferenceImage:(UIImage *)image
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- BOOL didWrite = NO;
- if (nil != image) {
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- NSData *pngData = UIImagePNGRepresentation(image);
- if (nil != pngData) {
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
- didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr];
- if (didWrite) {
- NSLog(@"Reference image save at: %@", filePath);
- }
- } else {
- if (nil != errorPtr) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodePNGCreationFailed
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- }];
- }
- }
- }
- return didWrite;
-}
-
-- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer
-{
- if ([viewOrLayer isKindOfClass:[UIView class]]) {
- if (_usesDrawViewHierarchyInRect) {
- return [UIImage fb_imageForView:viewOrLayer];
- } else {
- return [UIImage fb_imageForViewLayer:viewOrLayer];
- }
- } else if ([viewOrLayer isKindOfClass:[CALayer class]]) {
- return [UIImage fb_imageForLayer:viewOrLayer];
- } else {
- [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer];
- }
- return nil;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
deleted file mode 100644
index 1bce175b..00000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2015, Facebook, Inc.
-* All rights reserved.
-*
-* This source code is licensed under the BSD-style license found in the
-* LICENSE file in the root directory of this source tree. An additional grant
-* of patent rights can be found in the PATENTS file in the same directory.
-*
-*/
-
-#if swift(>=3)
- public extension FBSnapshotTestCase {
- public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR)
- var error: NSError?
- var comparisonSuccess = false
-
- if let envReferenceImageDirectory = envReferenceImageDirectory {
- for suffix in suffixes {
- let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
- if viewOrLayer.isKind(of: UIView.self) {
- do {
- try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else if viewOrLayer.isKind(of: CALayer.self) {
- do {
- try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else {
- assertionFailure("Only UIView and CALayer classes can be snapshotted")
- }
-
- assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
-
- if comparisonSuccess || recordMode {
- break
- }
-
- assert(comparisonSuccess, message: "Snapshot comparison failed: \(String(describing: error))", file: file, line: line)
- }
- } else {
- XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.")
- }
- }
-
- func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) {
- if !assertion {
- XCTFail(message, file: file, line: line)
- }
- }
- }
-#else
-public extension FBSnapshotTestCase {
- public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR)
- var error: NSError?
- var comparisonSuccess = false
-
- if let envReferenceImageDirectory = envReferenceImageDirectory {
- for suffix in suffixes {
- let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
- if viewOrLayer.isKindOfClass(UIView) {
- do {
- try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else if viewOrLayer.isKindOfClass(CALayer) {
- do {
- try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else {
- assertionFailure("Only UIView and CALayer classes can be snapshotted")
- }
-
- assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
-
- if comparisonSuccess || recordMode {
- break
- }
-
- assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line)
- }
- } else {
- XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.")
- }
- }
-
- func assert(assertion: Bool, message: String, file: StaticString, line: UInt) {
- if !assertion {
- XCTFail(message, file: file, line: line)
- }
- }
-}
-#endif
diff --git a/Example/Pods/FBSnapshotTestCase/LICENSE b/Example/Pods/FBSnapshotTestCase/LICENSE
deleted file mode 100644
index 2dd780cb..00000000
--- a/Example/Pods/FBSnapshotTestCase/LICENSE
+++ /dev/null
@@ -1,29 +0,0 @@
-BSD License
-
-For the FBSnapshotTestCase software
-
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Example/Pods/Local Podspecs/PopupDialog.podspec.json b/Example/Pods/Local Podspecs/PopupDialog.podspec.json
index 4cb327fb..a0c24961 100644
--- a/Example/Pods/Local Podspecs/PopupDialog.podspec.json
+++ b/Example/Pods/Local Podspecs/PopupDialog.podspec.json
@@ -1,6 +1,6 @@
{
"name": "PopupDialog",
- "version": "0.9.2",
+ "version": "1.0.0",
"summary": "A simple custom popup dialog view controller",
"homepage": "https://github.com/orderella/PopupDialog",
"license": {
@@ -12,13 +12,14 @@
},
"source": {
"git": "https://github.com/orderella/PopupDialog.git",
- "tag": "0.9.2"
+ "tag": "1.0.0"
},
"social_media_url": "https://twitter.com/theMWFire",
"platforms": {
"ios": "9.0"
},
"source_files": "PopupDialog/Classes/**/*",
+ "swift_version": "4.2",
"dependencies": {
"DynamicBlurView": [
"~> 3.0.1"
diff --git a/Example/Pods/Local Podspecs/FBSnapshotTestCase.podspec.json b/Example/Pods/Local Podspecs/iOSSnapshotTestCase.podspec.json
similarity index 81%
rename from Example/Pods/Local Podspecs/FBSnapshotTestCase.podspec.json
rename to Example/Pods/Local Podspecs/iOSSnapshotTestCase.podspec.json
index 351c12fc..ca8f25b2 100644
--- a/Example/Pods/Local Podspecs/FBSnapshotTestCase.podspec.json
+++ b/Example/Pods/Local Podspecs/iOSSnapshotTestCase.podspec.json
@@ -1,17 +1,18 @@
{
- "name": "FBSnapshotTestCase",
- "version": "2.1.4",
+ "name": "iOSSnapshotTestCase",
+ "module_name": "FBSnapshotTestCase",
+ "version": "6.0.2",
"summary": "Snapshot view unit tests for iOS",
"description": "A \"snapshot test case\" takes a configured UIView or CALayer\nand uses the renderInContext: method to get an image snapshot\nof its contents. It compares this snapshot to a \"reference image\"\nstored in your source code repository and fails the test if the\ntwo images don't match.",
- "homepage": "https://github.com/facebook/ios-snapshot-test-case",
- "license": "BSD",
- "authors": "Facebook",
+ "homepage": "https://github.com/uber/ios-snapshot-test-case",
+ "license": "MIT",
+ "authors": "Uber",
"source": {
- "git": "https://github.com/facebook/ios-snapshot-test-case.git",
- "tag": "2.1.4"
+ "git": "https://github.com/uber/ios-snapshot-test-case.git",
+ "tag": "6.0.2"
},
"platforms": {
- "ios": "7.0",
+ "ios": "10.0",
"tvos": "9.0"
},
"requires_arc": true,
@@ -49,7 +50,7 @@
{
"name": "SwiftSupport",
"dependencies": {
- "FBSnapshotTestCase/Core": [
+ "iOSSnapshotTestCase/Core": [
]
},
diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock
index 8485a112..5bcb3a70 100644
--- a/Example/Pods/Manifest.lock
+++ b/Example/Pods/Manifest.lock
@@ -1,17 +1,17 @@
PODS:
- DynamicBlurView (3.0.1)
- - FBSnapshotTestCase (2.1.4):
- - FBSnapshotTestCase/SwiftSupport (= 2.1.4)
- - FBSnapshotTestCase/Core (2.1.4)
- - FBSnapshotTestCase/SwiftSupport (2.1.4):
- - FBSnapshotTestCase/Core
- - Nimble (7.3.1)
- - PopupDialog (0.9.2):
+ - iOSSnapshotTestCase (6.0.2):
+ - iOSSnapshotTestCase/SwiftSupport (= 6.0.2)
+ - iOSSnapshotTestCase/Core (6.0.2)
+ - iOSSnapshotTestCase/SwiftSupport (6.0.2):
+ - iOSSnapshotTestCase/Core
+ - Nimble (7.3.4)
+ - PopupDialog (1.0.0):
- DynamicBlurView (~> 3.0.1)
- - SwiftLint (0.29.1)
+ - SwiftLint (0.31.0)
DEPENDENCIES:
- - FBSnapshotTestCase (~> 2.1.4)
+ - iOSSnapshotTestCase (~> 6.0.2)
- Nimble (~> 7.3.1)
- PopupDialog (from `../`)
- SwiftLint (~> 0.22)
@@ -19,7 +19,7 @@ DEPENDENCIES:
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- DynamicBlurView
- - FBSnapshotTestCase
+ - iOSSnapshotTestCase
- Nimble
- SwiftLint
@@ -29,11 +29,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
DynamicBlurView: b1df5415f9bd31897549e5d7077e5ec120a4d636
- FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a
- Nimble: 04f732da099ea4d153122aec8c2a88fd0c7219ae
- PopupDialog: 262df853f60f779ec354244e83dbb47ce52ac32a
- SwiftLint: 6772320e40b52049053a518c17db9b0634a0b45a
+ iOSSnapshotTestCase: 20083a7be9b8ef742610e16c79f15ad829441f29
+ Nimble: 051e3d8912d40138fa5591c78594f95fb172af37
+ PopupDialog: 5f8057d0d01c19d6cd4984ccc533b30c797fa40f
+ SwiftLint: 7a0227733d786395817373b2d0ca799fd0093ff3
-PODFILE CHECKSUM: 2d0166d1e20a1e39377fb316142d39a3785d58f2
+PODFILE CHECKSUM: 745b14824f525113e600d7bfeeb81d4a978d6f28
COCOAPODS: 1.5.3
diff --git a/Example/Pods/Nimble/README.md b/Example/Pods/Nimble/README.md
index 19c562fe..647028c8 100644
--- a/Example/Pods/Nimble/README.md
+++ b/Example/Pods/Nimble/README.md
@@ -1277,7 +1277,7 @@ public func equal(expectedValue: T?) -> Predicate {
// Predicate { actual in ... }
//
// But shown with types here for clarity.
- return Predicate { (actual: Expression) throws -> PredicateResult in
+ return Predicate { (actualExpression: Expression) throws -> PredicateResult in
let msg = ExpectationMessage.expectedActualValueTo("equal <\(expectedValue)>")
if let actualValue = try actualExpression.evaluate() {
return PredicateResult(
diff --git a/Example/Pods/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift b/Example/Pods/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift
index e1b54323..818e4780 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift
@@ -3,7 +3,7 @@ import Foundation
/// "Global" state of Nimble is stored here. Only DSL functions should access / be aware of this
/// class' existence
-internal class NimbleEnvironment {
+internal class NimbleEnvironment: NSObject {
static var activeInstance: NimbleEnvironment {
get {
let env = Thread.current.threadDictionary["NimbleEnvironment"]
@@ -29,7 +29,7 @@ internal class NimbleEnvironment {
var suppressTVOSAssertionWarning: Bool = false
var awaiter: Awaiter
- init() {
+ override init() {
let timeoutQueue: DispatchQueue
if #available(OSX 10.10, *) {
timeoutQueue = DispatchQueue.global(qos: .userInitiated)
@@ -40,6 +40,9 @@ internal class NimbleEnvironment {
awaiter = Awaiter(
waitLock: AssertionWaitLock(),
asyncQueue: .main,
- timeoutQueue: timeoutQueue)
+ timeoutQueue: timeoutQueue
+ )
+
+ super.init()
}
}
diff --git a/Example/Pods/Nimble/Sources/Nimble/DSL+Wait.swift b/Example/Pods/Nimble/Sources/Nimble/DSL+Wait.swift
index e8741368..ee281edc 100644
--- a/Example/Pods/Nimble/Sources/Nimble/DSL+Wait.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/DSL+Wait.swift
@@ -89,11 +89,17 @@ internal class NMBWait: NSObject {
#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE
@objc(untilFile:line:action:)
- internal class func until(_ file: FileString = #file, line: UInt = #line, action: @escaping (() -> Void) -> Void) {
+ internal class func until(
+ _ file: FileString = #file,
+ line: UInt = #line,
+ action: @escaping (@escaping () -> Void) -> Void) {
until(timeout: 1, file: file, line: line, action: action)
}
#else
- internal class func until(_ file: FileString = #file, line: UInt = #line, action: @escaping (() -> Void) -> Void) {
+ internal class func until(
+ _ file: FileString = #file,
+ line: UInt = #line,
+ action: @escaping (@escaping () -> Void) -> Void) {
until(timeout: 1, file: file, line: line, action: action)
}
#endif
diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/Async.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/Async.swift
index 63e863ed..c70b65e2 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Matchers/Async.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/Async.swift
@@ -23,14 +23,18 @@ private func async(style: ExpectationStyle, predicate: Predicate, timeout:
}
switch result {
case .completed: return lastPredicateResult!
- case .timedOut: return PredicateResult(status: .fail, message: lastPredicateResult!.message)
+ case .timedOut:
+ let message = lastPredicateResult?.message ?? .fail("timed out before returning a value")
+ return PredicateResult(status: .fail, message: message)
case let .errorThrown(error):
return PredicateResult(status: .fail, message: .fail("unexpected error thrown: <\(error)>"))
case let .raisedException(exception):
return PredicateResult(status: .fail, message: .fail("unexpected exception raised: \(exception)"))
case .blockedRunLoop:
// swiftlint:disable:next line_length
- return PredicateResult(status: .fail, message: lastPredicateResult!.message.appended(message: " (timed out, but main thread was unresponsive)."))
+ let message = lastPredicateResult?.message.appended(message: " (timed out, but main run loop was unresponsive).") ??
+ .fail("main run loop was unresponsive")
+ return PredicateResult(status: .fail, message: message)
case .incomplete:
internalError("Reached .incomplete state for \(fnName)(...).")
}
diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/BeIdenticalTo.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/BeIdenticalTo.swift
index 94758c2e..dfbcb9e8 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Matchers/BeIdenticalTo.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/BeIdenticalTo.swift
@@ -5,14 +5,38 @@ import Foundation
public func beIdenticalTo(_ expected: Any?) -> Predicate {
return Predicate.define { actualExpression in
#if os(Linux)
- let actual = try actualExpression.evaluate() as? AnyObject
+ #if swift(>=4.0)
+ #if !swift(>=4.1.50)
+ let actual = try actualExpression.evaluate() as? AnyObject
+ #else
+ let actual = try actualExpression.evaluate() as AnyObject?
+ #endif
+ #else
+ #if !swift(>=3.4)
+ let actual = try actualExpression.evaluate() as? AnyObject
+ #else
+ let actual = try actualExpression.evaluate() as AnyObject?
+ #endif
+ #endif
#else
let actual = try actualExpression.evaluate() as AnyObject?
#endif
let bool: Bool
#if os(Linux)
- bool = actual === (expected as? AnyObject) && actual !== nil
+ #if swift(>=4.0)
+ #if !swift(>=4.1.50)
+ bool = actual === (expected as? AnyObject) && actual !== nil
+ #else
+ bool = actual === (expected as AnyObject?) && actual !== nil
+ #endif
+ #else
+ #if !swift(>=3.4)
+ bool = actual === (expected as? AnyObject) && actual !== nil
+ #else
+ bool = actual === (expected as AnyObject?) && actual !== nil
+ #endif
+ #endif
#else
bool = actual === (expected as AnyObject?) && actual !== nil
#endif
diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/BeginWith.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/BeginWith.swift
index a013f9fa..cb3efe30 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Matchers/BeginWith.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/BeginWith.swift
@@ -35,8 +35,7 @@ public func beginWith(_ startingElement: Any) -> Predicate
public func beginWith(_ startingSubstring: String) -> Predicate {
return Predicate.simple("begin with <\(startingSubstring)>") { actualExpression in
if let actual = try actualExpression.evaluate() {
- let range = actual.range(of: startingSubstring)
- return PredicateStatus(bool: range != nil && range!.lowerBound == actual.startIndex)
+ return PredicateStatus(bool: actual.hasPrefix(startingSubstring))
}
return .fail
}
diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/Equal.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/Equal.swift
index 5f26f492..b8ac2c9d 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Matchers/Equal.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/Equal.swift
@@ -7,17 +7,15 @@ import Foundation
public func equal(_ expectedValue: T?) -> Predicate {
return Predicate.define("equal <\(stringify(expectedValue))>") { actualExpression, msg in
let actualValue = try actualExpression.evaluate()
- let matches = actualValue == expectedValue && expectedValue != nil
- if expectedValue == nil || actualValue == nil {
- if expectedValue == nil && actualValue != nil {
- return PredicateResult(
- status: .fail,
- message: msg.appendedBeNilHint()
- )
- }
+ switch (expectedValue, actualValue) {
+ case (nil, _?):
+ return PredicateResult(status: .fail, message: msg.appendedBeNilHint())
+ case (nil, nil), (_, nil):
return PredicateResult(status: .fail, message: msg)
+ case (let expected?, let actual?):
+ let matches = expected == actual
+ return PredicateResult(bool: matches, message: msg)
}
- return PredicateResult(status: PredicateStatus(bool: matches), message: msg)
}
}
@@ -28,19 +26,15 @@ public func equal(_ expectedValue: T?) -> Predicate {
public func equal(_ expectedValue: [T: C]?) -> Predicate<[T: C]> {
return Predicate.define("equal <\(stringify(expectedValue))>") { actualExpression, msg in
let actualValue = try actualExpression.evaluate()
- if expectedValue == nil || actualValue == nil {
- if expectedValue == nil && actualValue != nil {
- return PredicateResult(
- status: .fail,
- message: msg.appendedBeNilHint()
- )
- }
+ switch (expectedValue, actualValue) {
+ case (nil, _?):
+ return PredicateResult(status: .fail, message: msg.appendedBeNilHint())
+ case (nil, nil), (_, nil):
return PredicateResult(status: .fail, message: msg)
+ case (let expected?, let actual?):
+ let matches = expected == actual
+ return PredicateResult(bool: matches, message: msg)
}
- return PredicateResult(
- status: PredicateStatus(bool: expectedValue! == actualValue!),
- message: msg
- )
}
}
@@ -49,61 +43,54 @@ public func equal(_ expectedValue: [T: C]?) -> Predicate<[T: C]
public func equal(_ expectedValue: [T]?) -> Predicate<[T]> {
return Predicate.define("equal <\(stringify(expectedValue))>") { actualExpression, msg in
let actualValue = try actualExpression.evaluate()
- if expectedValue == nil || actualValue == nil {
- if expectedValue == nil && actualValue != nil {
- return PredicateResult(
- status: .fail,
- message: msg.appendedBeNilHint()
- )
- }
- return PredicateResult(
- status: .fail,
- message: msg
- )
+ switch (expectedValue, actualValue) {
+ case (nil, _?):
+ return PredicateResult(status: .fail, message: msg.appendedBeNilHint())
+ case (nil, nil), (_, nil):
+ return PredicateResult(status: .fail, message: msg)
+ case (let expected?, let actual?):
+ let matches = expected == actual
+ return PredicateResult(bool: matches, message: msg)
}
- return PredicateResult(
- bool: expectedValue! == actualValue!,
- message: msg
- )
}
}
/// A Nimble matcher allowing comparison of collection with optional type
public func equal(_ expectedValue: [T?]) -> Predicate<[T?]> {
return Predicate.define("equal <\(stringify(expectedValue))>") { actualExpression, msg in
- if let actualValue = try actualExpression.evaluate() {
- let doesNotMatch = PredicateResult(
- status: .doesNotMatch,
- message: msg
- )
-
- if expectedValue.count != actualValue.count {
- return doesNotMatch
- }
-
- for (index, item) in actualValue.enumerated() {
- let otherItem = expectedValue[index]
- if item == nil && otherItem == nil {
- continue
- } else if item == nil && otherItem != nil {
- return doesNotMatch
- } else if item != nil && otherItem == nil {
- return doesNotMatch
- } else if item! != otherItem! {
- return doesNotMatch
- }
- }
-
- return PredicateResult(
- status: .matches,
- message: msg
- )
- } else {
+ guard let actualValue = try actualExpression.evaluate() else {
return PredicateResult(
status: .fail,
message: msg.appendedBeNilHint()
)
}
+
+ let doesNotMatch = PredicateResult(
+ status: .doesNotMatch,
+ message: msg
+ )
+
+ if expectedValue.count != actualValue.count {
+ return doesNotMatch
+ }
+
+ for (index, item) in actualValue.enumerated() {
+ let otherItem = expectedValue[index]
+ if item == nil && otherItem == nil {
+ continue
+ } else if item == nil && otherItem != nil {
+ return doesNotMatch
+ } else if item != nil && otherItem == nil {
+ return doesNotMatch
+ } else if item! != otherItem! {
+ return doesNotMatch
+ }
+ }
+
+ return PredicateResult(
+ status: .matches,
+ message: msg
+ )
}
}
@@ -128,44 +115,45 @@ private func equal(_ expectedValue: Set?, stringify: @escaping (Set?) -
var errorMessage: ExpectationMessage =
.expectedActualValueTo("equal <\(stringify(expectedValue))>")
- if let expectedValue = expectedValue {
- if let actualValue = try actualExpression.evaluate() {
- errorMessage = .expectedCustomValueTo(
- "equal <\(stringify(expectedValue))>",
- "<\(stringify(actualValue))>"
- )
-
- if expectedValue == actualValue {
- return PredicateResult(
- status: .matches,
- message: errorMessage
- )
- }
-
- let missing = expectedValue.subtracting(actualValue)
- if missing.count > 0 {
- errorMessage = errorMessage.appended(message: ", missing <\(stringify(missing))>")
- }
-
- let extra = actualValue.subtracting(expectedValue)
- if extra.count > 0 {
- errorMessage = errorMessage.appended(message: ", extra <\(stringify(extra))>")
- }
- return PredicateResult(
- status: .doesNotMatch,
- message: errorMessage
- )
- }
+ guard let expectedValue = expectedValue else {
return PredicateResult(
status: .fail,
message: errorMessage.appendedBeNilHint()
)
- } else {
+ }
+
+ guard let actualValue = try actualExpression.evaluate() else {
return PredicateResult(
status: .fail,
message: errorMessage.appendedBeNilHint()
)
}
+
+ errorMessage = .expectedCustomValueTo(
+ "equal <\(stringify(expectedValue))>",
+ "<\(stringify(actualValue))>"
+ )
+
+ if expectedValue == actualValue {
+ return PredicateResult(
+ status: .matches,
+ message: errorMessage
+ )
+ }
+
+ let missing = expectedValue.subtracting(actualValue)
+ if missing.count > 0 {
+ errorMessage = errorMessage.appended(message: ", missing <\(stringify(missing))>")
+ }
+
+ let extra = actualValue.subtracting(expectedValue)
+ if extra.count > 0 {
+ errorMessage = errorMessage.appended(message: ", extra <\(stringify(extra))>")
+ }
+ return PredicateResult(
+ status: .doesNotMatch,
+ message: errorMessage
+ )
}
}
diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/Predicate.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/Predicate.swift
index 19fd322b..4810b9b1 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Matchers/Predicate.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/Predicate.swift
@@ -311,7 +311,7 @@ final public class NMBPredicateStatus: NSObject {
public static let doesNotMatch: NMBPredicateStatus = NMBPredicateStatus(status: 1)
public static let fail: NMBPredicateStatus = NMBPredicateStatus(status: 2)
- public override var hashValue: Int { return self.status.hashValue }
+ public override var hash: Int { return self.status.hashValue }
public override func isEqual(_ object: Any?) -> Bool {
guard let otherPredicate = object as? NMBPredicateStatus else {
diff --git a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift
index cb672adc..ad7a6eb1 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift
@@ -263,7 +263,7 @@ internal class AwaitPromiseBuilder {
self.trigger.timeoutSource.resume()
while self.promise.asyncResult.isIncomplete() {
// Stopping the run loop does not work unless we run only 1 mode
- #if swift(>=4.2)
+ #if swift(>=4.2) && (os(macOS) || os(iOS) || os(tvOS))
_ = RunLoop.current.run(mode: .default, before: .distantFuture)
#else
_ = RunLoop.current.run(mode: .defaultRunLoopMode, before: .distantFuture)
diff --git a/Example/Pods/Nimble/Sources/Nimble/Utils/Stringers.swift b/Example/Pods/Nimble/Sources/Nimble/Utils/Stringers.swift
index 7c4d273e..ce21eeab 100644
--- a/Example/Pods/Nimble/Sources/Nimble/Utils/Stringers.swift
+++ b/Example/Pods/Nimble/Sources/Nimble/Utils/Stringers.swift
@@ -3,7 +3,19 @@ import Foundation
internal func identityAsString(_ value: Any?) -> String {
let anyObject: AnyObject?
#if os(Linux)
- anyObject = value as? AnyObject
+ #if swift(>=4.0)
+ #if !swift(>=4.1.50)
+ anyObject = value as? AnyObject
+ #else
+ anyObject = value as AnyObject?
+ #endif
+ #else
+ #if !swift(>=3.4)
+ anyObject = value as? AnyObject
+ #else
+ anyObject = value as AnyObject?
+ #endif
+ #endif
#else
anyObject = value as AnyObject?
#endif
diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj
index af404345..7a284315 100644
--- a/Example/Pods/Pods.xcodeproj/project.pbxproj
+++ b/Example/Pods/Pods.xcodeproj/project.pbxproj
@@ -7,414 +7,429 @@
objects = {
/* Begin PBXBuildFile section */
- 03D7EA5C17FCEB40D10C3C73F9472F4E /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2C7D8ABFE3065D322C490EF1CA0E0C /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 04AA9A137A0D38056D1081B4B304CFB6 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC995FD05F77FAB9A9B23604768D4DAF /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 051A816D6DD0CAE13496DDCFE0829167 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EFB0BCCB6534985F195D3242B9287ED /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 07EAA1426345045C59BCE5D0C73927F0 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C6A2D6A0B7E66B361637BDE803D757 /* PresentationManager.swift */; };
- 089FC967E3D8DD6212509D9C6AC7185B /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F43639433B8798E65B858D360F577E /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 08EA01BACA4194902667F1FF29DC6265 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = C165C894E92FF29809D1C002F9234A07 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 094973D2D2F1E3B2E772F93C8147C6B9 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFD6B6C1E013BACB86D8049C468B219 /* UIApplication+StrictKeyWindow.m */; };
- 0A54C1F9D2D803488A89DA43AD4D6F06 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AC2284F5223B8553058C094E4AA0603 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 0EFF888E42BD1DF8B77FA6B547BC9149 /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C88D9796FF1882F5FE864316C6265E /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 0F979D0A878062EA1DFD82B4ACE22C01 /* DynamicBlurView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF14475FC27AF8A2AB4B72D0CC52460 /* DynamicBlurView-dummy.m */; };
- 1064991CB5E00E68983F90D216AD0F5E /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB93A84ADD04138B2EF0A5FCF72F4C1B /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 14835068BE8B511E0DF0C9D739397B33 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD31576940B1ABC7F1E64C0AAEDEFF13 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 14FAE6F9040E2A653818906310FADABD /* TransitionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D306518EE7130B60E59177D30ED3EA8 /* TransitionAnimator.swift */; };
- 15FA146C0756A295AE40D1FBD77ABB6B /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7FDEEB812A067F2937D00BAA79D6A83 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 19FB07979AE2C3531B7F249AA237B30D /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACC3435EB96ADCE80DCEB8E69E85BDF3 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 1AB7934C16CE49DE196FFC7BE7278287 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B572FDAD76D16137A7AC31D762B688 /* SwiftSupport.swift */; };
- 1B1A26FD4363A19DEFED48BF5E5341BE /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A4346992D8D2C10766BCADC793ABF86A /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 1BD95819A67825305691F9D03A1477E3 /* DynamicBlurView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0196FE74DE7078B898AB2B0C4479D4FB /* DynamicBlurView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 1CFDB94DFF57F98BA7A40829DDB3CFC0 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C257FDEFCFF31A0B85DA4105F4DA89D /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 1D230EC73A17C8494F279447636B6D51 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AFA44649582F3EF58FC19ED7DAE75AE /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 230C18B1AD5A892166FCA59CD245F3E5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 2722196E68C16CB6AE1C739A6632DDDD /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5ADD209AF3988D445D9A5A29F83F41D /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 275B03F03D701555A341DEFDA586D3F2 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CC5EA6C7A2EC1C404A63AD7CB32E718A /* Nimble-dummy.m */; };
- 2A561B51439F9724CF97415032FFB649 /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AE0C4F19B41936818125A4E739CC02 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 2A6936931C00AB98D55A0FD915BCB50C /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ACE1D80EE3622672833F95A9E217FF8 /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 2C58FA59C6EDFA33259CD3F0BA9B69EF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 2DEDFABF913B46ED3F04B6167ED01E76 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 019914401D86A3D3260BCFC0A7B32C39 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 2F485B69F51E4F723A38410F31F08550 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3435778B79E27FCC21A1FB6E6F982CAE /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 2F6D143061A37F1799C4E9E70178679C /* DynamicBlurView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FEEE3D3F42EBD675BDCE2628F9079F1 /* DynamicBlurView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 311218F3F7B9711FF8E933F8CF99E63C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 35D11238C778D635FADD914723D7C2E4 /* PopupDialog-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9124ABD1E7E2CD5342291828D8C6D7AC /* PopupDialog-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 35DD05FD595A6FE7F5A0692D12E319DC /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A73AB8A0A9BB8D16C3F509127825870 /* UIImage+Diff.m */; };
- 37677CF7642DE842A5E6D17F32D0AB00 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 7324486AE0F49D4409FFFD03D79A9743 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 3A9E05346C86B76996B00476136E02F9 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BEE1E99CDCD10D9D174BF693CC38B77 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 3DD565E4A02EB0EF26F4C6F87800EFA8 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFD5B32BD080DCDC7998162EB233197 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 40A171EDCB95C2F32A957676476A25BC /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3441DD5391AB95477520A48602A82702 /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 421CDD701AEE0F2458A84200366CDD0F /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 10D0333DC77966027CEEDF9B5CE19130 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 44BD3DD916AF910157FED78DBA3AD5A4 /* PopupDialogDefaultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71DA7B9DCEA6411BE21BE1759DFA032 /* PopupDialogDefaultView.swift */; };
- 45DF6DB62B8FBE276AE543B6D5977E4A /* PopupDialog-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E1DBA74928D1712C2FAC1149A3988D32 /* PopupDialog-dummy.m */; };
- 46948DAFC76CE60532EB6D1C3D4D06EE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 4A728EA7AA70C321148FFB78EA037186 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D201E684A621034165C25C88E1C4BB0 /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 4C867FFFDAA91E06800807FCA4680C5D /* Pods-PopupDialog_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B8B92894F5CC0AB7AAFA24D1F957B4 /* Pods-PopupDialog_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 4CFDB9D6567765201C4C6060BEF6DC8C /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A6C88FC132662080C739A3B878898D7 /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 506D761F91EC3583789A837C559972FE /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AB1ED4D105892BF2106A4DA3A5D584CC /* FBSnapshotTestCase-dummy.m */; };
- 536375092A81831A4DC0AAA627B53D18 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228BCC348A7CC60091C5FD6F6EB08F31 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 546841A9B3EF42D1BA3FE18682F5B2FF /* Pods-PopupDialog_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 152FB453A99C72EC14934DD10B0A2BF2 /* Pods-PopupDialog_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 54BF47BE7119BB260A5E00B8E8D2A862 /* PopupDialogDefaultButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBCEF40D7038A23C3DEE9AFF141C3B4B /* PopupDialogDefaultButtons.swift */; };
- 54DD35E1A19394ADDEBB19F890EC8663 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAA555473B54B7355BC540819843B987 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 5B054F6A59BD5780C1996C60236F4EF1 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBF8B447999364F0BFDD4EDA6A5455E6 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 5D19BAE8B0155836806C26876E2F812A /* CGImage+Accelerate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6521619D2849C5FEEC06600CEA5662B3 /* CGImage+Accelerate.swift */; };
- 5D535FED8ED72214166DCCD71F788A6A /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB022776CBC043250D9F395686D96F58 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 5F757B404F3674FD28FB1083BF493A7F /* UIImageView+Calculations.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90C77B17A34A3106308B818BE2B368A /* UIImageView+Calculations.swift */; };
- 608FF6E4BCB0660D1D6D9DB0FF6B22FC /* DynamicBlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5517832B19AF6D2FC78C31FA3EF0AB2D /* DynamicBlurView.swift */; };
- 639D9C4EF1D73184DD1D0EA86B2AAF93 /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F7FD3ED9E11779F8BFB5A4A83672A17 /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 63C576FD079ED3EB1A5092F6F39BDF28 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 304FF7E856C6CB04B653169935EC1E6F /* Accelerate.framework */; };
- 6673029A1E9ABDD79109176F30780C41 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96187661C3BB104F49003799C7EEE8B3 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 67797733CF788B1D41F716F0EB232D06 /* PopupDialogContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A322CBE83E1057084E113AB3B0110503 /* PopupDialogContainerView.swift */; };
- 6997B604F860DD4C5C60DCB327211676 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC301E223C294AD407877FFCBD8088B2 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 69DA8B003216466C60F029CBD79897F1 /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = AF275AC4DA03129D485859D540769CDA /* UIImage+Compare.m */; };
- 6B1609F0C493DA9534BA5C9AE9DBB787 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 012C30B66541B27DA4459006808D164E /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 6C1E56CFB256AF1C64069DA54167A8BB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FECD9A32376CAE1A016EB18EF3F68E0 /* UIKit.framework */; };
- 6CE7AC2102F95160F57359A07F1AF393 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F84EDE894E919E15B3E98200923C0F /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 6F3CA481AD298A127D19EF780DE3710F /* PopupDialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798563A7E3950FA81D9E5E6318C21A7E /* PopupDialog.swift */; };
- 72763BA40BBEB214F29FF33DE5FB907C /* CaptureQuality.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7B092918F493EB2C3CA3CAF88C26795 /* CaptureQuality.swift */; };
- 73F83322EF9EF4587AE6CAF8B0648D9E /* PopupDialogButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5516058C968E6F082347BC5220F0453B /* PopupDialogButton.swift */; };
- 756564ABAF2892FE7140C92A1CDDCF65 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E0683FF53439C5E46107D4571C1AB27 /* UIImage+Snapshot.m */; };
- 7587E87952BC648A18C5898B98B6F635 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A38D8F265074A948E4E7CA5BFF6AC3 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 7785B0A164079A4C82DA8F0F6874B67F /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBBFCE3000B69CF6791D1488389D6B9 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 783F670292F19F9798E47AFEEBAB14B3 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3C463FA4281E38919B8AA8605E8D57 /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 7AF964C6CD077F8EE327F8A154F0C698 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = A88615A905E5C0C2B11ECABCFFA8878D /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 7E9B14D5F8842A86CA86F2AF45230725 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9E5B4F42B4B58851CAFCE2329855EF0 /* XCTest.framework */; };
- 7FEA4E1DDD6077118929D88B4FD8126C /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BFA6DFCAED6BCEBDA3CBB51D31BA63C /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 813EB61E59AD2122BA898ED23809E249 /* UIView+Animations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7AB2EF74D4E47062DF548FCE3A5772 /* UIView+Animations.swift */; };
- 82BD34CDF279D0AC1810CDE02EF4C156 /* UIImage+Blur.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42281A889B7D5D8FA887C78541095E0 /* UIImage+Blur.swift */; };
- 841FF232C33C7D49C58CEFDBE7EEB92B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FECD9A32376CAE1A016EB18EF3F68E0 /* UIKit.framework */; };
- 8AA1573A6E580F689A48C3237CC36268 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107BF09B23ED4A6B6BBF8291422DA7AB /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 8D0A24FA28D051BC6E2CBACD75180D42 /* TransitionAnimations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20CB5B21A70C1625FE0B545AAAB8C517 /* TransitionAnimations.swift */; };
- 8F2397AC6FE32C42C0750222071E9899 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05D1AF25B11CCD91E7FA18699C250B2 /* PresentationController.swift */; };
- 8F69EDCC09739459EB61749494F1E002 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDA97F35BA6681298328AD290E648F3 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 9108613C28FC0D1A7948C6B4FE64932F /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 45ADD7F2AE3DF6F471A9FED1AE9860AD /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 91D0138ACFAD733E4061F12E450C336C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 9584B98DAE3E860B6AB5EA9781DC7057 /* BlurLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3331865B8D246C9264E0EA36B8BC47F /* BlurLayer.swift */; };
- 9673CF780F48C8E4EC2A331717B1F67C /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1405F0FB2376FE5AFE14AB9BCC4571C3 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9989BA22D81729AC56F917E42C7AF4EF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2314AE5E7E0F4E333A37DC4B59C9471 /* Foundation.framework */; };
- 9AADA2573B8098C022E8A390155DFD90 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA50B364CA78C8530D07DF1A3FF00C10 /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 9D321DC100B95C35B6FF4D01BFCD6C07 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C56708534CDF406521745C69DAEBE7A /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- 9DEECB22E5869BB2ECD155D53946F939 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1981798EA90A4C7D74CD0FDAA1D95F7 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- A0871080516F7088835670597EB06674 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF531E00FD71748D0C4FE49425BCD25 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- A090B6A5C9395731A225BF1252DF7385 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 578B37C6FEB3046BDBCF9155A14DD883 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- A14CE6BBD447FCDF34E0DC60980FB072 /* InteractiveTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4844BC4C859261A1B3EB767258BC37CA /* InteractiveTransition.swift */; };
- A37A7557AC201CA60CF14E7C4199867D /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1DD917A2770A60555838C0FD3C925 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- A3B22BBDE91CA1EFE283E9D3EED38BFE /* Pods-PopupDialog_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE967C22F5B34233371476B825830F8 /* Pods-PopupDialog_Tests-dummy.m */; };
- A4F69F3477A935285620AC3031C5C848 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1804E29370069F39E99C1AB4C0E75213 /* FBSnapshotTestController.m */; };
- A63ABE35A5588606E60D68AA53E5424D /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA15B8B2127349ED502BEDDF60027E9E /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- A919F65D13210395280A7ABF65771B1C /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD2E68E988B2D92523846AAB4BAACE1A /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- AA19111AEBD6CEB244FC81BE9C15FBE8 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9052769D7899ADFC7EE7CE0821602AB /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- AAB5290754D9060D86FB2C89DD7ADCC3 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94C9E59FAEE4B291D8F494DFEAA481 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- AF3691ABC1385EF83DA7FE9EF2F94F40 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = A94EC91ADB538143D83226A01529D1FB /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- B0A24F0E24E02201A246F0D58523ED7E /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = 096AF78850A1D2ADF4EAED9E466DE701 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B0C88072D75620D68F7C690CF2CD2D92 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7B3FD584BE39ED709167D275D1B3FF /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B27DFD6025D94758785918F1D6F6C060 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89D6A3CD6CFA91C9F73CEF42029D3BCF /* QuartzCore.framework */; };
- B32C07C5B0AE470EC47E07A960D4FA51 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FAE498B8381138D09AC0CD9600E4E6D /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- B4859692C024FC1CC6889AAB2F60129E /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 903F640011D6ADC3024F1370B62142B7 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- B5F5D6F2C7C453F1B05FB71EC7999E93 /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B75F4906413BF8FD5CAC0DF38D8E8AC6 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- B758FB09FE2C06C1B8E36A71A9D76D41 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D9682564FDB233D5A617EFCAD122136 /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B9E8D184ED4693E2D6D62ACBB0324836 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E26730FCC8D0966807901109E7B8A5 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- BAA176C1ED0F136D4AD03705263C9A4E /* UIViewController+Visibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF31127C7A6951E95CAB974C0D5E2E9 /* UIViewController+Visibility.swift */; };
- BAC08800A3D59C2C04DC45F7D3347F71 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1856AD0C08719C784E522FD49D0B551 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- BBA4E5CDD342B092AA6523D9804ED188 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F98967983736C386D430C580081985A /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- BC952FC04FC963C1294DCD619C9B6B3B /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = F652304D3828065F62FD2C6297AFD436 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BCBA292357B37054796D2D1CC9D3946C /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 898F57BEE8A47A2F02F3117298DF8F1A /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- BE14F2198CDB0DAD98A567981D21C7A1 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DEEA0543DA063B8E8A81754494CE9B5 /* FBSnapshotTestCase.m */; };
- BFCE460CC33E8872B7156D4166340178 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B20E83293582560E43611C80B5DEAC4 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
- C2DB0E4B4EC4B4DF8EA4B96FB78FBA99 /* TrackingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ECB79A9C597DF249FBA596DA7A95B7E /* TrackingMode.swift */; };
- CAFA5E486BCE117A7D8C0FBF9DA6666B /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 59355177DB1FA37CD019010B2D679E2F /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; };
- D1F6601FD7B12B4DD24F04BB553F0B6D /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A6DDFA42B373279284C5471495A4E02 /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- D2169DACF6D35B567FF072ADE1F24C81 /* PopupDialog+Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05F60E199D934612BE33F3F40574875 /* PopupDialog+Keyboard.swift */; };
- D503C9FE625935501A3FAB4EBB6C642D /* DynamicBlurView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0223BBA36AA0ECFB6FF01267BA116A8 /* DynamicBlurView.framework */; };
- D5CEB8D0B830BAE216347870F154079D /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 4261B79587B2825C3954392E7545E7B3 /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- DB7A106243AC974FC7EBEB00B506C786 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 25EE22A598BCA5FBF960F9E73983B8C8 /* FBSnapshotTestCasePlatform.m */; };
- DCD90D9E9A79C53BC7CD0FA8FA02961D /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 079A8F43FD5E0289645DF2752333CA0B /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- DDBF80097E27758743A1C302C3020727 /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8C7F0D3E22E3B58D0F42CEDC3A2F45F /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- DDF7D89A861179A6DC59F39498E414A4 /* PopupDialogDefaultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 699FD8262C5DC0BC1C1BB5DBEECFFBFF /* PopupDialogDefaultViewController.swift */; };
- E14BDA97E95E3A116BF4D36120BE607C /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98B366917B0D0B3BA688F86E95DC4BBB /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- E560C263129EFDC025A0CF86374327B8 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7039DA5593A480E154E7A8478846BD17 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- ED70B4997FC9EEA54B89CBFF3DCC27A9 /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EEE7EACE7AB18159344DF92228C45CC /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F28105B034AADEDCE3667B7E1ACE0682 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A1DDFF356B22C325B51477F96C13B8 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- F45F06099362715645909AD0827E767D /* PopupDialogOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86E024881AB62A72D24B2DCED851A68 /* PopupDialogOverlayView.swift */; };
- FAA9CEA99DB23754F4BB75FC86F6FDDB /* Pods-PopupDialog_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A2B3307AB29F0961733FF7ABC2BA8DF /* Pods-PopupDialog_Example-dummy.m */; };
- FB5CECAD4729CF846E332E692D1673B1 /* CGContext+CGImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92B00AB33CD0BF7201523A0C50CC1CCF /* CGContext+CGImage.swift */; };
- FBB0851454373D14231A2818D9B69376 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5DF17069B1529067D8506303E5CAB2 /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
- FD5C219597393471381ABBB840BDE2D0 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9A2C824035452FB6B67EFBED3DA6516 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 0234ECE5DF5FA813F8D17E51D1C16910 /* Pods-PopupDialog_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A2B3307AB29F0961733FF7ABC2BA8DF /* Pods-PopupDialog_Example-dummy.m */; };
+ 03D9FA1D368DE04CBC17735D036CB0AC /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CFD28DD8E806C7FC8F60D1DD94D18E4 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 06F38DD26D80484050C9ED86478406F2 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D78DC544416AA7B261840C0F5CEAC0 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 0BFEB83762334C6357E3EE90097D4388 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = C0D23AE74FBEE71F38022A8F632E6028 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 0C345DBBF5EF9ED046CB579FDD401A57 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5946E7F860CC934B9D1549DF9167AA3 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 0D74DB80E4766C505062F32B6C5A70AD /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049F3A21301630301978DB31C449A6E7 /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 17E51AFDFDBA721468B3B487578152C4 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 35742D241DC3515A06E15B4728632533 /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 18416664CEBDA68367553D69BEB50CAE /* DynamicBlurView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0223BBA36AA0ECFB6FF01267BA116A8 /* DynamicBlurView.framework */; };
+ 19291565899B5113A5355002CF9C8F2F /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 372486B88E8C80961C07276AF13A7D48 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 1AC5D2CE6FA79327468F53B53D0A9418 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035A08E3F60A5D098958E6026CE599F7 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 1E2AE2B6202B65E712FE05FB2699BD2C /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E31A988C27EA85EF9F4A78A277F491B /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 223CA7D4EDF23874D61C762F6CF51C56 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E913E97F916EB5133D8A3279B15CBCBB /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 22948773F0660B81265C2C17A0761F0D /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41D463C43927F82675440E7AB25A48F /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 24015E2E286E2EFB43226D57C0CFF625 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
+ 24AC6513961FF6DC60E0FB284E8914B6 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75E407F76D3164AFE41437DC8D14352 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 255991CE0E9BE369DDB074CFB07DC2F4 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 5530BE925E0F9667C79FAE6FEDF5A1A5 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 2574D09B363D42ACA6BA589B675FFA26 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7427753F1DEC1A450240126449063ED2 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 26B0271CA278A716915DD65F28D46912 /* PopupDialog+Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05F60E199D934612BE33F3F40574875 /* PopupDialog+Keyboard.swift */; };
+ 28A7BD7EB950A9B9E90C0733EDA5DB21 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = DB876877AA8574FFBA2DFA248F78D988 /* FBSnapshotTestCase.m */; };
+ 2C98CE56B1655FCBBF1394FCB295EB4F /* PopupDialogDefaultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71DA7B9DCEA6411BE21BE1759DFA032 /* PopupDialogDefaultView.swift */; };
+ 2EF89DB591335BFB29606E0706E66D9F /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C4996EDC7C28B2D3E651571F99A2E35 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 311A88103484507E3D1A711F58984A7F /* PopupDialogDefaultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 699FD8262C5DC0BC1C1BB5DBEECFFBFF /* PopupDialogDefaultViewController.swift */; };
+ 32438A19A5AB04AFAE267B8E7ACBFC95 /* DynamicBlurView.h in Headers */ = {isa = PBXBuildFile; fileRef = 436C91A711DCDF529BAB1C0869033A27 /* DynamicBlurView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 32C70F4E43D4EAF4DEB2839944E67C0E /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 91CB54C4E2118BF8920216CA49E917F5 /* UIImage+Compare.m */; };
+ 3312F77A6C289F2CEFBF0C1D98431671 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD42AA141768EB5892696E7C87DC4AE2 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 350C051E271508531C90540A2496684C /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BED181A2AA9D26686DD6EC00A166C8E /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 366B8CEF24B182A443FA637C03DE5E61 /* PopupDialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798563A7E3950FA81D9E5E6318C21A7E /* PopupDialog.swift */; };
+ 37C3C6235A5DDB8E37629314CF0E8489 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1A1227F90302D8C0B5FBFAC265B6D5 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 38423C6F928999BB910C104B4E5BDDFD /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE0F82738FBF695DD139D0EBED16F6FD /* QuartzCore.framework */; };
+ 3C0D99EED837A3AD705A664503EF48DE /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 0392CCCA4B589C0E3D5CF9FA420975E9 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 3F05A840AD943C7C5E7D87D918A0D312 /* TransitionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D306518EE7130B60E59177D30ED3EA8 /* TransitionAnimator.swift */; };
+ 42A9F49A3D23555A2EC71F3E84E435FB /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E5F4BDA43FA0B5E71F20E538C8A2EF /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 42C12046999900AE237432B32DE02708 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 41C0FB2ABE47D982FE05822A9C71C303 /* FBSnapshotTestController.m */; };
+ 44F6B7EB2EAF73218A16F56D45C877A4 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B181620DEC87170BC6D2F4239DAD15 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 473890E28EFD83405BE110848930F6A6 /* DynamicBlurView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BCF451557AAFF475D44027B7CBE3026 /* DynamicBlurView-dummy.m */; };
+ 4B8C9F91C438BFFCFA146A2AA5E0B372 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05D1AF25B11CCD91E7FA18699C250B2 /* PresentationController.swift */; };
+ 4BC738EA304E6FA57294B9AAFEC56F70 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FB983E8BD393C07910C4AB7D4940326 /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 4C093ABFA796CEC3AC89C1B9DC36841D /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED6F622BB35C46C3CF7F49E114F0A293 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 4C39C8C05FBDD3D30BF5ACF2D74DB5CD /* DynamicBlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC98D3F8FB77A606E1832C935A47E48C /* DynamicBlurView.swift */; };
+ 531B110C6B0B9E83FFC106D88183BA08 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 428D0FA6B477ECA2EE617A6855C4C9D7 /* FBSnapshotTestCasePlatform.m */; };
+ 53A0EC85871552FF6043D58BD0E870C2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
+ 562B8E7BBB3176E837BEBD6D24DA7EF4 /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20947584CEB45E0FA13EB3B245254A7 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 5747F17B237F1ACB862F3F2911E5CBB1 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D1A51B8872C51C4AC3CCF9D9BA4B4C9 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 574F89786271FD7BAD216D075EA1E898 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = B0349A6968537E4F75CEE6E02CD128D4 /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5895EA4D5666103B2CD4243690487D07 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5494F5B2695C90475F6ADFCAE8D9618 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 58B249717B134855DA1DF182DF0AEDB9 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A6249C79251F5780EB134D0EEA36A0 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 5A0CD87A3ED90370FBE9C2D34D28B831 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE783C6C8E668E9FB85232682BD9356 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5B8437965913274A42B48AC0423028DA /* CGImage+Accelerate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD2156C83E10FB886EAA0BAE045209E1 /* CGImage+Accelerate.swift */; };
+ 5BA1006DAFD72ACF9F31DC95096FD054 /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AEC75F3DC7CFF9CCBEF9B11FF0BBB8 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5BC051B7DC475C5625FD59CB458F0E34 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
+ 618C13D4020EBA363997EFB60A56AC20 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = C0468E6DBAD885B41BF555F34CF8A730 /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 62A3D36B892ED9C9A3210134C97FE3F9 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BDBD922144E8531D7DC0800AFDA3E7F /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 65543D57B73C18A8AAE5441694E6E758 /* UIViewController+Visibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF31127C7A6951E95CAB974C0D5E2E9 /* UIViewController+Visibility.swift */; };
+ 66D3DA2225488356273B3D0AB83DA268 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A792DFBC3A091F87F55821428D475A72 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 68712CACB9AEC6E3FAA9DD19D1A51809 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C6A2D6A0B7E66B361637BDE803D757 /* PresentationManager.swift */; };
+ 6985430721C89135D5B4CBE13357EC31 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B5EE74208A1286206214B0C9B6560FC /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 6B124A4D8EB28A918E0C87F2E75D94F8 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6F9ECAAA5C707B1346AF6CC93DFE014 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 6B2DF45B9BFABD4BF3DDC503F073FB71 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42985FB734824186D67FDB75B2B98D32 /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 6D55BC3FA411C007E752EFC1E657E886 /* UIImage+Blur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CF9C982C839113AE8E8B16E188E0C4C /* UIImage+Blur.swift */; };
+ 6FE504E9ED5B37C05CFC2A530019AE5D /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 742143746CF8F8F16EE9543436AB0532 /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 74605907C211553B00F09768BEF12834 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97BCB409D2B655824CFB18B04D96B2B /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 746D0DBAF8EB27CA816CFD021DE2A7A1 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = F956FA9BA438DCE7D4678FD0351B3B22 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 7485AAEB633B78268D656D019B77E023 /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAFC61AD05E7D8BBA5AD80F48F2AE692 /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 79FA255F43C9E42470C9720C0604444F /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A5867BD1929448B439BC16BD6FAE711 /* Nimble-dummy.m */; };
+ 7AA9A7388AF44BB4EB2111CEDB29A666 /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEA4B697F1EC1594EFFE7F27ECC56F0F /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 7E075AD09D73E21B69F31798ECF487C6 /* PopupDialogContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A322CBE83E1057084E113AB3B0110503 /* PopupDialogContainerView.swift */; };
+ 7E9758A7ADD849692E569A2C5BBDCE94 /* CaptureQuality.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49977B15712652025308D26C9AA2B7C6 /* CaptureQuality.swift */; };
+ 8050C10B78F2D1DD98A2F3E250A24AD0 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9699B62C9398BF671FFB93B5F8159466 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 81E8993F25C04D618C0ED4816517F99C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59F3A893FB3E6B91DFE7496ECE0C8E07 /* UIKit.framework */; };
+ 844EDCE06A5F272C8BE0C994DAA5F2EB /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 160393F9B788742C8E069FB0B151DAE1 /* SwiftSupport.swift */; };
+ 85107C3BD627EA89CC1EAB25859EF85D /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE0A30351E461EE6E8492AC3839A4FA /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 8BB7F5B7E3E77CF25E64E1EAD1A26E68 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF004DE10A237AD1FD63C67BE54A3E53 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 8DD949008257CE640EE411DC5207A26D /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 05870699F77028072D8F7981A232E665 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 8E83E547D107FFC8B596829313AAF38F /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE861F8DCCB0E7AD155E46C464AA1E6C /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 9096D686AB39D3475A4227F0765C3DC4 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6436C86B285A829F576F70B32E62E3A /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 91357CD33BB87215580DE96389D5BD58 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
+ 935558F919649CDE3784CBD344D3C008 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FF17B9939004392EF5D89AED9C472F /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 944E741F111A744842D5B4F43A045752 /* UIImageView+Calculations.swift in Sources */ = {isa = PBXBuildFile; fileRef = F90C77B17A34A3106308B818BE2B368A /* UIImageView+Calculations.swift */; };
+ 97A60F28FA1FF94422D2560002CEE407 /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = B45B93C5A2AAEDEE8094950AE670917D /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 97EE56F66DCD3C983D0585D8F45FDB6A /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AF31D82F178513EAB140493FD3970C6 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 988CE191249034461B77C6B0DB40C77C /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE73CF2F7151B0EA3FD3A9AE199375 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9A0EB2F0A468E4576E776AE1E9221E7A /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62D64AFC26FD6FC8950B8083E4440235 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ 9A2510E8F586D4B2F5447F1E0295DFE0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
+ 9AD5CAF161D8C972BFC5B456E23F68BB /* Pods-PopupDialog_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE967C22F5B34233371476B825830F8 /* Pods-PopupDialog_Tests-dummy.m */; };
+ 9C22921616DC80691662977DDEA6B2C4 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5104A02FB2C024251FC89889EFA46CF5 /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ A09F5C10BB8AA7153BC6D943EAF532D4 /* UIView+Animations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7AB2EF74D4E47062DF548FCE3A5772 /* UIView+Animations.swift */; };
+ A10C69D1C5B459EA34C465A44D8BAB86 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93C1CD1D8099443DB18D9A4328F6ECFF /* Accelerate.framework */; };
+ A286AD495C5D4520ADF2ECE7786EF950 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78521B22081F542BB96D81D7A0367828 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ A490FAE0B78B47AF739B0DAFC1DC5AD6 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F6D7AA672F04A67B5C56FF92997DAB /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ AC6A33C93C6A45A72E41CDF4ABE899B1 /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 028CF5FADBF3CCA0F623D0D67FA10226 /* iOSSnapshotTestCase-dummy.m */; };
+ AD5D759A5CE47EF38847CE06E23BA694 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 64256367D2072E68B302E8469C4FCAFC /* UIImage+Snapshot.m */; };
+ B0DDF6CF37C3AA33C92E974F8EF41863 /* PopupDialog-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E1DBA74928D1712C2FAC1149A3988D32 /* PopupDialog-dummy.m */; };
+ B2F5395D43472600D7BA7E26E3772069 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D9E48C1BF4E26D387E1C54C4F7191F2 /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ B30FCDD03BFE82B7E9776FD9CE3A1C51 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F86143A8B3382B873A80134A5EA6BE /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ B3895E766FFE0B7DF58F4D0BE246221B /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = CDBF1EE8C6BAE5194C9C973A597C7550 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ B3C3D7DAB6567A273DA50FD2068AFF77 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 76A52570855E113BD4B28EFAB9EA2C3E /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B42501076134C166C300D8349DB9D468 /* PopupDialog-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9124ABD1E7E2CD5342291828D8C6D7AC /* PopupDialog-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B6F0D7C04121F97B1D4933C0168278EF /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BC20C7B70338C283A371F95B17865D8 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ B7ED1B41F56087971B656A2E38322310 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = E47AA505CB7B1476D51A54456CB7EF60 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ BB39142B1802E77449F25C3D83ABC75D /* PopupDialogOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86E024881AB62A72D24B2DCED851A68 /* PopupDialogOverlayView.swift */; };
+ BEB8082717D949400F2DE3458E75CBE3 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D37A8D166837E623E57E0859F702167 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C5305DE0B553BCA7361C3997ACD70FFB /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 65BB3320189E349B3C28931EE51B87E5 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ C54145BF50C86788D20B8FFBFD01A8CB /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 049EAAA6F879AB21214F57ADF7E76562 /* XCTest.framework */; };
+ C7983DA15FD0FB2F81BB33BBC490210B /* TransitionAnimations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20CB5B21A70C1625FE0B545AAAB8C517 /* TransitionAnimations.swift */; };
+ C7F20677D9BFCDD09D1C8425F01872BE /* BlurLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064672EA6DBD7005E4BA8182C7F54155 /* BlurLayer.swift */; };
+ CA77FF0FFAEE74AF517DBC2F2440546C /* CGContext+CGImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56DEE00D929C3FAA307A4C190B8FA60D /* CGContext+CGImage.swift */; };
+ CD723D363A38F2EE45AC05FFE6DD06C2 /* Pods-PopupDialog_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B8B92894F5CC0AB7AAFA24D1F957B4 /* Pods-PopupDialog_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ CE1287DA39DB4208F5511CE47FE8298D /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FE848D266AF3ABE3C0F25D2FB283DDC /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ D2D969B5A85573AF0ACDFE202EFC5B8F /* DynamicBlurView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 12D025F066E9AAA72557EAD0EA002705 /* DynamicBlurView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA257CBBCAB6C22BA5476F983AC78BB5 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948DDEEC6165667C2B7E58275D2A7171 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DA4FBA76599ECAB9A1993F119A41359D /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B6B88B674302268D261E216BCEF0C4 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DAF21E37BBBFD5D408F514E867A5936C /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 387F85B339AB8939C07353552A3A2540 /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DD2EB3198539280E2F07F0E360AFF324 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DB43FE644F43839547EACE7EA9ADB3D /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DDB89D0F2F9422FEFF8D3ABB4B1FC7F9 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88AC772E12E220F25C1D6B9A903311BC /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DEEDD0D7C0369178EC867A59373F6380 /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C471C00FF271E25443062FE2D69A2CE /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ DF7CF1941236840A89D99B233E4DC086 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C413F00E580A7D0992D27D7B9A12F2 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ E454528E8D39931207848DACBB617A4C /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F90F031A106B9C0F34D058254C379F /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ E5EDF56F24BC532E64B2B6C805119970 /* TrackingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E5614CABD86F05B53427EABF75F0BF0 /* TrackingMode.swift */; };
+ E85EAC40F42C10F327BE0BCF39C2DF3B /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1484049B4A60A3A96D7F176B294FF2FF /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ E984CB87ABF0DD970BD4B856DEA35E1A /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 88131E1A0F1684F16D16EE0797704063 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F088EE1AE386EEF27AC934DE13F455BB /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C626EB5BE9FA412846FE2AC62F01D48 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F0F0FBC40CDF5A7287D769CB2F53AEB8 /* PopupDialogButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5516058C968E6F082347BC5220F0453B /* PopupDialogButton.swift */; };
+ F196E1375573C3D4EE3A9BAADC23775E /* PopupDialogDefaultButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBCEF40D7038A23C3DEE9AFF141C3B4B /* PopupDialogDefaultButtons.swift */; };
+ F32B9D0318D13B740E6D88E16709FEA3 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28140C6E5B7B3493391E4703990E1790 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ F4EE282D8435D54A662C6DDD30A3D2CD /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C481D087FB18452F72BE5D97638B389 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; };
+ F5BE59D1DEDDA96F9589B343D1392530 /* InteractiveTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4844BC4C859261A1B3EB767258BC37CA /* InteractiveTransition.swift */; };
+ F7B2DB84BE0344D0899FA5165A5670B0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59F3A893FB3E6B91DFE7496ECE0C8E07 /* UIKit.framework */; };
+ FD5345BA620698C24F2AF1275EB7B3BE /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DD44184FA7E41341959B3EC69D89C7F /* UIImage+Diff.m */; };
+ FD8D37A4886C5E0550814233942BCE4B /* Pods-PopupDialog_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 152FB453A99C72EC14934DD10B0A2BF2 /* Pods-PopupDialog_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ FE7E604D7DC993062746EE8AFF8E6E31 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 136B61C0F648D4EE57665FB2FC32BADB /* PBXContainerItemProxy */ = {
+ 09E74FA8CEA05F6881089AB3CF5F8C39 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9AD6E417B292CCB529632F0FA6F2EFEC;
+ remoteGlobalIDString = 04F07DCE9BDBC7623792C12E1991198B;
remoteInfo = DynamicBlurView;
};
- 1BCB41F8FBAB2D01C6BE6710EC149AE7 /* PBXContainerItemProxy */ = {
+ 1F1345BC45608FB74B38DD1917845719 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 34CD2E3428AB802BACA62286FF5074B1;
- remoteInfo = FBSnapshotTestCase;
+ remoteGlobalIDString = 04F07DCE9BDBC7623792C12E1991198B;
+ remoteInfo = DynamicBlurView;
};
- 4C1FBD853FDD552714C47E52B064B600 /* PBXContainerItemProxy */ = {
+ 4CFF31AFACCD613BD00365DD53153F08 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 6A3780BA431FD710786D832214C4C414;
- remoteInfo = "Pods-PopupDialog_Example";
+ remoteGlobalIDString = 7A6AA18D64EE7FE4843CB6C8C76EB2F3;
+ remoteInfo = PopupDialog;
};
- 6F6D9E88BE6C7611365FCA6FBCB5713E /* PBXContainerItemProxy */ = {
+ 61DB768210C05D6A7916F8CFD5E6C274 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 60032AE8B21D9692CFDED25763ACE65A;
- remoteInfo = PopupDialog;
+ remoteGlobalIDString = 5E269AA9A7FBCB9BFD8EA487B43AE7F9;
+ remoteInfo = Nimble;
};
- D499060B99527BBE65EF3D7852EA7D78 /* PBXContainerItemProxy */ = {
+ 810E14583B37F7B3C9C0363AD7323369 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = BA85E3619866E2EAA8CC3EDE21C659FC;
- remoteInfo = Nimble;
+ remoteGlobalIDString = 0C41F5D44198F88D4217FF48605659B5;
+ remoteInfo = "Pods-PopupDialog_Example";
};
- DA2C883C73675A4CA6BEC998E88B71ED /* PBXContainerItemProxy */ = {
+ F06044C1212A07C62970FE6B4B70603D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9AD6E417B292CCB529632F0FA6F2EFEC;
- remoteInfo = DynamicBlurView;
+ remoteGlobalIDString = CCB670195D5BD218E1661BC4890D70E2;
+ remoteInfo = iOSSnapshotTestCase;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 012C30B66541B27DA4459006808D164E /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; };
- 0196FE74DE7078B898AB2B0C4479D4FB /* DynamicBlurView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DynamicBlurView-umbrella.h"; sourceTree = ""; };
- 019914401D86A3D3260BCFC0A7B32C39 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; };
+ 01D98838A4138F9CF9579D1533177AF8 /* Pods_PopupDialog_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PopupDialog_Example.framework; path = "Pods-PopupDialog_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 028CF5FADBF3CCA0F623D0D67FA10226 /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; };
+ 035A08E3F60A5D098958E6026CE599F7 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; };
+ 0392CCCA4B589C0E3D5CF9FA420975E9 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; };
0497E5269EDBCF02CB8EA0BBB15DD5B0 /* PopupDialog.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PopupDialog.modulemap; sourceTree = ""; };
+ 049EAAA6F879AB21214F57ADF7E76562 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+ 049F3A21301630301978DB31C449A6E7 /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; };
+ 04E5F4BDA43FA0B5E71F20E538C8A2EF /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; };
+ 05870699F77028072D8F7981A232E665 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; };
+ 064672EA6DBD7005E4BA8182C7F54155 /* BlurLayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurLayer.swift; path = DynamicBlurView/BlurLayer.swift; sourceTree = ""; };
07006DDF36ACF45D41D757A87D8BD096 /* Pods-PopupDialog_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PopupDialog_Example.release.xcconfig"; sourceTree = ""; };
- 079A8F43FD5E0289645DF2752333CA0B /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; };
- 096AF78850A1D2ADF4EAED9E466DE701 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; };
+ 09C413F00E580A7D0992D27D7B9A12F2 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; };
0A2B3307AB29F0961733FF7ABC2BA8DF /* Pods-PopupDialog_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PopupDialog_Example-dummy.m"; sourceTree = ""; };
0A9BD1DB5DC1471CEAD847083A9DA9D3 /* Pods-PopupDialog_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PopupDialog_Tests-acknowledgements.markdown"; sourceTree = ""; };
- 0AC2284F5223B8553058C094E4AA0603 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; };
0AD00B5013ECE56BAC3DE7E929FDB371 /* Pods-PopupDialog_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PopupDialog_Example.debug.xcconfig"; sourceTree = ""; };
- 0AFA44649582F3EF58FC19ED7DAE75AE /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; };
+ 0AF31D82F178513EAB140493FD3970C6 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; };
0CCE1F309CA5B6BBBEF423D74BC08689 /* PopupDialog-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PopupDialog-prefix.pch"; sourceTree = ""; };
- 0F7FD3ED9E11779F8BFB5A4A83672A17 /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; };
- 0FAE498B8381138D09AC0CD9600E4E6D /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; };
- 107BF09B23ED4A6B6BBF8291422DA7AB /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; };
- 10D0333DC77966027CEEDF9B5CE19130 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; };
+ 0D37A8D166837E623E57E0859F702167 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; };
+ 0DD85ED9F95134B7CF742AEDEC131B04 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ 0FE848D266AF3ABE3C0F25D2FB283DDC /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; };
11C6A2D6A0B7E66B361637BDE803D757 /* PresentationManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationManager.swift; path = PopupDialog/Classes/PresentationManager.swift; sourceTree = ""; };
- 1405F0FB2376FE5AFE14AB9BCC4571C3 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; };
- 146A39A8D90C51F9635E57F7E42F4A23 /* DynamicBlurView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = DynamicBlurView.modulemap; sourceTree = ""; };
+ 12D025F066E9AAA72557EAD0EA002705 /* DynamicBlurView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DynamicBlurView-umbrella.h"; sourceTree = ""; };
+ 1484049B4A60A3A96D7F176B294FF2FF /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; };
14B177D1E24EA7FF5862752FB2863984 /* Pods-PopupDialog_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PopupDialog_Example-acknowledgements.plist"; sourceTree = ""; };
1526A3B7C39995D2513554F5B40A1F42 /* PopupDialog.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PopupDialog.xcconfig; sourceTree = ""; };
152FB453A99C72EC14934DD10B0A2BF2 /* Pods-PopupDialog_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PopupDialog_Example-umbrella.h"; sourceTree = ""; };
- 15F934AA68CEEE6B8B282DCCD0B64C57 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; };
- 1804E29370069F39E99C1AB4C0E75213 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; };
- 1A126F340CCDB562621673EE23633352 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; };
+ 160393F9B788742C8E069FB0B151DAE1 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; };
+ 18B181620DEC87170BC6D2F4239DAD15 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; };
1A4B471687353588207E20712E22B303 /* Pods-PopupDialog_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PopupDialog_Tests.modulemap"; sourceTree = ""; };
- 1ACE1D80EE3622672833F95A9E217FF8 /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; };
- 1C56708534CDF406521745C69DAEBE7A /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; };
- 1E2C7D8ABFE3065D322C490EF1CA0E0C /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; };
- 1FD04DA141AC8CBAED6953BD7B1045DA /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 1FECD9A32376CAE1A016EB18EF3F68E0 /* 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; };
+ 1C471C00FF271E25443062FE2D69A2CE /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; };
+ 1CFD28DD8E806C7FC8F60D1DD94D18E4 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; };
+ 1DB43FE644F43839547EACE7EA9ADB3D /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; };
20CB5B21A70C1625FE0B545AAAB8C517 /* TransitionAnimations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimations.swift; path = PopupDialog/Classes/TransitionAnimations.swift; sourceTree = ""; };
- 228BCC348A7CC60091C5FD6F6EB08F31 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; };
- 25EE22A598BCA5FBF960F9E73983B8C8 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; };
+ 28140C6E5B7B3493391E4703990E1790 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; };
294EC5769829D3B7AF5AE6B8ABCC3184 /* Pods-PopupDialog_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PopupDialog_Tests-resources.sh"; sourceTree = ""; };
- 2BFA6DFCAED6BCEBDA3CBB51D31BA63C /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; };
- 304FF7E856C6CB04B653169935EC1E6F /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
- 3435778B79E27FCC21A1FB6E6F982CAE /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; };
- 3441DD5391AB95477520A48602A82702 /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; };
+ 2B5EE74208A1286206214B0C9B6560FC /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; };
+ 2BCF451557AAFF475D44027B7CBE3026 /* DynamicBlurView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DynamicBlurView-dummy.m"; sourceTree = ""; };
+ 2BED181A2AA9D26686DD6EC00A166C8E /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; };
+ 2C4996EDC7C28B2D3E651571F99A2E35 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; };
+ 2E5614CABD86F05B53427EABF75F0BF0 /* TrackingMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TrackingMode.swift; path = DynamicBlurView/TrackingMode.swift; sourceTree = ""; };
+ 2FB983E8BD393C07910C4AB7D4940326 /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; };
+ 35742D241DC3515A06E15B4728632533 /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; };
+ 372486B88E8C80961C07276AF13A7D48 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; };
377907D72B5C004D71CFC987D55F5265 /* Pods-PopupDialog_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PopupDialog_Tests.release.xcconfig"; sourceTree = ""; };
- 37F84EDE894E919E15B3E98200923C0F /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; };
- 3B5DF17069B1529067D8506303E5CAB2 /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; };
+ 387F85B339AB8939C07353552A3A2540 /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; };
3D306518EE7130B60E59177D30ED3EA8 /* TransitionAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransitionAnimator.swift; path = PopupDialog/Classes/TransitionAnimator.swift; sourceTree = ""; };
+ 3DD44184FA7E41341959B3EC69D89C7F /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; };
3DF9EC621AB69D8BB4639E3183AAFC66 /* Pods-PopupDialog_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PopupDialog_Tests-acknowledgements.plist"; sourceTree = ""; };
- 3E0683FF53439C5E46107D4571C1AB27 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; };
- 3EBBFCE3000B69CF6791D1488389D6B9 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; };
- 3F59C104CD16B6103BDB94ED0DCE30C9 /* DynamicBlurView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DynamicBlurView.framework; path = DynamicBlurView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 41A818250BC6B85D3FE2AB47EACDB0CC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 4261B79587B2825C3954392E7545E7B3 /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; };
- 45ADD7F2AE3DF6F471A9FED1AE9860AD /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; };
+ 3FB3F303D7D779DFADEACF5A18A4A46F /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; };
+ 41C0FB2ABE47D982FE05822A9C71C303 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; };
+ 4241BD94FB4E28416F35B77A6D6C21F5 /* Pods_PopupDialog_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PopupDialog_Tests.framework; path = "Pods-PopupDialog_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 428D0FA6B477ECA2EE617A6855C4C9D7 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; };
+ 42985FB734824186D67FDB75B2B98D32 /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; };
+ 436C91A711DCDF529BAB1C0869033A27 /* DynamicBlurView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DynamicBlurView.h; path = DynamicBlurView/DynamicBlurView.h; sourceTree = ""; };
4844BC4C859261A1B3EB767258BC37CA /* InteractiveTransition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InteractiveTransition.swift; path = PopupDialog/Classes/InteractiveTransition.swift; sourceTree = ""; };
- 48798F21550E767D9F599D2751630E56 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; };
+ 49977B15712652025308D26C9AA2B7C6 /* CaptureQuality.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaptureQuality.swift; path = DynamicBlurView/CaptureQuality.swift; sourceTree = ""; };
4BB38E255D57435AB4B8079347731B02 /* Pods-PopupDialog_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PopupDialog_Example-resources.sh"; sourceTree = ""; };
+ 4BC20C7B70338C283A371F95B17865D8 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; };
4C7AB2EF74D4E47062DF548FCE3A5772 /* UIView+Animations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Animations.swift"; path = "PopupDialog/Classes/UIView+Animations.swift"; sourceTree = ""; };
- 4EFB0BCCB6534985F195D3242B9287ED /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; };
+ 4E50727AFBBEF30F060E000EABF2A7B0 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 50D5AEA879E917CAAF06E766B3324DDE /* Nimble.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.xcconfig; sourceTree = ""; };
+ 5104A02FB2C024251FC89889EFA46CF5 /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; };
+ 538E5238854D6716D9F80DEBAF1A79FD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
5516058C968E6F082347BC5220F0453B /* PopupDialogButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PopupDialogButton.swift; path = PopupDialog/Classes/PopupDialogButton.swift; sourceTree = ""; };
- 5517832B19AF6D2FC78C31FA3EF0AB2D /* DynamicBlurView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicBlurView.swift; path = DynamicBlurView/DynamicBlurView.swift; sourceTree = ""; };
- 578B37C6FEB3046BDBCF9155A14DD883 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; };
- 59355177DB1FA37CD019010B2D679E2F /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; };
- 5A6C88FC132662080C739A3B878898D7 /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; };
- 5A6DDFA42B373279284C5471495A4E02 /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; };
- 5A73AB8A0A9BB8D16C3F509127825870 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; };
- 5BEE1E99CDCD10D9D174BF693CC38B77 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; };
+ 5530BE925E0F9667C79FAE6FEDF5A1A5 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; };
+ 56DEE00D929C3FAA307A4C190B8FA60D /* CGContext+CGImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGContext+CGImage.swift"; path = "DynamicBlurView/CGContext+CGImage.swift"; sourceTree = ""; };
+ 59F3A893FB3E6B91DFE7496ECE0C8E07 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
5BF31127C7A6951E95CAB974C0D5E2E9 /* UIViewController+Visibility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewController+Visibility.swift"; path = "PopupDialog/Classes/UIViewController+Visibility.swift"; sourceTree = ""; };
+ 600AC03287BB3260119ECA118A8C316E /* DynamicBlurView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DynamicBlurView.xcconfig; sourceTree = ""; };
61B8B92894F5CC0AB7AAFA24D1F957B4 /* Pods-PopupDialog_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PopupDialog_Tests-umbrella.h"; sourceTree = ""; };
- 6386AE75137392ACEAE77045AA39FFFF /* Nimble.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.xcconfig; sourceTree = ""; };
- 63C1DD917A2770A60555838C0FD3C925 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; };
- 6521619D2849C5FEEC06600CEA5662B3 /* CGImage+Accelerate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGImage+Accelerate.swift"; path = "DynamicBlurView/CGImage+Accelerate.swift"; sourceTree = ""; };
+ 62789B7320FAF58770998228293D6C5E /* iOSSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.xcconfig; sourceTree = ""; };
+ 62D64AFC26FD6FC8950B8083E4440235 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; };
+ 64256367D2072E68B302E8469C4FCAFC /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; };
+ 65BB3320189E349B3C28931EE51B87E5 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; };
+ 68F90F031A106B9C0F34D058254C379F /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; };
699FD8262C5DC0BC1C1BB5DBEECFFBFF /* PopupDialogDefaultViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PopupDialogDefaultViewController.swift; path = PopupDialog/Classes/PopupDialogDefaultViewController.swift; sourceTree = ""; };
- 6B20E83293582560E43611C80B5DEAC4 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; };
- 7039DA5593A480E154E7A8478846BD17 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; };
- 71A1DDFF356B22C325B51477F96C13B8 /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; };
- 726BC224C2821650AFD2A27686FA107F /* FBSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.xcconfig; sourceTree = ""; };
- 72E26730FCC8D0966807901109E7B8A5 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; };
- 7324486AE0F49D4409FFFD03D79A9743 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; };
+ 6C481D087FB18452F72BE5D97638B389 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; };
+ 6D9E48C1BF4E26D387E1C54C4F7191F2 /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; };
+ 742143746CF8F8F16EE9543436AB0532 /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; };
+ 7427753F1DEC1A450240126449063ED2 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; };
+ 7674AF8AE727FF1AA0F0EB965368D59B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 76A52570855E113BD4B28EFAB9EA2C3E /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; };
+ 76D78DC544416AA7B261840C0F5CEAC0 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; };
+ 78521B22081F542BB96D81D7A0367828 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; };
798563A7E3950FA81D9E5E6318C21A7E /* PopupDialog.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PopupDialog.swift; path = PopupDialog/Classes/PopupDialog.swift; sourceTree = ""; };
- 79F43639433B8798E65B858D360F577E /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; };
+ 7C626EB5BE9FA412846FE2AC62F01D48 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; };
+ 7CE783C6C8E668E9FB85232682BD9356 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; };
7DD527EB13647D871A95C22621B68736 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 7DF14475FC27AF8A2AB4B72D0CC52460 /* DynamicBlurView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DynamicBlurView-dummy.m"; sourceTree = ""; };
- 814F670C4BAB07A0D8332DBD0C0C879B /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; };
- 898F57BEE8A47A2F02F3117298DF8F1A /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; };
- 89D6A3CD6CFA91C9F73CEF42029D3BCF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
- 8D201E684A621034165C25C88E1C4BB0 /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; };
- 8D9682564FDB233D5A617EFCAD122136 /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; };
- 8DEEA0543DA063B8E8A81754494CE9B5 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; };
- 8ECB79A9C597DF249FBA596DA7A95B7E /* TrackingMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TrackingMode.swift; path = DynamicBlurView/TrackingMode.swift; sourceTree = ""; };
- 8F98967983736C386D430C580081985A /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; };
- 8FEEE3D3F42EBD675BDCE2628F9079F1 /* DynamicBlurView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DynamicBlurView.h; path = DynamicBlurView/DynamicBlurView.h; sourceTree = ""; };
- 903F640011D6ADC3024F1370B62142B7 /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; };
+ 7E31A988C27EA85EF9F4A78A277F491B /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; };
+ 88131E1A0F1684F16D16EE0797704063 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/Mach/CwlPreconditionTesting.h; sourceTree = ""; };
+ 88AC772E12E220F25C1D6B9A903311BC /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; };
+ 8A5867BD1929448B439BC16BD6FAE711 /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; };
+ 8BDBD922144E8531D7DC0800AFDA3E7F /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; };
+ 8CF9C982C839113AE8E8B16E188E0C4C /* UIImage+Blur.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+Blur.swift"; path = "DynamicBlurView/UIImage+Blur.swift"; sourceTree = ""; };
9124ABD1E7E2CD5342291828D8C6D7AC /* PopupDialog-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PopupDialog-umbrella.h"; sourceTree = ""; };
+ 91CB54C4E2118BF8920216CA49E917F5 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; };
92512D027EEA36D3596F27A9180B2CD1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 92B00AB33CD0BF7201523A0C50CC1CCF /* CGContext+CGImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGContext+CGImage.swift"; path = "DynamicBlurView/CGContext+CGImage.swift"; sourceTree = ""; };
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 93A6249C79251F5780EB134D0EEA36A0 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; };
+ 93C1CD1D8099443DB18D9A4328F6ECFF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
943AF5679B6CC70942922D898094B780 /* Pods-PopupDialog_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PopupDialog_Example-acknowledgements.markdown"; sourceTree = ""; };
- 96187661C3BB104F49003799C7EEE8B3 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; };
- 98AE0C4F19B41936818125A4E739CC02 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; };
- 98B366917B0D0B3BA688F86E95DC4BBB /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; };
- 9A94C9E59FAEE4B291D8F494DFEAA481 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; };
- 9C257FDEFCFF31A0B85DA4105F4DA89D /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/Mach/CwlPreconditionTesting.h; sourceTree = ""; };
- 9C3C463FA4281E38919B8AA8605E8D57 /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; };
- 9ECE84DD778D62C2854823DC9227C2D0 /* DynamicBlurView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DynamicBlurView-prefix.pch"; sourceTree = ""; };
+ 948DDEEC6165667C2B7E58275D2A7171 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; };
+ 9699B62C9398BF671FFB93B5F8159466 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; };
+ 985EC012054636557EAD2B96360AF8C8 /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase.framework; path = iOSSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9D1A51B8872C51C4AC3CCF9D9BA4B4C9 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; };
9EE967C22F5B34233371476B825830F8 /* Pods-PopupDialog_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PopupDialog_Tests-dummy.m"; sourceTree = ""; };
- 9EEE7EACE7AB18159344DF92228C45CC /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; };
A05F60E199D934612BE33F3F40574875 /* PopupDialog+Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PopupDialog+Keyboard.swift"; path = "PopupDialog/Classes/PopupDialog+Keyboard.swift"; sourceTree = ""; };
+ A20947584CEB45E0FA13EB3B245254A7 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; };
A29D1FFFE335851A9A7747EF3946B9F9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
A322CBE83E1057084E113AB3B0110503 /* PopupDialogContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PopupDialogContainerView.swift; path = PopupDialog/Classes/PopupDialogContainerView.swift; sourceTree = ""; };
- A3331865B8D246C9264E0EA36B8BC47F /* BlurLayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlurLayer.swift; path = DynamicBlurView/BlurLayer.swift; sourceTree = ""; };
A42D08B8360879D44A7F3A3834E864CF /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
- A4346992D8D2C10766BCADC793ABF86A /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; };
+ A6F9ECAAA5C707B1346AF6CC93DFE014 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; };
A71DA7B9DCEA6411BE21BE1759DFA032 /* PopupDialogDefaultView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PopupDialogDefaultView.swift; path = PopupDialog/Classes/PopupDialogDefaultView.swift; sourceTree = ""; };
- A88615A905E5C0C2B11ECABCFFA8878D /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; };
- A9052769D7899ADFC7EE7CE0821602AB /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; };
- A94EC91ADB538143D83226A01529D1FB /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; };
- A9E5B4F42B4B58851CAFCE2329855EF0 /* 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; };
- AB022776CBC043250D9F395686D96F58 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; };
- AB1ED4D105892BF2106A4DA3A5D584CC /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; };
- ACC3435EB96ADCE80DCEB8E69E85BDF3 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; };
- AF275AC4DA03129D485859D540769CDA /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; };
- B2314AE5E7E0F4E333A37DC4B59C9471 /* 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; };
- B2C88D9796FF1882F5FE864316C6265E /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; };
- B75F4906413BF8FD5CAC0DF38D8E8AC6 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; };
- B7FDEEB812A067F2937D00BAA79D6A83 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; };
- BA50B364CA78C8530D07DF1A3FF00C10 /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; };
- BB1CD080F09998C2E5A99DBE11B11D70 /* DynamicBlurView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DynamicBlurView.xcconfig; sourceTree = ""; };
- BD31576940B1ABC7F1E64C0AAEDEFF13 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; };
+ A792DFBC3A091F87F55821428D475A72 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; };
+ B0349A6968537E4F75CEE6E02CD128D4 /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; };
+ B45B93C5A2AAEDEE8094950AE670917D /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; };
+ B5DE73CF2F7151B0EA3FD3A9AE199375 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; };
+ B9F86143A8B3382B873A80134A5EA6BE /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; };
+ BAEA857C0DBEF09ABEE1F23D8A24BDAD /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; };
+ BD2156C83E10FB886EAA0BAE045209E1 /* CGImage+Accelerate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CGImage+Accelerate.swift"; path = "DynamicBlurView/CGImage+Accelerate.swift"; sourceTree = ""; };
BD777B4DE8E955733A55DD734813C8D9 /* PopupDialog.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = PopupDialog.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
- BDDA97F35BA6681298328AD290E648F3 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; };
+ C0468E6DBAD885B41BF555F34CF8A730 /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; };
C05D1AF25B11CCD91E7FA18699C250B2 /* PresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PresentationController.swift; path = PopupDialog/Classes/PresentationController.swift; sourceTree = ""; };
- C0F491FB05304559483C5E656148DF72 /* Pods_PopupDialog_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PopupDialog_Tests.framework; path = "Pods-PopupDialog_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
- C165C894E92FF29809D1C002F9234A07 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; };
- C1856AD0C08719C784E522FD49D0B551 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; };
+ C0D23AE74FBEE71F38022A8F632E6028 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; };
C3EA164D2FC76881F591F71EC7881E60 /* Pods-PopupDialog_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PopupDialog_Tests.debug.xcconfig"; sourceTree = ""; };
- C42281A889B7D5D8FA887C78541095E0 /* UIImage+Blur.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+Blur.swift"; path = "DynamicBlurView/UIImage+Blur.swift"; sourceTree = ""; };
+ C41D463C43927F82675440E7AB25A48F /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; };
+ C50544DF01124C04799CFE0959D8D73C /* DynamicBlurView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = DynamicBlurView.framework; path = DynamicBlurView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C5E1D67A031447EA86DD893CEFE45105 /* Pods-PopupDialog_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PopupDialog_Tests-frameworks.sh"; sourceTree = ""; };
- C8DC0F2C05A9E44C40F596A97DE91A3D /* Pods_PopupDialog_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PopupDialog_Example.framework; path = "Pods-PopupDialog_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ C6436C86B285A829F576F70B32E62E3A /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; };
C983BC57EC81640D8003A625434F3E51 /* Pods-PopupDialog_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-PopupDialog_Example.modulemap"; sourceTree = ""; };
- CBF8B447999364F0BFDD4EDA6A5455E6 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; };
- CC5EA6C7A2EC1C404A63AD7CB32E718A /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; };
- D0B572FDAD76D16137A7AC31D762B688 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = "