diff --git a/.gitignore b/.gitignore index 6a5ba280..8a8a751b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,7 @@ Nimble_Snapshots.xcodeproj/xcuserdata/ Carthage/Checkouts Carthage/Build +# Swift Package Manager +.swiftpm + .DS_Store diff --git a/Bootstrap/Bootstrap.xcodeproj/project.pbxproj b/Bootstrap/Bootstrap.xcodeproj/project.pbxproj index e3ee501b..820a4f47 100644 --- a/Bootstrap/Bootstrap.xcodeproj/project.pbxproj +++ b/Bootstrap/Bootstrap.xcodeproj/project.pbxproj @@ -49,11 +49,9 @@ 5EFDC76F1F8699AA001453EC /* DynamicTypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicTypeTests.swift; sourceTree = ""; }; 5EFDC7761F8699F9001453EC /* BootstrapCustomFolderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BootstrapCustomFolderTests.swift; sourceTree = ""; }; 65902858E3A876C766DEE813 /* Pods-Bootstrap-BootstrapTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bootstrap-BootstrapTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Bootstrap-BootstrapTests/Pods-Bootstrap-BootstrapTests.release.xcconfig"; sourceTree = ""; }; - A3B52C622E22BF8DD5DB225F /* Pods-BootstrapTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BootstrapTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-BootstrapTests/Pods-BootstrapTests.release.xcconfig"; sourceTree = ""; }; C973AE4C6F6F24ACE0BAF412 /* Pods-Bootstrap-BootstrapTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bootstrap-BootstrapTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Bootstrap-BootstrapTests/Pods-Bootstrap-BootstrapTests.debug.xcconfig"; sourceTree = ""; }; CF2E7C50C1B84B73173ED6F7 /* Pods_Bootstrap_BootstrapTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Bootstrap_BootstrapTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CF6BEDA968312D264332A856 /* Pods-Bootstrap.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bootstrap.release.xcconfig"; path = "Pods/Target Support Files/Pods-Bootstrap/Pods-Bootstrap.release.xcconfig"; sourceTree = ""; }; - DF74FF8B3AD029F099535426 /* Pods-BootstrapTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BootstrapTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-BootstrapTests/Pods-BootstrapTests.debug.xcconfig"; sourceTree = ""; }; EC0A90E60E7AFC30BF41766C /* Pods-Bootstrap.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bootstrap.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Bootstrap/Pods-Bootstrap.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -135,8 +133,6 @@ C8BD3DA99C7599D57DBEC91F /* Pods */ = { isa = PBXGroup; children = ( - DF74FF8B3AD029F099535426 /* Pods-BootstrapTests.debug.xcconfig */, - A3B52C622E22BF8DD5DB225F /* Pods-BootstrapTests.release.xcconfig */, EC0A90E60E7AFC30BF41766C /* Pods-Bootstrap.debug.xcconfig */, CF6BEDA968312D264332A856 /* Pods-Bootstrap.release.xcconfig */, C973AE4C6F6F24ACE0BAF412 /* Pods-Bootstrap-BootstrapTests.debug.xcconfig */, diff --git a/Bootstrap/Pods/Pods.xcodeproj/project.pbxproj b/Bootstrap/Pods/Pods.xcodeproj/project.pbxproj index 2a7ac149..234fdb66 100644 --- a/Bootstrap/Pods/Pods.xcodeproj/project.pbxproj +++ b/Bootstrap/Pods/Pods.xcodeproj/project.pbxproj @@ -8,26 +8,23 @@ /* Begin PBXBuildFile section */ 01A04218EC99765ADC0409631E60BB97 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ABF32608C38BB067DBD0B380848D9BA /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 01E46C812EF930F90DE981195A136D5C /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = E358E6E846C96D13D010798BAD7E4538 /* HaveValidSnapshot.swift */; }; - 0298521C4F71AA226F32BB15ABC6E9D9 /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F4DD63F38B1413ADEF319F6578A98B /* UIImage+Compare.m */; }; 03D2B9651FD82FC0D5C97AD6F0E561D4 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17EC42B79C27CE4F016C24D3FC075CB7 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 06FAC30C006FF55D81F48C3591992287 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79F8B81880216172C61FED94AB96A744 /* QuartzCore.framework */; }; + 04CAEAAC22B4BC909BD63B8E567CFAE8 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = AD01EE5EAA5A67568170E625544EE865 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; 096A350DACDDDFF8805FDAEBE86EC2F6 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD769AB5891037C2BFB877298AFA98A /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 0A363AD0A93A6F9E8961F52B10580718 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C06C78AC6DE8CA3868C30213EB8B53 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 0C7A73C2D654BAF050646271D4202E2D /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28BC58EB53C544B306921F0EB37124D2 /* Nimble-Snapshots-dummy.m */; }; 0D76A5CAF71781C4E1CC5E0D70D3426D /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = BE134EB132DC653B08F2C1554DDFA333 /* QuickSpec.m */; }; 0DFBCBE5C1E75DC9CD38757ACF33E0A7 /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 932E82B106A60543A5708888B21B068F /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 0E45A16B2F315C728A94669E38688C38 /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB56D9DB9E82E6794A208C5BEEDC860 /* DynamicSizeSnapshot.swift */; }; 0E48962ACAEDD1289D7DAE793F3A731F /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E51E470A81DAA7DE255BE3CA2B0369 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 1126E10683633A8503EE54632EE12803 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 207E7EF393E029F07CC13D807053484D /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 113CB0649F1C41E6358C27C4DC19D0A7 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = F87F72721BD6EC1389DFB399D99252BC /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 1281245EAE83644552527BB5A3CAE51C /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B9232D922167FF6D78A8B216FC3C36 /* iOSSnapshotTestCase-dummy.m */; }; + 1378CDDDA447BB65954A50BD179BA883 /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28BC58EB53C544B306921F0EB37124D2 /* Nimble-Snapshots-dummy.m */; }; 15DB927C7009266E077993F38882D40E /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D0725820812029BFEA419095130383 /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; 199459664F18E682A5061A7ED16A82C7 /* ForgeriesFileManager+NotImplemented.m in Sources */ = {isa = PBXBuildFile; fileRef = B03FB06B1BA36F80CD92CEFA8646C9DC /* ForgeriesFileManager+NotImplemented.m */; }; 1AF9A29318570C093E7F92579080C6C4 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 156B76E5D149CE1FB061B8D0441E74D0 /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C31D75D5766E0B27D22D914784B9D89 /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 679BD457A7CCA2B9B6C1F7CA293A5BCA /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1DA94F92235E0C3A0FD7768DD848068C /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5928AFF13E65677F5A2A87DAF19E6F7A /* Closures.swift */; }; + 1E0F7773698D85C9B6E7012BD84A253D /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6955FAB3634A8D8D00305F836910F8D /* HaveValidSnapshot.swift */; }; 1E3B805AA2F844C715C9F3135A7D7BD5 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC72C26A012699A48C41E0BFFE73E288 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1E60C867346BAC3DBD0F78FBA5D4591E /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = AD01EE5EAA5A67568170E625544EE865 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1F5967DC89CF19ABF6F288617010D900 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 59830509676FC6C082981A17CAF6490D /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 20A7D607CEC9E4D0F0B7ECC1A545A05F /* QuickConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67AC2E8873B0FB4E909D33A1A5A62D54 /* QuickConfiguration.swift */; }; 2145470ED629F29ABCCBF304F24DA354 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 2AA9D4590BDA4DEC2A27ED5C05B74E3C /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; @@ -38,82 +35,86 @@ 2AC400B28F334D89B97F36620EF4F362 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA8D70A2B80936A2296636665A60195F /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 2C7EA1D1F721BB8C5AFBA3D6427C1034 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C5E2132EAFB05ABCB8897D737CC2AC /* Nimble-dummy.m */; }; 2D1BD8BC036C099C617457E7BF7AC8CB /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = F878913387EF59820FBE60E096C31D25 /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2E7E7AE4292E5EB3730BB33087BD27D2 /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = B89C0ECBBE7F537966A97C7155546323 /* PrettyDynamicTypeSyntax.swift */; }; 2EAED29456A94731877CF7234BF7B928 /* ForgeriesGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 958E12F6487E7C401A21491DBB6EF324 /* ForgeriesGestureRecognizer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 31F310A182C07209B212AC43C4AD699E /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A92617563D13EBAA0061145D0695D8 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 34D6F5BDF5B9A4B220CF0763291E21FB /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = 537EE886AC179D4B44F0460E544754BF /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; 351C5491EB39A1A8CC635F0A27C3E372 /* QuickTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7F7B9688691CDE160D253B04DAF0B00 /* QuickTestObservation.swift */; }; - 3920C08B8A8AB99BD68294B00997921F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B191FCDE235BED8CFDEE881C72302B5 /* UIKit.framework */; }; 3D88FA031800EAD5410C710DC430D909 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CA86010E36AF034C302D6341694A0B /* World.swift */; }; 3F31BA28AEC03B51AF90221CC4AD864B /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A7D287E40142366A7EF1C8565944AE9 /* World+DSL.swift */; }; + 4104F7E564CE3BA94A86447D4E21F332 /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F4DD63F38B1413ADEF319F6578A98B /* UIImage+Compare.m */; }; 416FEB65425C4D4A5BD9A56DBB994F72 /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 258582A60298518BBACB12778520D84E /* QuickConfiguration.m */; }; + 4363F26EB7B29347C20CAD890178C7DF /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E0CAB819348DBF4082DFAFB3F8DFD9E /* UIImage+Snapshot.m */; }; 44CC283E83FE6CCCAAB2F327740770E7 /* QuickObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 77F083E7F276C2F81D541FD2AD8396C3 /* QuickObjCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4507C3FA3B3C2A7A13D9C503CFD9CC19 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A507A92C39B4EA8D9D3D0A37276991D /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; 45718892681E27BFB3CA4F77FB637189 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF8C9E8664C0E2B68661765758BD89D /* Behavior.swift */; }; - 468ACF2F3562C42AAADE85F78814761F /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 0856EFF7F436E3DECA69B357EC112A66 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4BB64DB9E1A1717C926E9A2FA7D5DA97 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 834AA067E7A951F98CDB9168DC9DD264 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 4C9603C0AF86CA8B5DE95A4E548A232A /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B372026ECD7452C0C047CF939BC9910 /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; - 4DB7DA2624786CD82D03C4DCBBFA80D2 /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 0185967CFA43B1A3481807EFFEB90B0A /* NBSMockedApplication.m */; }; + 4E707DACA4622CBC186D64998D3B7EEF /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 0856EFF7F436E3DECA69B357EC112A66 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4F2CB8B117C1F658989DD54AA86B63A0 /* Pods-Bootstrap-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FA55C794127490B8DA6B47790CA823 /* Pods-Bootstrap-dummy.m */; }; - 4F754A4082A495E676AE03969ACC2D5F /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = F034788D9A8427603C7C4AEA2BE2B4FD /* CurrentTestCaseTracker.swift */; }; - 4F9671D49B4FE5691D6B614E988B0EA1 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 348320B94815A58928A9A33E3520B405 /* XCTest.framework */; }; + 4F904322A37668CD719599B2B5F2B4F2 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4958024CBE3DB06957A72A6EB6D21C37 /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 501A30CB9F16F63F7FBABA667043DCCC /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DA5B8F4479572AE97E344AAD4BA64AD /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 503C67388E7F79D9CFD50E3758F1C210 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E0CAB819348DBF4082DFAFB3F8DFD9E /* UIImage+Snapshot.m */; }; - 51106293B7F06BB177E90039A2F488FB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; + 50CD3F2E56B53311D283BD9CD9EB84CF /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D99C209B198E442FE77236A9B3FC65 /* PrettySyntax.swift */; }; 520E7371FE7DB9BF712762793CC0BB4B /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268E9466ED7276D92B87DA319F2B1FF7 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 569032CEF98739BA435D377D0793E0BB /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D1FB84F348CAF331972429257B783C6 /* UIImage+Diff.m */; }; 5690F85374EFEDC2CD5A9BFC9B8B125D /* ForgeriesFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 51759393B0B2433CD38B597FC7363C9D /* ForgeriesFileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; 56A14C5BED6CE0E65A2A30B65720F87C /* Pods-Bootstrap-BootstrapTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F64F9570D679838B8F2080D9BAA63353 /* Pods-Bootstrap-BootstrapTests-dummy.m */; }; - 5741A9FA012DDC88C60570114320E1D9 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 59145B36B7DC3BCD493A02C8FE5C69E9 /* FBSnapshotTestController.m */; }; 58EE91C5933C2772FA08A02F3A28FA31 /* ForgeriesApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 18B12C3F7E714566814A48FBF7BCCF39 /* ForgeriesApplication.m */; }; 5A7CA27F8A4CB0DCBDBFB48B301E26D6 /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D96787B910749DDFBFE8B3D43CD1AF /* URL+FileName.swift */; }; 5DD0B3311BB289641928D6E734F4ED55 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52F2D90450FD7A2C2BE31A6BD03C52B8 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 5F3735910FC7153DE9676F22CD2C07C0 /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = F8FB8E2C1B1B7E4606804B620C37CE3A /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5FF3D0D8B874D76C903952F8E318E006 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B39473643DBEB6F506163A2B271BBCEB /* Quick-dummy.m */; }; 606F220B87194FFF5D050FC4942120C5 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE2CCF391892036145705A37AFCB942 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 610CEB4BDE1C763C5CA2025801FA6C19 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; 62179C7D8765DD41CB7FE55E37F3A79D /* Pods-Bootstrap-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FC0A0D496499DE495B1BBB734D33710 /* Pods-Bootstrap-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62B4411C147375E0F1D0639B40963428 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = 22359C62B199DD1B2E28AF2C1C0A12C2 /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 62CC601FE26297E6810025E7C9976B80 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B191FCDE235BED8CFDEE881C72302B5 /* UIKit.framework */; }; + 6346A9C0E4D98CD6BCFEC417CF712101 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 74595C5AFFD7A1E67DCBEF8F67ABF354 /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; + 635AC0CB0EC7F157821AF15D38A700D4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B191FCDE235BED8CFDEE881C72302B5 /* UIKit.framework */; }; 63BEE0DA692EDD12AF776B3551C769D3 /* ForgeriesApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F7A4ECE1D914610B20A1B901491341 /* ForgeriesApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64E35D03D2949E6F1FD924D6C19A43AD /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9F2E68309B05823B195857599F9599 /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 64FCA3E2EE87BD1FA9C20513D275A497 /* ForgeriesFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA638F4009ED15645F5B3B8D73A137C /* ForgeriesFileManager.m */; }; 64FF7B082BBD75946F6B6342F202F6CC /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9159DEA363798D0E832CF4F360B85061 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 6651438A66A1DEB7B86EC4814EA9DA16 /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F4D67E1A3C4B8B08096087AEEEE0272 /* Callsite.swift */; }; 665B3B718611BE55F338D2CF4602AC74 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 360D4B9C86ACB6D5FBF246CDCE755801 /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68448D0D244D4C6283A42BF1CC5DEAA9 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661225BC1679E374EEC52C4D3201C5EE /* SwiftSupport.swift */; }; + 66B126504098FAFFF230EEDDBC1A9D26 /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E28B9DE0FCAB63CF311BCCC182950B6 /* HaveValidDynamicTypeSnapshot.swift */; }; 69FB2A0E963C18660AA3B8CFE72FE3C4 /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62028CE317A34F58E47FD2AAA159E58A /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 6C15F15F53336BA1EE218930FD343D4D /* ForgeriesGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0002580583067689DC50773A13A19F93 /* ForgeriesGestureRecognizer.m */; }; 6C53B0695A60489C1FFCBE9FABBFA47A /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = EF2C14D806A5B11A021B90526C9A3326 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6CE2E10D6237472E319B05C3F16A2237 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D5DF5640B1DBF5B0E3814D0C2E048D6 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 6D2EB1AA036F99007BFB31045522F459 /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = F8DF2918C1D8C9F560E22767F4E0C3E2 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E304D71CA6C2E392C1055D2926F7EB3 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 92B308C6B18ECE9AFD8A591FD733D76C /* FBSnapshotTestCasePlatform.m */; }; 6E5819480E972CA10D8D9A34D94405BF /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0875FD12248FCAF46BCA610DE7822E6C /* Filter.swift */; }; - 6E8C39239277CE2AE5D1AFB36345DB1D /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05660ECD3D6EF735F5B072FC49B49445 /* PrettySyntax.swift */; }; 7433873AD9AFAE2CA71EFD10FA2CD88C /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = D64849A02054247F98001C318006E12B /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; 784F57A0959BD334BD0D1158C8359135 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0BFBF8B454598215590D233DF9BAF68 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 79889BC790771B21246324E2A103E74F /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 679BD457A7CCA2B9B6C1F7CA293A5BCA /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; 79A86162B6B82D7F8795DCED169BE954 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = CCD82C84B001D4CB86982C825A2B3C26 /* QCKDSL.m */; }; + 7A62A26DE6D448A9524C5EBECCB1038D /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 348320B94815A58928A9A33E3520B405 /* XCTest.framework */; }; 7E102E052BF2E7811F7651C8F8132226 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; 7FA57A4E6F31FBD1C126E7689E1AD61C /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EA8464C45DCBC34A0D3E00DE0B24770 /* Configuration.swift */; }; 7FA979F226052E7C77BA9D37FEDA95D2 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19198487D26268F51AE426B255ECD49A /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 800D781D242F5E551B42C4D8393CBB0B /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 136FAF07FF400C57E75CE5D58161BC10 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 80D116D3CC62170FF258E5AEABE6792A /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A33D13A31394FDD14FAA9EEFC8396D5 /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 843863D450F3E0AC677683342EE60446 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B34F244AF526F5FD130B886B3CEF497 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84311240A1D493C7EAD5B2A6D7C4FE12 /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = F09B69A9A83EAF1ED12A40595C89B8E2 /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8510469EB9B18B318478019A11F7D784 /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B19B61D5362D4DE25B8AF1FF80CBA14 /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8686F7DAC0ACC1A69CB84EE1B841E75D /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B24EC62F547E9966B27215561C93962 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 86A370F30810379A4FFAF9F475CE56A5 /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9F2E68309B05823B195857599F9599 /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 86D9716ADE347B2916F9CB715A3B26D5 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CD2C604742995129A1811466777E337 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 89396273444D853480B62B113EE22623 /* BeginWithPrefix.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7665AAAE86536FF91960CBF4DF28CA /* BeginWithPrefix.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8C7BF8F7855659EBA2E2580556E1C855 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 184FF23C385D8812C7483FF366364A77 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8E2D915F77F55ADEBC7C3B223A4F3A9C /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80F95FAD8F09482BDC42835561F043B6 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8ED105F9F6F431E771E0446AD08BD5A9 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; 8F01AC0753C01A52C349A233690D7938 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = D632E10411CDAB2BEEB5F18C4433288E /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 95079B04F2442FF22611EA7AC48EF81E /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = D30E984E1797CEDB1780085F8907F539 /* Example.swift */; }; 97FA3A0D9196BB3D170B7F7F2A6BDFCD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; + 98930DB332C33F9963BAFD63AFFD22DA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79F8B81880216172C61FED94AB96A744 /* QuartzCore.framework */; }; + 98ABA0EB82D980A098A13838608A0089 /* NBSMockedApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE6DF1277EA592713F4C4C21487432E8 /* NBSMockedApplication.swift */; }; 98D4C88DB61717125A36A5334F27E5C6 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C765D2D7042A5EF7C6D6C1D07154D75D /* NSBundle+CurrentTestBundle.swift */; }; 98E6205470C9306A196AA4ACCE3C795B /* ForgeriesUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B0AF3764A7BE13F2707A02088F90CD /* ForgeriesUserDefaults.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 99700766DF8C7157E548A95325BD94BF /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B9232D922167FF6D78A8B216FC3C36 /* iOSSnapshotTestCase-dummy.m */; }; 9A1BE88CE8717D03F12BF668F2ACF766 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D1EEC58EE5C1BA04A7A6C15AE3250FA /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9A7D226E74085B5A5582EA945C743F2E /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B34F244AF526F5FD130B886B3CEF497 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9B545705849113010D8E2311DE6DA0D8 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 92B308C6B18ECE9AFD8A591FD733D76C /* FBSnapshotTestCasePlatform.m */; }; 9D1731F108FFD33C034F6A859A8A625B /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE8E4497DC945BD162912DB8B3ECFE04 /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 9D56BAD608CA598B071D591E0112F6BE /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CE622A9AD459FE0F30EDBCE1606E4E8 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9E7E25A1EA20470EF48080F0033B2269 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B24EC62F547E9966B27215561C93962 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F2643593B001BED9C62BEF8FB0EBF9D /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981AA4DD9B491558EAA415E633DB7FB3 /* QuickTestSuite.swift */; }; A1D30A36109E6A90E1791B51BAE55A72 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CCA06CA3C2BC311BB7C5CADD8F83331 /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; A4E1AC7A059F8774AECC57EB095245DA /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BE43CC17F7C9169ABE84BD052264107 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A59309ED462194F5CDFAACF06413D77F /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 59145B36B7DC3BCD493A02C8FE5C69E9 /* FBSnapshotTestController.m */; }; + A5AFB5DD876876231432A5465696FFF9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; A5EB253AF98ECD3895797CF40302FA39 /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 124DA676155D7A5FFFAF32F29576A70B /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; A9AF3F7AB8269225790D01ABD9F559D7 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA81D371CE1CD72B71B941C10F7ADCF1 /* DSL.swift */; }; AD4AC85D286EF36E94059676F912BE33 /* Equal+Tuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DE549C685D8BBE2BB7C6501B1C183B /* Equal+Tuple.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; @@ -122,45 +123,42 @@ B0B36BF9AABF34EC3A40FB3CB9C0A4C9 /* Pods-Bootstrap-BootstrapTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BFB349A0E80B7F8CAFBCFF9E7A8C39 /* Pods-Bootstrap-BootstrapTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; B212BEE5869453F67DE16621A5388954 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F150555C3FD5267FB717AB7C23C68E /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; B2D03C30992D861A3C55D5301D718518 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = B16B6A117C291D7B922451A96DE8714C /* ExampleHooks.swift */; }; - B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; + B389B926D4C1D679C4BF2156E00E3E9C /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6518ACF0AA7608AEF042B2CF24E69451 /* DynamicSizeSnapshot.swift */; }; + B5D32B3C76FF138D85BC258BA5B0A028 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661225BC1679E374EEC52C4D3201C5EE /* SwiftSupport.swift */; }; B844C53365327CB75CC1645AE73CDCED /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = C1045A67111FA71817A5EB09EAA86C92 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - BC797B6B6BA426ADEEC4EB1E33D24A94 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4958024CBE3DB06957A72A6EB6D21C37 /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF6AD45B67DBD1A4A8CB07FC32D9EFFF /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE69EC91C20A5D8FD0ED64406F02262 /* FBSnapshotTestCase.m */; }; + BC9B9BB4B0ADBC9F4DE007442801001C /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFF904A2DF129B75F8B478DA60264CEB /* PrettyDynamicTypeSyntax.swift */; }; + BE269EBE287E5EE80CD12E39E86FA114 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B191FCDE235BED8CFDEE881C72302B5 /* UIKit.framework */; }; C0D3EDC5F8D2546D5B5CB583230606B7 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DAAE1CB65CEF171A3BBEB4F9C433891 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; C12A5EDA29052D6AB6B5C08EB827147F /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 667FFDFD11BE017EA64ADE5AE4805381 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; C2D906D76A9597A6C5B496D316893560 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AF826E5F1B1814A22967F7F8ED3C89 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; C5866EBF0E8BCB657EAE2ABE80A99B6F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 348320B94815A58928A9A33E3520B405 /* XCTest.framework */; }; C759FEB2A9EF6B829DF536816DF4CABB /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 124FAEC65D94E6E966091B134E0EA1DF /* ExampleMetadata.swift */; }; C7B3848543A19E420CA7638FBF6775CB /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 884B741E569EC7C772E5B20AF2D02B24 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C91114C794B352FB9DFECADF27B423DF /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F1DA791D44F9E6F196C4FF8F4652D5C /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; CA791EB47A2D4F838A353E79B693A4B8 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB23FB2ECACFCFF85D0944485335D862 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; CC9476F9485F3506AE3374888A29D0AA /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF90FF392A5373540B7D45359F9F9E24 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; CFB78DAD8A511C9123F8559BA702B5E4 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1595D04CB458FDEE3E90D1DEEA5109D9 /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D1A0652DD9FD752E24EB22D1E7ACAADF /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BE8C7F245B68A1596A8CFB4314CA93F /* CurrentTestCaseTracker.swift */; }; D562A34837C271ABE23892804EABFC83 /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 235D59A76AD5D1FDAAE60D943F268770 /* QuickSpecBase.m */; }; D5909A235107CDC9E1B0C12CB08B6505 /* DispatchTimeInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1346B302A8047FEE4F66BF0E729F8F4 /* DispatchTimeInterval.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; D6276432FE863185A68BC069E47F1BD9 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6205590F74081417DA65BDDD73D7B089 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; D989AA28FF39931A8E9F6FFD665FD0B7 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC342910381BD391910CA97193DA1DE /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; DB4F2A50A04E673714C6A8AA32D94D53 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847402A241D01D703381FAD8E23F6111 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; DBB0B80C28F80394644E12D3C4EE2CB3 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EF52086CEDBC9C780F9CDC434CB1199 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DD070DF94443709FBDC7686F7100E2ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; DD4902199E92D5BE0D13B2B84676244F /* ForgeriesUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 571FC34D0BBC9D5BB13D5C6A59B6092B /* ForgeriesUserDefaults.m */; }; - DE385A3C470C67EACA0A6914B19C47D0 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 184FF23C385D8812C7483FF366364A77 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE7759C917718880F4B4BADA98FEAACF /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 348320B94815A58928A9A33E3520B405 /* XCTest.framework */; }; + E0A39FB058368C5F4FFE26DF48820566 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; E0E2E724288F13C852B9DB0C323ABBE4 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 136AB7144B960D5AFE6615A3FA652547 /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E13A402A9E8C24FC2F4FDD1F9DE60BCD /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; E1F708C047C1B3C52B13F4D322D15F69 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32277D270E7C8FDA779F78F45E7FCC9C /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; E2215668ADBFC9202F9847BEE6EEDF48 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; E282A90FA01DE2C5003A3E17907E17A9 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 45E9D0D8E5023B588E770C70145C1A91 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; E41DA6DEFB27EE0BCF12DC39EF0E1E1A /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDB1D6202A88920B32632746F4F9BF33 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E452784D8967AB3BA185AE93950731B5 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE69EC91C20A5D8FD0ED64406F02262 /* FBSnapshotTestCase.m */; }; E5FA00B2EC7B07285D2AE732D338BBDC /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61BFB1FB3C893DEAB2A3780835F4FC1F /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; E80FC1D79D4A8DCA72F3C9A023D7BBD8 /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 502434F666A631530639EA95D0799B0E /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; E8AE858EC457AE28E23FE08EFB32E892 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8399048FAD81FE4DE82AFBCA8430E269 /* QuickSelectedTestSuiteBuilder.swift */; }; E9EB5895A3C64621F2D5D153BD103D6E /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40342E2A43342FB68F2C4C5D64F67047 /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; EA3B734318B9E04D966DB61ED42B08EC /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC26FEF976A6062CEAFF90638C363007 /* ErrorUtility.swift */; }; - EB6D3690614E7BF111852E92E512288D /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D1FB84F348CAF331972429257B783C6 /* UIImage+Diff.m */; }; EE7C2A10D09991BF6E14ECE2C8F41243 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B24D78E81557134D16B15E969CA71B7 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; - EF90B9F9C0694067E94DCAB6BE00BCAC /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0D4BB00F81FB3CA6BD09305C9EE22D /* HaveValidDynamicTypeSnapshot.swift */; }; - EFD354BEDEED82B2DFB535E84552C658 /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = E21030236863C2B7D1ADE970109799EC /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; F02B60DD96EB7DE9CA25530D09966391 /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821E90064047AD8792B1ECDA589508CB /* ExampleGroup.swift */; }; F17CCA8ABDDEE4BA268DC3D82A9C59BC /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAD3763EC9EE3F72085FE67D2987AB98 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; F1C92B6A25DE2278405A84C32B038C49 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D72C108FB16AC6906BF2FDB3F6C07036 /* Foundation.framework */; }; @@ -175,72 +173,71 @@ FD1E01D8C3414F0495353334492BF4A9 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A036A83553A855413EE840ADB8CA449 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; FD6EA3A65F6FCB8B80E51323D3987072 /* Forgeries-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 893B70E3C86DBAC047DC02C3FA1810BD /* Forgeries-dummy.m */; }; FE49B2BCF0071826DF19F2E0B7A62A01 /* Forgeries-Macros.h in Headers */ = {isa = PBXBuildFile; fileRef = DC6B5181181947A75654CCDD987AC230 /* Forgeries-Macros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF5DECB58449349DBACC45B0E0C254DD /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 348320B94815A58928A9A33E3520B405 /* XCTest.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 2BD8696D87971B3C81CB5E614322493E /* PBXContainerItemProxy */ = { + 14224F57877D336A9599A8F3EE22C8F1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; remoteInfo = iOSSnapshotTestCase; }; - 36381D3426BE70A043EE74617AAE4986 /* PBXContainerItemProxy */ = { + 1F2293890F86AA5FEE3ECB394CE8A27F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = A0BB8C6495DF871749A813563CA6E204; - remoteInfo = Forgeries; + remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; + remoteInfo = Nimble; }; - 3D992B4DFE1F4ECED1BE3AD8AD08F23A /* PBXContainerItemProxy */ = { + 2848EFC0366FF1353065CE37034B092D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; - remoteInfo = iOSSnapshotTestCase; + remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; + remoteInfo = Quick; + }; + 5D3BA43BE6E27F07DC484F7A859E42E7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = A0BB8C6495DF871749A813563CA6E204; + remoteInfo = Forgeries; }; - 50CC8F4BDEFFAF2EDB146BFF21EB9AF0 /* PBXContainerItemProxy */ = { + 6D7CD2193C90528BA168D97F63A2DA21 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; remoteInfo = Nimble; }; - 55FC1921B37DB12DBEA86FD470BD7D77 /* PBXContainerItemProxy */ = { + 95195CDDADEB58EA7BD1830BE116A9F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EE19095A8C98E0BC5774005673495238; remoteInfo = "Nimble-Snapshots"; }; - 89E4296AA5B67A42156EC14098C6819A /* PBXContainerItemProxy */ = { + B2E91B86BDA8EEC491E0F62EEB4E2AD6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; - remoteInfo = Quick; + remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; + remoteInfo = iOSSnapshotTestCase; }; - AA22B26CDC57157AA97B265B7F8969F1 /* PBXContainerItemProxy */ = { + D7BDBE402BC0C3267EC31873CB21EE71 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = A0BB8C6495DF871749A813563CA6E204; remoteInfo = Forgeries; }; - E8DC6ADD82115DAD307FFB7F7467E32C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; - remoteInfo = Nimble; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 0002580583067689DC50773A13A19F93 /* ForgeriesGestureRecognizer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ForgeriesGestureRecognizer.m; path = Pod/Classes/ForgeriesGestureRecognizer.m; sourceTree = ""; }; 0015A52FB7EC8D35F4A58FB5E9655B0D /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; - 0185967CFA43B1A3481807EFFEB90B0A /* NBSMockedApplication.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = NBSMockedApplication.m; sourceTree = ""; }; - 05660ECD3D6EF735F5B072FC49B49445 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; 06671E0D31C60C64193FFEC4E0B33E56 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; 07968844FBB6C10CDBEF84204EB92B2D /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; 0856EFF7F436E3DECA69B357EC112A66 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; @@ -249,7 +246,6 @@ 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0DA5B8F4479572AE97E344AAD4BA64AD /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; - 0F1DA791D44F9E6F196C4FF8F4652D5C /* NBSMockedApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = NBSMockedApplication.h; sourceTree = ""; }; 0F4D67E1A3C4B8B08096087AEEEE0272 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; 10AF826E5F1B1814A22967F7F8ED3C89 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; 118FECBEBE85D6B742B364E2CB55ED43 /* Nimble-Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Nimble-Snapshots.modulemap"; sourceTree = ""; }; @@ -286,7 +282,6 @@ 28BC58EB53C544B306921F0EB37124D2 /* Nimble-Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-Snapshots-dummy.m"; sourceTree = ""; }; 2A33D13A31394FDD14FAA9EEFC8396D5 /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; 2AA9D4590BDA4DEC2A27ED5C05B74E3C /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; - 2AB56D9DB9E82E6794A208C5BEEDC860 /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DynamicSizeSnapshot.swift; sourceTree = ""; }; 2CE622A9AD459FE0F30EDBCE1606E4E8 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; 32277D270E7C8FDA779F78F45E7FCC9C /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; 3392190D52780F3889B1029503BA9238 /* iOSSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.release.xcconfig; sourceTree = ""; }; @@ -309,7 +304,6 @@ 51759393B0B2433CD38B597FC7363C9D /* ForgeriesFileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ForgeriesFileManager.h; path = Pod/Classes/ForgeriesFileManager.h; sourceTree = ""; }; 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble_Snapshots.framework; path = "Nimble-Snapshots.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 52F2D90450FD7A2C2BE31A6BD03C52B8 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; - 537EE886AC179D4B44F0460E544754BF /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; 55CACCCE1AFDAA4C029A6442BFAC12EF /* Pods-Bootstrap-BootstrapTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Bootstrap-BootstrapTests.debug.xcconfig"; sourceTree = ""; }; 55EE4E076065E8FE4A9B8D9E2385526B /* Pods_Bootstrap_BootstrapTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Bootstrap_BootstrapTests.framework; path = "Pods-Bootstrap-BootstrapTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 569DA97D0B55192A0AC5EC9FFDB60286 /* Forgeries.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Forgeries.debug.xcconfig; sourceTree = ""; }; @@ -317,10 +311,12 @@ 59145B36B7DC3BCD493A02C8FE5C69E9 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; 5928AFF13E65677F5A2A87DAF19E6F7A /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; 59830509676FC6C082981A17CAF6490D /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + 5E28B9DE0FCAB63CF311BCCC182950B6 /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; 5F75F1FF0094EB6EEA19FE41F3F31DF1 /* Forgeries-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Forgeries-umbrella.h"; sourceTree = ""; }; 61BFB1FB3C893DEAB2A3780835F4FC1F /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; 62028CE317A34F58E47FD2AAA159E58A /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; 6205590F74081417DA65BDDD73D7B089 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; + 6518ACF0AA7608AEF042B2CF24E69451 /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DynamicSizeSnapshot.swift; sourceTree = ""; }; 661225BC1679E374EEC52C4D3201C5EE /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/Support/SwiftSupport.swift; sourceTree = ""; }; 667FFDFD11BE017EA64ADE5AE4805381 /* 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 = ""; }; 679BD457A7CCA2B9B6C1F7CA293A5BCA /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; @@ -331,6 +327,7 @@ 6DAAE1CB65CEF171A3BBEB4F9C433891 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; 6EE69EC91C20A5D8FD0ED64406F02262 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; 71C5E2132EAFB05ABCB8897D737CC2AC /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + 74595C5AFFD7A1E67DCBEF8F67ABF354 /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; 74A92617563D13EBAA0061145D0695D8 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; 76377F9958F21507586706C90A606977 /* Pods-Bootstrap-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Bootstrap-frameworks.sh"; sourceTree = ""; }; 76C06C78AC6DE8CA3868C30213EB8B53 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; @@ -339,6 +336,7 @@ 79F8B81880216172C61FED94AB96A744 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; 7B24EC62F547E9966B27215561C93962 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/Public/FBSnapshotTestController.h; sourceTree = ""; }; 7BE43CC17F7C9169ABE84BD052264107 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; + 7BE8C7F245B68A1596A8CFB4314CA93F /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; 7CD2C604742995129A1811466777E337 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; 7D5DF5640B1DBF5B0E3814D0C2E048D6 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; 7D7F864EB0A0136DFC075822B5A58AAC /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; @@ -356,7 +354,6 @@ 88D519D627B83F0A576B38AF42FC5461 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; 893B70E3C86DBAC047DC02C3FA1810BD /* Forgeries-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Forgeries-dummy.m"; sourceTree = ""; }; 8B0BA97EACADFA190816C0D48E6CCE9D /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; - 8B0D4BB00F81FB3CA6BD09305C9EE22D /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; 8B24D78E81557134D16B15E969CA71B7 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; 8B34F244AF526F5FD130B886B3CEF497 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; 8D1EEC58EE5C1BA04A7A6C15AE3250FA /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; @@ -374,13 +371,13 @@ 981AA4DD9B491558EAA415E633DB7FB3 /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; 9A2EEC8461B14BA548DAA035053D3F11 /* Pods-Bootstrap-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Bootstrap-acknowledgements.plist"; sourceTree = ""; }; 9B191FCDE235BED8CFDEE881C72302B5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 9B372026ECD7452C0C047CF939BC9910 /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; 9BF7A61091791C7DF711ACB598B68CF4 /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9EB90831AE20FA80922F114270F22890 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; 9EF52086CEDBC9C780F9CDC434CB1199 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; A42F8571A8475229F8B04F1585B8B22C /* Nimble-Snapshots.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.release.xcconfig"; sourceTree = ""; }; A63AA69622C771E054A52790CECEB4B1 /* String+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+C99ExtendedIdentifier.swift"; path = "Sources/Quick/String+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + A6D99C209B198E442FE77236A9B3FC65 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; A9F4DD63F38B1413ADEF319F6578A98B /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; AC26FEF976A6062CEAFF90638C363007 /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; ACD6765FBF0915C50D086D4BB7CC82BB /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; @@ -391,8 +388,8 @@ B1A01F22E3F6C887215D9C5CABC2C7CB /* Forgeries-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Forgeries-prefix.pch"; sourceTree = ""; }; B39473643DBEB6F506163A2B271BBCEB /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; B5F150555C3FD5267FB717AB7C23C68E /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; + B6955FAB3634A8D8D00305F836910F8D /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; B7F7B9688691CDE160D253B04DAF0B00 /* QuickTestObservation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestObservation.swift; path = Sources/Quick/QuickTestObservation.swift; sourceTree = ""; }; - B89C0ECBBE7F537966A97C7155546323 /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase.framework; path = iOSSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B9604976E3FD8E0E0B9E3C1203196D82 /* Nimble-Snapshots.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.debug.xcconfig"; sourceTree = ""; }; BAD3763EC9EE3F72085FE67D2987AB98 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; @@ -422,24 +419,25 @@ DC6B5181181947A75654CCDD987AC230 /* Forgeries-Macros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Forgeries-Macros.h"; path = "Pod/Classes/Forgeries-Macros.h"; sourceTree = ""; }; DCB9E168B9A112D14416DBB3F1A6DCD4 /* Nimble-Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-prefix.pch"; sourceTree = ""; }; DCE62E8BE9D10710A79ADFFB184A592E /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; + DFF904A2DF129B75F8B478DA60264CEB /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; E08CBA7114554C60078A8D89359D8126 /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; E164C07E4F3634BB2F0113626C80577B /* Pods-Bootstrap-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Bootstrap-acknowledgements.markdown"; sourceTree = ""; }; - E21030236863C2B7D1ADE970109799EC /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; - E358E6E846C96D13D010798BAD7E4538 /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; E692EA7DF868670D5904E0A37A0AD50D /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; E6D453882727B243E10CA8C2B598D112 /* Pods-Bootstrap-BootstrapTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Bootstrap-BootstrapTests-frameworks.sh"; sourceTree = ""; }; EA8D70A2B80936A2296636665A60195F /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; + EE6DF1277EA592713F4C4C21487432E8 /* NBSMockedApplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NBSMockedApplication.swift; sourceTree = ""; }; EEADEF896BF6519DAA5CE32BF4B44C7F /* Forgeries.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Forgeries.release.xcconfig; sourceTree = ""; }; EF2C14D806A5B11A021B90526C9A3326 /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; EF90FF392A5373540B7D45359F9F9E24 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; F00926DD5E0F586D0100B17ABCE310C4 /* Pods-Bootstrap.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Bootstrap.debug.xcconfig"; sourceTree = ""; }; - F034788D9A8427603C7C4AEA2BE2B4FD /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; + F09B69A9A83EAF1ED12A40595C89B8E2 /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; F1DE549C685D8BBE2BB7C6501B1C183B /* Equal+Tuple.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Equal+Tuple.swift"; path = "Sources/Nimble/Matchers/Equal+Tuple.swift"; sourceTree = ""; }; F50EB7405A34A28B056A80F0F29AA69E /* Pods-Bootstrap-BootstrapTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Bootstrap-BootstrapTests.modulemap"; sourceTree = ""; }; F64F9570D679838B8F2080D9BAA63353 /* Pods-Bootstrap-BootstrapTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Bootstrap-BootstrapTests-dummy.m"; sourceTree = ""; }; F878913387EF59820FBE60E096C31D25 /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; F87F72721BD6EC1389DFB399D99252BC /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; F8DF2918C1D8C9F560E22767F4E0C3E2 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; + F8FB8E2C1B1B7E4606804B620C37CE3A /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; FA81D371CE1CD72B71B941C10F7ADCF1 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; FC72C26A012699A48C41E0BFFE73E288 /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; FCA638F4009ED15645F5B3B8D73A137C /* ForgeriesFileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ForgeriesFileManager.m; path = Pod/Classes/ForgeriesFileManager.m; sourceTree = ""; }; @@ -448,26 +446,26 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */ = { + 3B93C3558553AB2797CB6FA66B46D9C3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */, - 51106293B7F06BB177E90039A2F488FB /* Foundation.framework in Frameworks */, - B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */, - 62CC601FE26297E6810025E7C9976B80 /* UIKit.framework in Frameworks */, - 4F9671D49B4FE5691D6B614E988B0EA1 /* XCTest.framework in Frameworks */, + E13A402A9E8C24FC2F4FDD1F9DE60BCD /* FBSnapshotTestCase.framework in Frameworks */, + A5AFB5DD876876231432A5465696FFF9 /* Foundation.framework in Frameworks */, + 8ED105F9F6F431E771E0446AD08BD5A9 /* Nimble.framework in Frameworks */, + 635AC0CB0EC7F157821AF15D38A700D4 /* UIKit.framework in Frameworks */, + FF5DECB58449349DBACC45B0E0C254DD /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6787F6C79FEE6CCFCD4EE0A16A9C882C /* Frameworks */ = { + 4F114483F31D4A984D36D82BA9881E2C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DD070DF94443709FBDC7686F7100E2ED /* Foundation.framework in Frameworks */, - 06FAC30C006FF55D81F48C3591992287 /* QuartzCore.framework in Frameworks */, - 3920C08B8A8AB99BD68294B00997921F /* UIKit.framework in Frameworks */, - DE7759C917718880F4B4BADA98FEAACF /* XCTest.framework in Frameworks */, + E0A39FB058368C5F4FFE26DF48820566 /* Foundation.framework in Frameworks */, + 98930DB332C33F9963BAFD63AFFD22DA /* QuartzCore.framework in Frameworks */, + BE269EBE287E5EE80CD12E39E86FA114 /* UIKit.framework in Frameworks */, + 7A62A26DE6D448A9524C5EBECCB1038D /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -579,15 +577,6 @@ name = Pods; sourceTree = ""; }; - 2CF4976397FB20D1CBE63F1A2D21AAD6 /* DynamicSize */ = { - isa = PBXGroup; - children = ( - 2AB56D9DB9E82E6794A208C5BEEDC860 /* DynamicSizeSnapshot.swift */, - ); - name = DynamicSize; - path = Nimble_Snapshots/DynamicSize; - sourceTree = ""; - }; 4427A7B4CA095E4A2869A4B4E7E919BC /* Pods-Bootstrap */ = { isa = PBXGroup; children = ( @@ -615,6 +604,21 @@ name = Pod; sourceTree = ""; }; + 4B4000B2DC3CD4867C9CA7FC4AE25723 /* Core */ = { + isa = PBXGroup; + children = ( + 7BE8C7F245B68A1596A8CFB4314CA93F /* CurrentTestCaseTracker.swift */, + B6955FAB3634A8D8D00305F836910F8D /* HaveValidSnapshot.swift */, + F8FB8E2C1B1B7E4606804B620C37CE3A /* Nimble_Snapshots.h */, + A6D99C209B198E442FE77236A9B3FC65 /* PrettySyntax.swift */, + F09B69A9A83EAF1ED12A40595C89B8E2 /* XCTestObservationCenter+CurrentTestCaseTracker.h */, + 74595C5AFFD7A1E67DCBEF8F67ABF354 /* XCTestObservationCenter+CurrentTestCaseTracker.m */, + DDA5DD7727950E5DE5E7CDAC6B5F44AC /* DynamicSize */, + A7BF8589A38E319CDF31ABE44DE1C045 /* DynamicType */, + ); + name = Core; + sourceTree = ""; + }; 5AEA97315D55C5A470EB9A3AA52CE492 /* Support Files */ = { isa = PBXGroup; children = ( @@ -754,6 +758,17 @@ name = "Development Pods"; sourceTree = ""; }; + A7BF8589A38E319CDF31ABE44DE1C045 /* DynamicType */ = { + isa = PBXGroup; + children = ( + 5E28B9DE0FCAB63CF311BCCC182950B6 /* HaveValidDynamicTypeSnapshot.swift */, + EE6DF1277EA592713F4C4C21487432E8 /* NBSMockedApplication.swift */, + DFF904A2DF129B75F8B478DA60264CEB /* PrettyDynamicTypeSyntax.swift */, + ); + name = DynamicType; + path = Nimble_Snapshots/DynamicType; + sourceTree = ""; + }; B450C2FBF2E73A2F1654327F6B079E68 /* Nimble */ = { isa = PBXGroup; children = ( @@ -834,21 +849,6 @@ path = Nimble; sourceTree = ""; }; - B62074F2BF9D232601F679C6FA3C161B /* Core */ = { - isa = PBXGroup; - children = ( - F034788D9A8427603C7C4AEA2BE2B4FD /* CurrentTestCaseTracker.swift */, - E358E6E846C96D13D010798BAD7E4538 /* HaveValidSnapshot.swift */, - 537EE886AC179D4B44F0460E544754BF /* Nimble_Snapshots.h */, - 05660ECD3D6EF735F5B072FC49B49445 /* PrettySyntax.swift */, - E21030236863C2B7D1ADE970109799EC /* XCTestObservationCenter+CurrentTestCaseTracker.h */, - 9B372026ECD7452C0C047CF939BC9910 /* XCTestObservationCenter+CurrentTestCaseTracker.m */, - 2CF4976397FB20D1CBE63F1A2D21AAD6 /* DynamicSize */, - D790B16C90C09E689A77D4DDC2C8565D /* DynamicType */, - ); - name = Core; - sourceTree = ""; - }; CBCADAC55956C76F0B767C2F56A1B758 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -862,7 +862,7 @@ CE744CFABB77655A4A629B782F76D21D /* Nimble-Snapshots */ = { isa = PBXGroup; children = ( - B62074F2BF9D232601F679C6FA3C161B /* Core */, + 4B4000B2DC3CD4867C9CA7FC4AE25723 /* Core */, 491312CF9A021191A7AFB6FF50EE0D13 /* Pod */, 148190B4203A8912D0EBF8198FBB3CD3 /* Support Files */, ); @@ -899,16 +899,13 @@ path = "Target Support Files/Pods-Bootstrap-BootstrapTests"; sourceTree = ""; }; - D790B16C90C09E689A77D4DDC2C8565D /* DynamicType */ = { + DDA5DD7727950E5DE5E7CDAC6B5F44AC /* DynamicSize */ = { isa = PBXGroup; children = ( - 8B0D4BB00F81FB3CA6BD09305C9EE22D /* HaveValidDynamicTypeSnapshot.swift */, - 0F1DA791D44F9E6F196C4FF8F4652D5C /* NBSMockedApplication.h */, - 0185967CFA43B1A3481807EFFEB90B0A /* NBSMockedApplication.m */, - B89C0ECBBE7F537966A97C7155546323 /* PrettyDynamicTypeSyntax.swift */, + 6518ACF0AA7608AEF042B2CF24E69451 /* DynamicSizeSnapshot.swift */, ); - name = DynamicType; - path = Nimble_Snapshots/DynamicType; + name = DynamicSize; + path = Nimble_Snapshots/DynamicSize; sourceTree = ""; }; E8920002A00484505A99FC0EE6322A41 /* Products */ = { @@ -997,36 +994,35 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - BC1117F39A8021439927860816EC40E4 /* Headers */ = { + A1D1F7C9627171554CE77B567648410E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 62179C7D8765DD41CB7FE55E37F3A79D /* Pods-Bootstrap-umbrella.h in Headers */, + 04CAEAAC22B4BC909BD63B8E567CFAE8 /* FBSnapshotTestCase.h in Headers */, + 8C7BF8F7855659EBA2E2580556E1C855 /* FBSnapshotTestCasePlatform.h in Headers */, + 8686F7DAC0ACC1A69CB84EE1B841E75D /* FBSnapshotTestController.h in Headers */, + 4F904322A37668CD719599B2B5F2B4F2 /* iOSSnapshotTestCase-umbrella.h in Headers */, + 4E707DACA4622CBC186D64998D3B7EEF /* UIImage+Compare.h in Headers */, + 9A7D226E74085B5A5582EA945C743F2E /* UIImage+Diff.h in Headers */, + 79889BC790771B21246324E2A103E74F /* UIImage+Snapshot.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C87F10CC939FA6040616DB59B6F77041 /* Headers */ = { + BC1117F39A8021439927860816EC40E4 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C91114C794B352FB9DFECADF27B423DF /* NBSMockedApplication.h in Headers */, - 64E35D03D2949E6F1FD924D6C19A43AD /* Nimble-Snapshots-umbrella.h in Headers */, - 34D6F5BDF5B9A4B220CF0763291E21FB /* Nimble_Snapshots.h in Headers */, - EFD354BEDEED82B2DFB535E84552C658 /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, + 62179C7D8765DD41CB7FE55E37F3A79D /* Pods-Bootstrap-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E3ED651E9DA29A3BD8E346F1500397A1 /* Headers */ = { + FBD0B35F79C17C148F29A93BF29BB802 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1E60C867346BAC3DBD0F78FBA5D4591E /* FBSnapshotTestCase.h in Headers */, - DE385A3C470C67EACA0A6914B19C47D0 /* FBSnapshotTestCasePlatform.h in Headers */, - 9E7E25A1EA20470EF48080F0033B2269 /* FBSnapshotTestController.h in Headers */, - BC797B6B6BA426ADEEC4EB1E33D24A94 /* iOSSnapshotTestCase-umbrella.h in Headers */, - 468ACF2F3562C42AAADE85F78814761F /* UIImage+Compare.h in Headers */, - 843863D450F3E0AC677683342EE60446 /* UIImage+Diff.h in Headers */, - 1C31D75D5766E0B27D22D914784B9D89 /* UIImage+Snapshot.h in Headers */, + 86A370F30810379A4FFAF9F475CE56A5 /* Nimble-Snapshots-umbrella.h in Headers */, + 5F3735910FC7153DE9676F22CD2C07C0 /* Nimble_Snapshots.h in Headers */, + 84311240A1D493C7EAD5B2A6D7C4FE12 /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1045,7 +1041,7 @@ buildRules = ( ); dependencies = ( - 01DA437C859F18FBA1C3D532681ED235 /* PBXTargetDependency */, + BEF2B1B51FB40912427AC26FB4A6DB03 /* PBXTargetDependency */, ); name = "Pods-Bootstrap"; productName = "Pods-Bootstrap"; @@ -1064,11 +1060,11 @@ buildRules = ( ); dependencies = ( - CC2F3F933452E4BEB1A0E8DF776673A0 /* PBXTargetDependency */, - 7123158B68BA1616780E27CAF0907BB6 /* PBXTargetDependency */, - 9D6736558AFD38028353691D655CB4DC /* PBXTargetDependency */, - A00EF6DA657C6EE70B1FF5FE449F098F /* PBXTargetDependency */, - A2E3FE001307434C34533B0216D00550 /* PBXTargetDependency */, + 3D9E05FD0718556BFC47F29E2A9EBF4E /* PBXTargetDependency */, + 2D477E712E70B6A68514C6CD731927B6 /* PBXTargetDependency */, + 6DE4813B35D6D1AE39FAB5EC336DC100 /* PBXTargetDependency */, + 903472D253BBB180DC6EEA183B811A7F /* PBXTargetDependency */, + CD77D6B4D41CE8AB8D4C14A72C6E6CE7 /* PBXTargetDependency */, ); name = "Pods-Bootstrap-BootstrapTests"; productName = "Pods-Bootstrap-BootstrapTests"; @@ -1113,12 +1109,12 @@ }; C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */ = { isa = PBXNativeTarget; - buildConfigurationList = 5702C2EECD5BFEC38FF692F9EACA552A /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; + buildConfigurationList = 06CD905D294F023E066C4735ED2F705F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; buildPhases = ( - E3ED651E9DA29A3BD8E346F1500397A1 /* Headers */, - 8285BE4CCD98690C350CDA65F9E4373B /* Sources */, - 6787F6C79FEE6CCFCD4EE0A16A9C882C /* Frameworks */, - 7107C2D43D98DD490ACAC0DD88155EDA /* Resources */, + A1D1F7C9627171554CE77B567648410E /* Headers */, + 1E693ED9AAB5423E822597F2246EE9B1 /* Sources */, + 4F114483F31D4A984D36D82BA9881E2C /* Frameworks */, + D5E5C90BB4CCE93DCF15618D2DD7AD21 /* Resources */, ); buildRules = ( ); @@ -1149,18 +1145,18 @@ }; EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */ = { isa = PBXNativeTarget; - buildConfigurationList = 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; + buildConfigurationList = C74A6CFF67B2CBA38975993E0F689356 /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; buildPhases = ( - C87F10CC939FA6040616DB59B6F77041 /* Headers */, - 9254D2C4226791345D1B7BA5F4A6E919 /* Sources */, - 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */, - E105FFEA506B3BA580AD5943A0E5E135 /* Resources */, + FBD0B35F79C17C148F29A93BF29BB802 /* Headers */, + F3D6ABEDC0F1C7B77707A573F4A9A3E2 /* Sources */, + 3B93C3558553AB2797CB6FA66B46D9C3 /* Frameworks */, + 2B31F295BA85C6D519D867038D1713EA /* Resources */, ); buildRules = ( ); dependencies = ( - D2BDBBC356A2FB653785FB888D766449 /* PBXTargetDependency */, - B2F5DE2813EDD8C7838376737596074D /* PBXTargetDependency */, + 38A9464BB17A0BDEDD2F17B417F950D7 /* PBXTargetDependency */, + D60B0BCCA8AA2C2C6EF18AAF6AD75950 /* PBXTargetDependency */, ); name = "Nimble-Snapshots"; productName = "Nimble-Snapshots"; @@ -1201,35 +1197,35 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 36CAF29A7E7B1A86D0FCFE6B04A2FF0A /* Resources */ = { + 2B31F295BA85C6D519D867038D1713EA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 3C725E92F73E07852115870C34644287 /* Resources */ = { + 36CAF29A7E7B1A86D0FCFE6B04A2FF0A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 685E35B5F53184D4D4F6D0AC4306F3EE /* Resources */ = { + 3C725E92F73E07852115870C34644287 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 7107C2D43D98DD490ACAC0DD88155EDA /* Resources */ = { + 685E35B5F53184D4D4F6D0AC4306F3EE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E105FFEA506B3BA580AD5943A0E5E135 /* Resources */ = { + D5E5C90BB4CCE93DCF15618D2DD7AD21 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1253,6 +1249,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 1E693ED9AAB5423E822597F2246EE9B1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E452784D8967AB3BA185AE93950731B5 /* FBSnapshotTestCase.m in Sources */, + 9B545705849113010D8E2311DE6DA0D8 /* FBSnapshotTestCasePlatform.m in Sources */, + A59309ED462194F5CDFAACF06413D77F /* FBSnapshotTestController.m in Sources */, + 1281245EAE83644552527BB5A3CAE51C /* iOSSnapshotTestCase-dummy.m in Sources */, + B5D32B3C76FF138D85BC258BA5B0A028 /* SwiftSupport.swift in Sources */, + 4104F7E564CE3BA94A86447D4E21F332 /* UIImage+Compare.m in Sources */, + 569032CEF98739BA435D377D0793E0BB /* UIImage+Diff.m in Sources */, + 4363F26EB7B29347C20CAD890178C7DF /* UIImage+Snapshot.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 38C66D9DCF731BA87197DF7D8BAF18D6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1266,21 +1277,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8285BE4CCD98690C350CDA65F9E4373B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BF6AD45B67DBD1A4A8CB07FC32D9EFFF /* FBSnapshotTestCase.m in Sources */, - 6E304D71CA6C2E392C1055D2926F7EB3 /* FBSnapshotTestCasePlatform.m in Sources */, - 5741A9FA012DDC88C60570114320E1D9 /* FBSnapshotTestController.m in Sources */, - 99700766DF8C7157E548A95325BD94BF /* iOSSnapshotTestCase-dummy.m in Sources */, - 68448D0D244D4C6283A42BF1CC5DEAA9 /* SwiftSupport.swift in Sources */, - 0298521C4F71AA226F32BB15ABC6E9D9 /* UIImage+Compare.m in Sources */, - EB6D3690614E7BF111852E92E512288D /* UIImage+Diff.m in Sources */, - 503C67388E7F79D9CFD50E3758F1C210 /* UIImage+Snapshot.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 8D6B0363A9EDBC34CF1D998B6EF316FF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1289,22 +1285,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9254D2C4226791345D1B7BA5F4A6E919 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4F754A4082A495E676AE03969ACC2D5F /* CurrentTestCaseTracker.swift in Sources */, - 0E45A16B2F315C728A94669E38688C38 /* DynamicSizeSnapshot.swift in Sources */, - EF90B9F9C0694067E94DCAB6BE00BCAC /* HaveValidDynamicTypeSnapshot.swift in Sources */, - 01E46C812EF930F90DE981195A136D5C /* HaveValidSnapshot.swift in Sources */, - 4DB7DA2624786CD82D03C4DCBBFA80D2 /* NBSMockedApplication.m in Sources */, - 0C7A73C2D654BAF050646271D4202E2D /* Nimble-Snapshots-dummy.m in Sources */, - 2E7E7AE4292E5EB3730BB33087BD27D2 /* PrettyDynamicTypeSyntax.swift in Sources */, - 6E8C39239277CE2AE5D1AFB36345DB1D /* PrettySyntax.swift in Sources */, - 4C9603C0AF86CA8B5DE95A4E548A232A /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; AB6CA551A58E1C678E9D6EA1AC37FFEB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1385,6 +1365,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F3D6ABEDC0F1C7B77707A573F4A9A3E2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D1A0652DD9FD752E24EB22D1E7ACAADF /* CurrentTestCaseTracker.swift in Sources */, + B389B926D4C1D679C4BF2156E00E3E9C /* DynamicSizeSnapshot.swift in Sources */, + 66B126504098FAFFF230EEDDBC1A9D26 /* HaveValidDynamicTypeSnapshot.swift in Sources */, + 1E0F7773698D85C9B6E7012BD84A253D /* HaveValidSnapshot.swift in Sources */, + 98ABA0EB82D980A098A13838608A0089 /* NBSMockedApplication.swift in Sources */, + 1378CDDDA447BB65954A50BD179BA883 /* Nimble-Snapshots-dummy.m in Sources */, + BC9B9BB4B0ADBC9F4DE007442801001C /* PrettyDynamicTypeSyntax.swift in Sources */, + 50CD3F2E56B53311D283BD9CD9EB84CF /* PrettySyntax.swift in Sources */, + 6346A9C0E4D98CD6BCFEC417CF712101 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F597BF576BAA00E7B8B42D9D445B9730 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1423,79 +1419,77 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 01DA437C859F18FBA1C3D532681ED235 /* PBXTargetDependency */ = { + 2D477E712E70B6A68514C6CD731927B6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Forgeries; - target = A0BB8C6495DF871749A813563CA6E204 /* Forgeries */; - targetProxy = AA22B26CDC57157AA97B265B7F8969F1 /* PBXContainerItemProxy */; + name = Nimble; + target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; + targetProxy = 1F2293890F86AA5FEE3ECB394CE8A27F /* PBXContainerItemProxy */; }; - 7123158B68BA1616780E27CAF0907BB6 /* PBXTargetDependency */ = { + 38A9464BB17A0BDEDD2F17B417F950D7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Nimble; target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = E8DC6ADD82115DAD307FFB7F7467E32C /* PBXContainerItemProxy */; + targetProxy = 6D7CD2193C90528BA168D97F63A2DA21 /* PBXContainerItemProxy */; }; - 9D6736558AFD38028353691D655CB4DC /* PBXTargetDependency */ = { + 3D9E05FD0718556BFC47F29E2A9EBF4E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Forgeries; + target = A0BB8C6495DF871749A813563CA6E204 /* Forgeries */; + targetProxy = D7BDBE402BC0C3267EC31873CB21EE71 /* PBXContainerItemProxy */; + }; + 6DE4813B35D6D1AE39FAB5EC336DC100 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Nimble-Snapshots"; target = EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */; - targetProxy = 55FC1921B37DB12DBEA86FD470BD7D77 /* PBXContainerItemProxy */; + targetProxy = 95195CDDADEB58EA7BD1830BE116A9F8 /* PBXContainerItemProxy */; }; - A00EF6DA657C6EE70B1FF5FE449F098F /* PBXTargetDependency */ = { + 903472D253BBB180DC6EEA183B811A7F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Quick; target = C82891EAB7293DBEE916B21F57E8474D /* Quick */; - targetProxy = 89E4296AA5B67A42156EC14098C6819A /* PBXContainerItemProxy */; + targetProxy = 2848EFC0366FF1353065CE37034B092D /* PBXContainerItemProxy */; }; - A2E3FE001307434C34533B0216D00550 /* PBXTargetDependency */ = { + BEF2B1B51FB40912427AC26FB4A6DB03 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = iOSSnapshotTestCase; - target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = 2BD8696D87971B3C81CB5E614322493E /* PBXContainerItemProxy */; + name = Forgeries; + target = A0BB8C6495DF871749A813563CA6E204 /* Forgeries */; + targetProxy = 5D3BA43BE6E27F07DC484F7A859E42E7 /* PBXContainerItemProxy */; }; - B2F5DE2813EDD8C7838376737596074D /* PBXTargetDependency */ = { + CD77D6B4D41CE8AB8D4C14A72C6E6CE7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = iOSSnapshotTestCase; target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = 3D992B4DFE1F4ECED1BE3AD8AD08F23A /* PBXContainerItemProxy */; - }; - CC2F3F933452E4BEB1A0E8DF776673A0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Forgeries; - target = A0BB8C6495DF871749A813563CA6E204 /* Forgeries */; - targetProxy = 36381D3426BE70A043EE74617AAE4986 /* PBXContainerItemProxy */; + targetProxy = 14224F57877D336A9599A8F3EE22C8F1 /* PBXContainerItemProxy */; }; - D2BDBBC356A2FB653785FB888D766449 /* PBXTargetDependency */ = { + D60B0BCCA8AA2C2C6EF18AAF6AD75950 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Nimble; - target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = 50CC8F4BDEFFAF2EDB146BFF21EB9AF0 /* PBXContainerItemProxy */; + name = iOSSnapshotTestCase; + target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; + targetProxy = B2E91B86BDA8EEC491E0F62EEB4E2AD6 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0326C62AF5B343BC61E333185FA397E5 /* Release */ = { + 0B4B138F663D34655663A1D14FEB908C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A42F8571A8475229F8B04F1585B8B22C /* Nimble-Snapshots.release.xcconfig */; + baseConfigurationReference = 8B0BA97EACADFA190816C0D48E6CCE9D /* Nimble.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1507,9 +1501,9 @@ }; name = Release; }; - 0B4B138F663D34655663A1D14FEB908C /* Release */ = { + 358434AAAB61F533FF90990144A85A0A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8B0BA97EACADFA190816C0D48E6CCE9D /* Nimble.release.xcconfig */; + baseConfigurationReference = ACD6765FBF0915C50D086D4BB7CC82BB /* Quick.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1519,14 +1513,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_MODULE_NAME = Nimble; - PRODUCT_NAME = Nimble; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1538,10 +1532,11 @@ }; name = Release; }; - 1F2444ACAFB2CC412298D566C1B7F2F5 /* Release */ = { + 3E18AF86E7F00EB8650C440A51BDE084 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3392190D52780F3889B1029503BA9238 /* iOSSnapshotTestCase.release.xcconfig */; + baseConfigurationReference = C20D260717C4CBCEC87575A2D2C1BD59 /* Pods-Bootstrap.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1552,18 +1547,19 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.4; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1571,41 +1567,39 @@ }; name = Release; }; - 2FC9186449D02E3C7974F864D277742D /* Debug */ = { + 3F284B1CE578A4FCEC896CA9DB71650C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22BFE6F7F0AF96B64606F2A1F055909F /* iOSSnapshotTestCase.debug.xcconfig */; + baseConfigurationReference = 78892FCCE4EBA98513129E58D97806CD /* Nimble.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.4; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 358434AAAB61F533FF90990144A85A0A /* Release */ = { + 53C89ABED0A39D57F2774AB62F296886 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ACD6765FBF0915C50D086D4BB7CC82BB /* Quick.release.xcconfig */; + baseConfigurationReference = DCE62E8BE9D10710A79ADFFB184A592E /* Quick.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1628,17 +1622,15 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 3E18AF86E7F00EB8650C440A51BDE084 /* Release */ = { + 5C7CA642E8B50320CB25D0A4EFBBEE2B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C20D260717C4CBCEC87575A2D2C1BD59 /* Pods-Bootstrap.release.xcconfig */; + baseConfigurationReference = B9604976E3FD8E0E0B9E3C1203196D82 /* Nimble-Snapshots.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1649,91 +1641,95 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 3F284B1CE578A4FCEC896CA9DB71650C /* Debug */ = { + 5FD6E6BA620BF40028DCCA7D5F82FB85 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78892FCCE4EBA98513129E58D97806CD /* Nimble.debug.xcconfig */; + baseConfigurationReference = F00926DD5E0F586D0100B17ABCE310C4 /* Pods-Bootstrap.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_MODULE_NAME = Nimble; - PRODUCT_NAME = Nimble; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 53C89ABED0A39D57F2774AB62F296886 /* Debug */ = { + 61517DF9FAAD7DCFC4F9827A6ACBD47D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DCE62E8BE9D10710A79ADFFB184A592E /* Quick.debug.xcconfig */; + baseConfigurationReference = A42F8571A8475229F8B04F1585B8B22C /* Nimble-Snapshots.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 5FD6E6BA620BF40028DCCA7D5F82FB85 /* Debug */ = { + 63CB2E8C64780D7A6ACB6694BD0F2740 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F00926DD5E0F586D0100B17ABCE310C4 /* Pods-Bootstrap.debug.xcconfig */; + baseConfigurationReference = 3392190D52780F3889B1029503BA9238 /* iOSSnapshotTestCase.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1744,24 +1740,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Bootstrap/Pods-Bootstrap.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; + PRODUCT_MODULE_NAME = FBSnapshotTestCase; + PRODUCT_NAME = FBSnapshotTestCase; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.4; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; 903A0004D3E6651EFD5D2E16214D101B /* Release */ = { isa = XCBuildConfiguration; @@ -1825,38 +1821,6 @@ }; name = Release; }; - A173EF12D4286317B70E254D729DF4FB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B9604976E3FD8E0E0B9E3C1203196D82 /* Nimble-Snapshots.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; B0F23C96EA74EE085F0B06D056A226E1 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = CBB514670276FA24CBE3E7B475CA1EBB /* Pods-Bootstrap-BootstrapTests.release.xcconfig */; @@ -1989,6 +1953,38 @@ }; name = Debug; }; + E736DCF4098491DB5230A5DB3750E75A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 22BFE6F7F0AF96B64606F2A1F055909F /* iOSSnapshotTestCase.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; + PRODUCT_MODULE_NAME = FBSnapshotTestCase; + PRODUCT_NAME = FBSnapshotTestCase; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.4; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; F65E2FC454656C0B492CE8F6393A0489 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 55CACCCE1AFDAA4C029A6442BFAC12EF /* Pods-Bootstrap-BootstrapTests.debug.xcconfig */; @@ -2058,6 +2054,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 06CD905D294F023E066C4735ED2F705F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E736DCF4098491DB5230A5DB3750E75A /* Debug */, + 63CB2E8C64780D7A6ACB6694BD0F2740 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 1F7203C70F490AB4AB7E3DA0D3EB5CED /* Build configuration list for PBXNativeTarget "Pods-Bootstrap-BootstrapTests" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -2085,20 +2090,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5702C2EECD5BFEC38FF692F9EACA552A /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FC9186449D02E3C7974F864D277742D /* Debug */, - 1F2444ACAFB2CC412298D566C1B7F2F5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { + C74A6CFF67B2CBA38975993E0F689356 /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { isa = XCConfigurationList; buildConfigurations = ( - A173EF12D4286317B70E254D729DF4FB /* Debug */, - 0326C62AF5B343BC61E333185FA397E5 /* Release */, + 5C7CA642E8B50320CB25D0A4EFBBEE2B /* Debug */, + 61517DF9FAAD7DCFC4F9827A6ACBD47D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Bootstrap/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-umbrella.h b/Bootstrap/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-umbrella.h index 51914883..768b1131 100644 --- a/Bootstrap/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-umbrella.h +++ b/Bootstrap/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-umbrella.h @@ -12,7 +12,6 @@ #import "Nimble_Snapshots.h" #import "XCTestObservationCenter+CurrentTestCaseTracker.h" -#import "NBSMockedApplication.h" FOUNDATION_EXPORT double Nimble_SnapshotsVersionNumber; FOUNDATION_EXPORT const unsigned char Nimble_SnapshotsVersionString[]; diff --git a/Nimble_Snapshots.xcodeproj/project.pbxproj b/Nimble_Snapshots.xcodeproj/project.pbxproj index 1d768cb1..7c59d8f5 100644 --- a/Nimble_Snapshots.xcodeproj/project.pbxproj +++ b/Nimble_Snapshots.xcodeproj/project.pbxproj @@ -15,9 +15,8 @@ D47CB5FA1EC9973C00D5588D /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D47CB5F81EC9973C00D5588D /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; D4F7D47E1ED764CD00B4D2FE /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F7D4781ED764CD00B4D2FE /* DynamicSizeSnapshot.swift */; }; D4F7D47F1ED764CD00B4D2FE /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F7D47A1ED764CD00B4D2FE /* HaveValidDynamicTypeSnapshot.swift */; }; - D4F7D4801ED764CD00B4D2FE /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = D4F7D47B1ED764CD00B4D2FE /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D4F7D4811ED764CD00B4D2FE /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = D4F7D47C1ED764CD00B4D2FE /* NBSMockedApplication.m */; }; D4F7D4821ED764CD00B4D2FE /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F7D47D1ED764CD00B4D2FE /* PrettyDynamicTypeSyntax.swift */; }; + DD83832926E555BC0040266F /* NBSMockedApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD83832826E555BC0040266F /* NBSMockedApplication.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -35,9 +34,8 @@ D47CB5F81EC9973C00D5588D /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; D4F7D4781ED764CD00B4D2FE /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DynamicSizeSnapshot.swift; sourceTree = ""; }; D4F7D47A1ED764CD00B4D2FE /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; - D4F7D47B1ED764CD00B4D2FE /* NBSMockedApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBSMockedApplication.h; sourceTree = ""; }; - D4F7D47C1ED764CD00B4D2FE /* NBSMockedApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBSMockedApplication.m; sourceTree = ""; }; D4F7D47D1ED764CD00B4D2FE /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; + DD83832826E555BC0040266F /* NBSMockedApplication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NBSMockedApplication.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -98,9 +96,8 @@ D4F7D4791ED764CD00B4D2FE /* DynamicType */ = { isa = PBXGroup; children = ( + DD83832826E555BC0040266F /* NBSMockedApplication.swift */, D4F7D47A1ED764CD00B4D2FE /* HaveValidDynamicTypeSnapshot.swift */, - D4F7D47B1ED764CD00B4D2FE /* NBSMockedApplication.h */, - D4F7D47C1ED764CD00B4D2FE /* NBSMockedApplication.m */, D4F7D47D1ED764CD00B4D2FE /* PrettyDynamicTypeSyntax.swift */, ); path = DynamicType; @@ -114,7 +111,6 @@ buildActionMask = 2147483647; files = ( D47CB5F91EC9973C00D5588D /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, - D4F7D4801ED764CD00B4D2FE /* NBSMockedApplication.h in Headers */, 095B47711D4773F000880922 /* Nimble_Snapshots.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -207,13 +203,13 @@ buildActionMask = 2147483647; files = ( 095B47911D47794300880922 /* PrettySyntax.swift in Sources */, - D4F7D4811ED764CD00B4D2FE /* NBSMockedApplication.m in Sources */, D47CB5FA1EC9973C00D5588D /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, D4F7D47F1ED764CD00B4D2FE /* HaveValidDynamicTypeSnapshot.swift in Sources */, 095B478F1D47794300880922 /* HaveValidSnapshot.swift in Sources */, 095B47901D47794300880922 /* CurrentTestCaseTracker.swift in Sources */, D4F7D4821ED764CD00B4D2FE /* PrettyDynamicTypeSyntax.swift in Sources */, D4F7D47E1ED764CD00B4D2FE /* DynamicSizeSnapshot.swift in Sources */, + DD83832926E555BC0040266F /* NBSMockedApplication.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift b/Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift index 8afbe9c9..d910d810 100644 --- a/Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift +++ b/Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift @@ -203,11 +203,13 @@ func performDynamicSizeSnapshotTest(_ name: String?, resizer.resize(view: view, for: size) + let filename = "\(actualExpression.location.file)" + return FBSnapshotTest.compareSnapshot(instance, isDeviceAgnostic: isDeviceAgnostic, usesDrawRect: usesDrawRect, snapshot: finalSnapshotName, record: isRecord, referenceDirectory: referenceImageDirectory, tolerance: tolerance, perPixelTolerance: pixelTolerance, - filename: actualExpression.location.file, identifier: nil, + filename: filename, identifier: nil, shouldIgnoreScale: shouldIgnoreScale) } diff --git a/Nimble_Snapshots/DynamicType/NBSMockedApplication.h b/Nimble_Snapshots/DynamicType/NBSMockedApplication.h deleted file mode 100644 index 8ab0b7f5..00000000 --- a/Nimble_Snapshots/DynamicType/NBSMockedApplication.h +++ /dev/null @@ -1,13 +0,0 @@ -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NBSMockedApplication : NSObject - -- (void)mockPreferredContentSizeCategory:(UIContentSizeCategory)category; -- (void)stopMockingPreferredContentSizeCategory; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Nimble_Snapshots/DynamicType/NBSMockedApplication.m b/Nimble_Snapshots/DynamicType/NBSMockedApplication.m deleted file mode 100644 index 2a1d66c6..00000000 --- a/Nimble_Snapshots/DynamicType/NBSMockedApplication.m +++ /dev/null @@ -1,160 +0,0 @@ -#import "NBSMockedApplication.h" -#import - -@interface NBSMockedApplication () - -@property (nonatomic) BOOL isSwizzled; - -@end - -@interface UIFont (Swizzling) - -+ (void)nbs_swizzle; - -@end - -@interface UIApplication (Swizzling) - -+ (void)nbs_swizzle; - -@property (nonatomic) UIContentSizeCategory nbs_preferredContentSizeCategory; - -@end - -@interface UITraitCollection (Swizzling) - -+ (void)nbs_swizzle; - -@end - -@implementation NBSMockedApplication - -/* On iOS 9, +[UIFont preferredFontForTextStyle:] uses -[UIApplication preferredContentSizeCategory] - to get the content size category. However, this changed on iOS 10. While I haven't found what UIFont uses to get - the current category, swizzling preferredFontForTextStyle: to use +[UIFont preferredFontForTextStyle: compatibleWithTraitCollection:] - (only available on iOS >= 10), passing an UITraitCollection with the desired contentSizeCategory. - */ - -- (void)mockPreferredContentSizeCategory:(UIContentSizeCategory)category { - UIApplication.sharedApplication.nbs_preferredContentSizeCategory = category; - - if (!self.isSwizzled) { - [UIApplication nbs_swizzle]; - [UIFont nbs_swizzle]; - [UITraitCollection nbs_swizzle]; - self.isSwizzled = YES; - } - - [[NSNotificationCenter defaultCenter] postNotificationName:UIContentSizeCategoryDidChangeNotification - object:[UIApplication sharedApplication] - userInfo:@{UIContentSizeCategoryNewValueKey: category}]; -} - -- (void)stopMockingPreferredContentSizeCategory { - if (self.isSwizzled) { - [UIApplication nbs_swizzle]; - [UIFont nbs_swizzle]; - [UITraitCollection nbs_swizzle]; - self.isSwizzled = NO; - } -} - -- (void)dealloc { - [self stopMockingPreferredContentSizeCategory]; -} - -@end - -@implementation UIFont (Swizzling) - -+ (UIFont *)nbs_preferredFontForTextStyle:(UIFontTextStyle)style { - UIContentSizeCategory category = UIApplication.sharedApplication.preferredContentSizeCategory; - if (@available(iOS 10.0, tvOS 10.0, *)) { - UITraitCollection *categoryTrait = [UITraitCollection traitCollectionWithPreferredContentSizeCategory:category]; - return [UIFont preferredFontForTextStyle:style compatibleWithTraitCollection:categoryTrait]; - } else { - return [UIFont preferredFontForTextStyle:style]; - } -} - -+ (void)nbs_swizzle { - if (![UITraitCollection instancesRespondToSelector:@selector(preferredContentSizeCategory)]) { - return; - } - - SEL selector = @selector(preferredFontForTextStyle:); - SEL replacedSelector = @selector(nbs_preferredFontForTextStyle:); - - Method originalMethod = class_getClassMethod(self, selector); - Method extendedMethod = class_getClassMethod(self, replacedSelector); - method_exchangeImplementations(originalMethod, extendedMethod); -} - -@end - -@implementation UIApplication (Swizzling) - -- (UIContentSizeCategory)nbs_preferredContentSizeCategory { - return objc_getAssociatedObject(self, @selector(nbs_preferredContentSizeCategory)); -} - -- (void)setNbs_preferredContentSizeCategory:(UIContentSizeCategory)category { - objc_setAssociatedObject(self, @selector(nbs_preferredContentSizeCategory), - category, OBJC_ASSOCIATION_COPY_NONATOMIC); -} - -+ (void)nbs_swizzle { - SEL selector = @selector(preferredContentSizeCategory); - SEL replacedSelector = @selector(nbs_preferredContentSizeCategory); - - Method originalMethod = class_getInstanceMethod(self, selector); - Method extendedMethod = class_getInstanceMethod(self, replacedSelector); - method_exchangeImplementations(originalMethod, extendedMethod); -} - -@end - -@implementation UITraitCollection (Swizzling) - -- (UIContentSizeCategory)nbs_preferredContentSizeCategory { - return UIApplication.sharedApplication.preferredContentSizeCategory; -} - -- (BOOL)nbs__changedContentSizeCategoryFromTraitCollection:(id)arg { - return YES; -} - -+ (void)nbs_swizzle { - [self nbs_swizzlePreferredContentSizeCategory]; - [self nbs_swizzleChangedContentSizeCategoryFromTraitCollection]; -} - -+ (void)nbs_swizzlePreferredContentSizeCategory { - SEL selector = @selector(preferredContentSizeCategory); - - if (![self instancesRespondToSelector:selector]) { - return; - } - - SEL replacedSelector = @selector(nbs_preferredContentSizeCategory); - - Method originalMethod = class_getInstanceMethod(self, selector); - Method extendedMethod = class_getInstanceMethod(self, replacedSelector); - method_exchangeImplementations(originalMethod, extendedMethod); -} - -+ (void)nbs_swizzleChangedContentSizeCategoryFromTraitCollection { - SEL selector = sel_registerName("_changedContentSizeCategoryFromTraitCollection:"); - - if (![self instancesRespondToSelector:selector]) { - return; - } - - SEL replacedSelector = @selector(nbs__changedContentSizeCategoryFromTraitCollection:); - - Method originalMethod = class_getInstanceMethod(self, selector); - Method extendedMethod = class_getInstanceMethod(self, replacedSelector); - method_exchangeImplementations(originalMethod, extendedMethod); -} - -@end diff --git a/Nimble_Snapshots/DynamicType/NBSMockedApplication.swift b/Nimble_Snapshots/DynamicType/NBSMockedApplication.swift new file mode 100644 index 00000000..a059d1de --- /dev/null +++ b/Nimble_Snapshots/DynamicType/NBSMockedApplication.swift @@ -0,0 +1,155 @@ +import Foundation +import UIKit + +public class NBSMockedApplication { + + private var isSwizzled: Bool = false + + public init() {} + + deinit { + stopMockingPreferredContentSizeCategory() + } + // swiftlint:disable line_length + /* On iOS 9, UIFont.preferredFont(forTextStyle:) uses UIApplication.shared.preferredContentSizeCategory + to get the content size category. However, this changed on iOS 10. While I haven't found what UIFont uses to get + the current category, swizzling preferredFontForTextStyle: to use UIFont.preferredFont(forTextStyle:compatibleWith:) + (only available on iOS >= 10), passing an UITraitCollection with the desired contentSizeCategory. + */ + // swiftlint:enable line_length + public func mockPreferredContentSizeCategory(_ category: UIContentSizeCategory) { + + UIApplication.shared.nbs_preferredContentSizeCategory = category + + if !isSwizzled { + UIApplication.nbs_swizzle() + UIFont.nbs_swizzle() + UITraitCollection.nbs_swizzle() + isSwizzled = true + } + NotificationCenter.default.post(name: UIContentSizeCategory.didChangeNotification, + object: UIApplication.shared, + userInfo: [UIContentSizeCategory.newValueUserInfoKey: category]) + } + + public func stopMockingPreferredContentSizeCategory() { + if isSwizzled { + UIApplication.nbs_swizzle() + UIFont.nbs_swizzle() + UITraitCollection.nbs_swizzle() + isSwizzled = false + } + } +} + +extension UIFont { + + static func nbs_swizzle() { + if !UITraitCollection.instancesRespond(to: #selector(getter: UIApplication.preferredContentSizeCategory)) { + return + } + + let selector = #selector(UIFont.preferredFont(forTextStyle:)) + let replacedSelector = #selector(nbs_preferredFont(for:)) + + let originalMethod = class_getClassMethod(self, selector) + let extendedMethod = class_getClassMethod(self, replacedSelector) + if let originalMethod = originalMethod, let extendedMethod = extendedMethod { + method_exchangeImplementations(originalMethod, extendedMethod) + } + } + + @objc + static func nbs_preferredFont(for style: UIFont.TextStyle) -> UIFont? { + let category = UIApplication.shared.preferredContentSizeCategory + + if #available(iOS 10.0, tvOS 10.0, *) { + let categoryTrait = UITraitCollection(preferredContentSizeCategory: category) + return UIFont.preferredFont(forTextStyle: style, compatibleWith: categoryTrait) + } + return UIFont.preferredFont(forTextStyle: style) + } +} + +extension UIApplication { + + enum AssociatedKeys { + static var contentSizeCategory: UInt8 = 0 + } + + @objc var nbs_preferredContentSizeCategory: UIContentSizeCategory? { + get { + return objc_getAssociatedObject(self, + &AssociatedKeys.contentSizeCategory) as? UIContentSizeCategory + } + set { + objc_setAssociatedObject(self, + &AssociatedKeys.contentSizeCategory, + newValue, + .OBJC_ASSOCIATION_COPY_NONATOMIC) + } + } + + static func nbs_swizzle() { + let selector = #selector(getter: UIApplication.preferredContentSizeCategory) + let replacedSelector = #selector(getter: self.nbs_preferredContentSizeCategory) + + let originalMethod = class_getInstanceMethod(self, selector) + let extendedMethod = class_getInstanceMethod(self, replacedSelector) + if let originalMethod = originalMethod, let extendedMethod = extendedMethod { + method_exchangeImplementations(originalMethod, extendedMethod) + } + } +} + +extension UITraitCollection { + + @objc + func nbs_preferredContentSizeCategory() -> UIContentSizeCategory { + return UIApplication.shared.preferredContentSizeCategory + } + + @objc + func nbs__changedContentSizeCategory(fromTraitCollection arg: Any?) -> Bool { + return true + } + + static func nbs_swizzlePreferredContentSizeCategory() { + let selector = #selector(getter: UIApplication.preferredContentSizeCategory) + + if !self.instancesRespond(to: selector) { + return + } + + let replacedSelector = #selector(getter: UIApplication.nbs_preferredContentSizeCategory) + + let originalMethod = class_getInstanceMethod(self, selector) + let extendedMethod = class_getInstanceMethod(self, replacedSelector) + + if let originalMethod = originalMethod, let extendedMethod = extendedMethod { + method_exchangeImplementations(originalMethod, extendedMethod) + } + } + + static func nbs_swizzleChangedContentSizeCategoryFromTraitCollection() { + let selector = sel_registerName("_changedContentSizeCategoryFromTraitCollection:") + + if !self.instancesRespond(to: selector) { + return + } + + let replacedSelector = #selector(nbs__changedContentSizeCategory(fromTraitCollection:)) + + let originalMethod = class_getInstanceMethod(self, selector) + let extendedMethod = class_getInstanceMethod(self, replacedSelector) + + if let originalMethod = originalMethod, let extendedMethod = extendedMethod { + method_exchangeImplementations(originalMethod, extendedMethod) + } + } + + static func nbs_swizzle() { + nbs_swizzlePreferredContentSizeCategory() + nbs_swizzleChangedContentSizeCategoryFromTraitCollection() + } +} diff --git a/Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift b/Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift index 650ec33e..6657e854 100644 --- a/Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift +++ b/Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift @@ -1,4 +1,5 @@ import Nimble +import UIKit // MARK: - Nicer syntax using == operator diff --git a/Nimble_Snapshots/HaveValidSnapshot.swift b/Nimble_Snapshots/HaveValidSnapshot.swift index 0e7d32db..fc823eb5 100644 --- a/Nimble_Snapshots/HaveValidSnapshot.swift +++ b/Nimble_Snapshots/HaveValidSnapshot.swift @@ -124,7 +124,7 @@ public func recordAllSnapshots() { switchChecksWithRecords = true } -func getDefaultReferenceDirectory(_ sourceFileName: String) -> String { +func getDefaultReferenceDirectory(_ sourceFileName: FileString) -> String { if let globalReference = FBSnapshotTest.sharedInstance.referenceImagesDirectory { return globalReference } @@ -137,7 +137,8 @@ func getDefaultReferenceDirectory(_ sourceFileName: String) -> String { // then append "/ReferenceImages" and use that. // Grab the file's path - let pathComponents = (sourceFileName as NSString).pathComponents as NSArray + let fileName = NSString(string: "\(sourceFileName)") + let pathComponents = fileName.pathComponents as NSArray // Find the directory in the path that ends with a test suffix. let testPath = pathComponents.first { component -> Bool in @@ -211,12 +212,14 @@ private func performSnapshotTest(_ name: String?, let snapshotName = sanitizedTestName(name) let tolerance = tolerance ?? getTolerance() let pixelTolerance = pixelTolerance ?? getPixelTolerance() + let filename = "\(actualExpression.location.file)" let result = FBSnapshotTest.compareSnapshot(instance, isDeviceAgnostic: isDeviceAgnostic, usesDrawRect: usesDrawRect, snapshot: snapshotName, record: false, referenceDirectory: referenceImageDirectory, tolerance: tolerance, perPixelTolerance: pixelTolerance, - filename: actualExpression.location.file, identifier: identifier, shouldIgnoreScale: shouldIgnoreScale) + filename: filename, identifier: identifier, + shouldIgnoreScale: shouldIgnoreScale) return PredicateResult(status: PredicateStatus(bool: result), message: .fail("expected a matching snapshot in \(snapshotName)")) @@ -235,6 +238,7 @@ private func recordSnapshot(_ name: String?, let snapshotName = sanitizedTestName(name) let tolerance = getTolerance() let pixelTolerance = getPixelTolerance() + let filename = "\(actualExpression.location.file)" var message: String = "" if FBSnapshotTest.compareSnapshot(instance, @@ -245,7 +249,7 @@ private func recordSnapshot(_ name: String?, referenceDirectory: referenceImageDirectory, tolerance: tolerance, perPixelTolerance: pixelTolerance, - filename: actualExpression.location.file, + filename: filename, identifier: identifier, shouldIgnoreScale: shouldIgnoreScale) { let name = name ?? snapshotName diff --git a/Nimble_Snapshots/Nimble_Snapshots.h b/Nimble_Snapshots/Nimble_Snapshots.h index 20579aca..4918a058 100644 --- a/Nimble_Snapshots/Nimble_Snapshots.h +++ b/Nimble_Snapshots/Nimble_Snapshots.h @@ -7,5 +7,3 @@ FOUNDATION_EXPORT double Nimble_SnapshotsVersionNumber; FOUNDATION_EXPORT const unsigned char Nimble_SnapshotsVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import - -#import "NBSMockedApplication.h" diff --git a/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m b/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m index 481fc1be..4f43924f 100644 --- a/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m +++ b/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m @@ -1,6 +1,8 @@ #import "XCTestObservationCenter+CurrentTestCaseTracker.h" #if __has_include("Nimble_Snapshots-Swift.h") #import "Nimble_Snapshots-Swift.h" +#elif SWIFT_PACKAGE +@import Nimble_Snapshots; #else #import #endif diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 00000000..ecd6cb4a --- /dev/null +++ b/Package.resolved @@ -0,0 +1,43 @@ +{ + "object": { + "pins": [ + { + "package": "CwlCatchException", + "repositoryURL": "https://github.com/mattgallagher/CwlCatchException.git", + "state": { + "branch": null, + "revision": "682841464136f8c66e04afe5dbd01ab51a3a56f2", + "version": "2.1.0" + } + }, + { + "package": "CwlPreconditionTesting", + "repositoryURL": "https://github.com/mattgallagher/CwlPreconditionTesting.git", + "state": { + "branch": null, + "revision": "0630439888c94657a235ffcd5977d6047ef3c87b", + "version": "2.0.1" + } + }, + { + "package": "FBSnapshotTestCase", + "repositoryURL": "https://github.com/uber/ios-snapshot-test-case.git", + "state": { + "branch": null, + "revision": "6743a701c996d8aa249e1acfbcb4fa7af4365ea6", + "version": "7.0.0" + } + }, + { + "package": "Nimble", + "repositoryURL": "https://github.com/Quick/Nimble.git", + "state": { + "branch": null, + "revision": "c93f16c25af5770f0d3e6af27c9634640946b068", + "version": "9.2.1" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift index e5e5969f..795f4aed 100644 --- a/Package.swift +++ b/Package.swift @@ -3,55 +3,54 @@ import PackageDescription +// swiftlint:disable:next prefixed_toplevel_constant let package = Package( name: "Nimble-Snapshots", platforms: [.iOS(.v10), .tvOS(.v10)], products: [ .library( name: "Nimble-Snapshots", - targets: ["NimbleSnapshotsSwift", - "NimbleSnapshotsObjc"]), + targets: ["NimbleSnapshotsObjc"]) ], dependencies: [ - .package(url: "https://github.com/uber/ios-snapshot-test-case.git", .upToNextMajor(from: "7.0.0")), - .package(url: "https://github.com/Quick/Nimble.git", .upToNextMajor(from: "9.0.0")) + .package(name: "FBSnapshotTestCase", + url: "https://github.com/uber/ios-snapshot-test-case.git", + .upToNextMajor(from: "7.0.0")), + .package(url: "https://github.com/Quick/Nimble.git", + .upToNextMajor(from: "9.0.0")) ], targets: [ .target( - name: "NimbleSnapshotsSwift", - dependencies: ["NimbleSnapshotsObjc"], + name: "Nimble-Snapshots", + dependencies: ["FBSnapshotTestCase", + "Nimble"], path: "Nimble_Snapshots", - exclude: ["Nimble_Snapshots.h", - "XCTestObservationCenter+CurrentTestCaseTracker.h", + exclude: ["XCTestObservationCenter+CurrentTestCaseTracker.h", "XCTestObservationCenter+CurrentTestCaseTracker.m", - "DynamicType/NBSMockedApplication.h", - "DynamicType/NBSMockedApplication.m", "Info.plist", "Nimble_Snapshots.xcconfig"], sources: ["CurrentTestCaseTracker.swift", "HaveValidSnapshot.swift", "PrettySyntax.swift", - "DynamicSize/DynamicSizeSnapshot.swift", - "DynamicType/HaveValidDynamicTypeSnapshot.swift", - "DynamicType/PrettyDynamicTypeSyntax.swift"] + "DynamicSize", + "DynamicType"] ), .target( name: "NimbleSnapshotsObjc", + dependencies: [ + "Nimble-Snapshots" + ], path: "Nimble_Snapshots", - exclude: ["Nimble_Snapshots.h", - "CurrentTestCaseTracker.swift", + exclude: ["CurrentTestCaseTracker.swift", "HaveValidSnapshot.swift", "PrettySyntax.swift", - "DynamicSize/DynamicSizeSnapshot.swift", - "DynamicType/HaveValidDynamicTypeSnapshot.swift", - "DynamicType/PrettyDynamicTypeSyntax.swift", + "DynamicSize", + "DynamicType", "Info.plist", "Nimble_Snapshots.xcconfig"], sources: ["XCTestObservationCenter+CurrentTestCaseTracker.h", - "XCTestObservationCenter+CurrentTestCaseTracker.m", - "DynamicType/NBSMockedApplication.h", - "DynamicType/NBSMockedApplication.m"] - ), + "XCTestObservationCenter+CurrentTestCaseTracker.m"] + ) ], - swiftLanguageVersions: [.v5] + swiftLanguageVersions: [.v4_2, .v5] )