mirror of
https://github.com/fxm90/GradientLoadingBar.git
synced 2026-06-16 12:24:31 +00:00
⬆️ :: Update dev-dependencies
This commit is contained in:
+1
-1
@@ -18,7 +18,7 @@ target 'GradientLoadingBar_Example' do
|
||||
inherit! :search_paths
|
||||
|
||||
# Pods for snapshot testing.
|
||||
pod 'SnapshotTesting', '~> 1.6'
|
||||
pod 'SnapshotTesting', '~> 1.7', :inhibit_warnings => true
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
|
||||
@@ -2,13 +2,13 @@ PODS:
|
||||
- GradientLoadingBar (2.1.0):
|
||||
- LightweightObservable (~> 2.1)
|
||||
- LightweightObservable (2.1.1)
|
||||
- SnapshotTesting (1.7.2)
|
||||
- SwiftFormat/CLI (0.44.9)
|
||||
- SnapshotTesting (1.8.1)
|
||||
- SwiftFormat/CLI (0.44.17)
|
||||
- SwiftLint (0.39.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- GradientLoadingBar (from `../`)
|
||||
- SnapshotTesting (~> 1.6)
|
||||
- SnapshotTesting (~> 1.7)
|
||||
- SwiftFormat/CLI (~> 0.40)
|
||||
- SwiftLint (~> 0.36)
|
||||
|
||||
@@ -26,10 +26,10 @@ EXTERNAL SOURCES:
|
||||
SPEC CHECKSUMS:
|
||||
GradientLoadingBar: 9992888de03a77c1e9364c087aefa1d9c3860ef7
|
||||
LightweightObservable: 52abe2a01c8273921b1f66cd66526eb3328ca35a
|
||||
SnapshotTesting: 8caa6661fea7c8019d5b46de77c16bab99c36c5c
|
||||
SwiftFormat: e415b539c50e7a956a44b023544c9846c0c037d7
|
||||
SnapshotTesting: 0bf562bd74d3e9d053cd8f1123bd7b8913304df4
|
||||
SwiftFormat: 3b5caa6389b2b9adbc00e133b3ccc8c6e687a6a4
|
||||
SwiftLint: 22ccbbe3b8008684be5955693bab135e0ed6a447
|
||||
|
||||
PODFILE CHECKSUM: f56a08d884831d712155be32578b7364270d0af0
|
||||
PODFILE CHECKSUM: b55c1a12e9b2403a48a53c11f3f8659e36a20449
|
||||
|
||||
COCOAPODS: 1.9.3
|
||||
|
||||
Generated
+6
-6
@@ -2,13 +2,13 @@ PODS:
|
||||
- GradientLoadingBar (2.1.0):
|
||||
- LightweightObservable (~> 2.1)
|
||||
- LightweightObservable (2.1.1)
|
||||
- SnapshotTesting (1.7.2)
|
||||
- SwiftFormat/CLI (0.44.9)
|
||||
- SnapshotTesting (1.8.1)
|
||||
- SwiftFormat/CLI (0.44.17)
|
||||
- SwiftLint (0.39.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- GradientLoadingBar (from `../`)
|
||||
- SnapshotTesting (~> 1.6)
|
||||
- SnapshotTesting (~> 1.7)
|
||||
- SwiftFormat/CLI (~> 0.40)
|
||||
- SwiftLint (~> 0.36)
|
||||
|
||||
@@ -26,10 +26,10 @@ EXTERNAL SOURCES:
|
||||
SPEC CHECKSUMS:
|
||||
GradientLoadingBar: 9992888de03a77c1e9364c087aefa1d9c3860ef7
|
||||
LightweightObservable: 52abe2a01c8273921b1f66cd66526eb3328ca35a
|
||||
SnapshotTesting: 8caa6661fea7c8019d5b46de77c16bab99c36c5c
|
||||
SwiftFormat: e415b539c50e7a956a44b023544c9846c0c037d7
|
||||
SnapshotTesting: 0bf562bd74d3e9d053cd8f1123bd7b8913304df4
|
||||
SwiftFormat: 3b5caa6389b2b9adbc00e133b3ccc8c6e687a6a4
|
||||
SwiftLint: 22ccbbe3b8008684be5955693bab135e0ed6a447
|
||||
|
||||
PODFILE CHECKSUM: f56a08d884831d712155be32578b7364270d0af0
|
||||
PODFILE CHECKSUM: b55c1a12e9b2403a48a53c11f3f8659e36a20449
|
||||
|
||||
COCOAPODS: 1.9.3
|
||||
|
||||
+359
-343
@@ -28,66 +28,70 @@
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
01757E29DF92738C1D5D0528F1EB4824 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1FD5A53165BF4293473D170AD9995E /* View.swift */; };
|
||||
0FB8760A1D5B307CF301AD647F301823 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648F93ECED9C2684CDB6A60E6BE8DEDF /* Disposable.swift */; };
|
||||
10A212D203E4E77F85BF70F9B14BAA19 /* LightweightObservable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CE49E78400E3A6E986194452C2A1611 /* LightweightObservable-dummy.m */; };
|
||||
11F2134521037184F745C9010217B501 /* Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C7044ABF6219E06138EBA038827408 /* Description.swift */; };
|
||||
14CC16A84D0558FF9DC6927E1BA82F02 /* Any.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7497F950FEA4E6B772B2F6042432723A /* Any.swift */; };
|
||||
02EEAFC471B5BFF3DA9CA724B77ADAD2 /* SpriteKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C2F50C5C54E7399F17909BE225B4138 /* SpriteKit.swift */; };
|
||||
07BCE427364C14A3924FA6E5821BDFE9 /* CALayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB9F808A784ECD647D041584F3BAA5CE /* CALayer.swift */; };
|
||||
0CA33262BEBA6D7236BAC24028199D0E /* CaseIterable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CF7FC13E714D014C72F1F9E6DE7D638 /* CaseIterable.swift */; };
|
||||
0FB8760A1D5B307CF301AD647F301823 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C79828C9BB99118F3A15AA46899BB2C /* Disposable.swift */; };
|
||||
10A212D203E4E77F85BF70F9B14BAA19 /* LightweightObservable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 263236C693550DBBEF6397B3FDA0D45E /* LightweightObservable-dummy.m */; };
|
||||
10B99D1C93DD69D92FE05AAC7CB287F8 /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16BF13A00E8108482D617C075B3D818E /* UIView.swift */; };
|
||||
10D5D6DB215978A01F67896D0FFF68A2 /* SnapshotTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19955C276F98759888D7BDA3A77853F6 /* SnapshotTestCase.swift */; };
|
||||
186A5E5FEDE8A21A9ED58AFC7FF9F447 /* GradientLoadingBar-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ED406C1723EE2AB785C72BF3A291751 /* GradientLoadingBar-dummy.m */; };
|
||||
18ED84EFAF015095FCCF61A8E494F325 /* AssertSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E46234BCB7A6CF5AE3ECC8C30C3786B /* AssertSnapshot.swift */; };
|
||||
1A1F20E176923FF03A0EAEA886703719 /* NSView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743840C93216AFDAE6E14647264F5538 /* NSView.swift */; };
|
||||
2371CFDF095282B1D6935C36C81E46FC /* UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4748F84A87672B2B8A2332EBFAB30E20 /* UIImage.swift */; };
|
||||
23B3D1B39D273F7B43BA45F255EDE5C5 /* CaseIterable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F5BFF05569BBDD6EF0224F0E21090A /* CaseIterable.swift */; };
|
||||
21E34ED04696645D47BC124C8457D643 /* SnapshotTesting-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C056D069A391AAB52B9DE80ACAC9A16A /* SnapshotTesting-dummy.m */; };
|
||||
23ED8630B019A004BC2A54C98AB1399C /* Pods-GradientLoadingBar_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8194C4CB9E683FC366F48513ED1B1A9A /* Pods-GradientLoadingBar_Example-dummy.m */; };
|
||||
29F37DB8A1899894CA87E8E8381E2C11 /* NSViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88FB982EE7911E38255A291A79DB742F /* NSViewController.swift */; };
|
||||
3042C7F54B8C405DC85737D720333314 /* Observable+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2D95A77154276FCFD49025721CF9191 /* Observable+Equatable.swift */; };
|
||||
33432CD4B8F83F0C678B5C67CAF13414 /* String+SpecialCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71B174D68683E03CEB909A118CABC01E /* String+SpecialCharacters.swift */; };
|
||||
2569FB9BC55B0028DB8A0217666BD384 /* UIBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C062ECECBEBFE0A98DCEB165BD9E3B7 /* UIBezierPath.swift */; };
|
||||
2617BFC93AAED6FFAC6C298D2F4D97AE /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA6C72CD77EA1E1E09526DAF3BF9031B /* UIViewController.swift */; };
|
||||
2D0C0DD04AA4F9C170A4FBF0D3FD9626 /* Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FF123D0A3E653F02DCEB06FFA07E753 /* Wait.swift */; };
|
||||
2DF2678C2AACDF82CB67532E7737AFA6 /* Diff.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7DE873CD81C2A6FE42262C00452A04 /* Diff.swift */; };
|
||||
3042C7F54B8C405DC85737D720333314 /* Observable+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490274B00B3D32108B7DE40C5ACA9AAC /* Observable+Equatable.swift */; };
|
||||
3995CE4B1EB94A759B5B4E8C4BEEFC67 /* GradientLoadingBar-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B57292CF383AEF209D4710AC1B19FF4 /* GradientLoadingBar-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
399CC742C4114C01FD1C883B9F6EC7D3 /* GradientActivityIndicatorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D25A3B900085A32A5C7D3F385452EF0 /* GradientActivityIndicatorViewModel.swift */; };
|
||||
3CB9028E156C3D9B3D83045793C3C39B /* NotchGradientLoadingBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F160F9FC6E13D4D1784FAAF102A897 /* NotchGradientLoadingBarController.swift */; };
|
||||
440314FEC8EC90F865D8D20910989A69 /* Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 485FFC9380094A5DB42D7366AEBF4780 /* Diffing.swift */; };
|
||||
45E08C558558663C5FD79ABFF093501C /* Observable+KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE3F100C4CDD54473EA2C6C753CE3F8 /* Observable+KeyPath.swift */; };
|
||||
40AAD537046D8467746A0306A7D7DF94 /* SceneKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9917FE3936F34E3EF7BC9DA0C3761B65 /* SceneKit.swift */; };
|
||||
45B49E668D4E0DF1D905F71246A30121 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEC5FCC695B6A6E608B8371AA56C0CA /* Async.swift */; };
|
||||
45E08C558558663C5FD79ABFF093501C /* Observable+KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62FE7DCB58464A147A5F3106011B6B3D /* Observable+KeyPath.swift */; };
|
||||
467861AB1D5B059E9FF3610407ECCED4 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F17E189033503650D8A495ADF1F369D /* Constants.swift */; };
|
||||
46B2A4686C72C29C24576FC6FF56A7BE /* AssertInlineSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC5FB89A60C9EF49D259A87FD0D200D3 /* AssertInlineSnapshot.swift */; };
|
||||
4B5A5EBA97A912894C10D040B5A1225D /* Pods-GradientLoadingBar_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 132C18988D60EF85736C043D43C19E57 /* Pods-GradientLoadingBar_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4CDC105622C39458E5795C079A7DA4ED /* Pods-GradientLoadingBar_SnapshotTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 172DF8516EF6D5757C3FBEF1C0CB52DC /* Pods-GradientLoadingBar_SnapshotTests-dummy.m */; };
|
||||
4E5AA162D02372A80FABE033AD6BFFE6 /* Diff.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0D466687F25CFEC98F95EC624033C2F /* Diff.swift */; };
|
||||
4F03BBCA0FCF5903B46F72BE0BADDF34 /* SceneKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = E508BF65994F167606FC9180BE8059FC /* SceneKit.swift */; };
|
||||
509FAAD85506B9E1BCCA50505B8C93DB /* SpriteKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A70E7C9947EB80BF9BB160DBD905E4D1 /* SpriteKit.swift */; };
|
||||
56B2D76BD27EAA69A1BED0113B7F9F51 /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B23DE3822DAC1D50D1BB94E49D51CAC1 /* UIView.swift */; };
|
||||
57244463125C60529B7391F9FA3052AD /* Snapshotting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0AC5F9D0359F62D9B6CFA7E28C270C /* Snapshotting.swift */; };
|
||||
5C646D4C61F7CDC27DBCBD7960C48BB4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
51D28EADB4924A8096EDCEFC3D74CAB8 /* Snapshotting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839E953D87FD49848D29CC63C8C5F825 /* Snapshotting.swift */; };
|
||||
56BC6C7B5E248296BAA214504F2AC607 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0965FCF94C6751E5F873995C0CC05032 /* XCTest.framework */; };
|
||||
56CD2FF07A0AFE121A7512FB49FCEDE7 /* Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1079CC494384561174A3C21ABA81E55 /* Diffing.swift */; };
|
||||
59B265CDC0345DA9D541A2D6A1A81361 /* Any.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9059C2290087AA23773A107EEAF2780C /* Any.swift */; };
|
||||
604C51928D4CFDAE15A6CAB6327B68D6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
6466CB6250CBD3F61D35E1132618C759 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0965FCF94C6751E5F873995C0CC05032 /* XCTest.framework */; };
|
||||
6658F9FE5EEFD579907F946DD9FDD8E3 /* URLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 655D196DB461A65E1D8D6C38F3ACF62D /* URLRequest.swift */; };
|
||||
67C39A754A360A5EFC7FE0037CECE5C3 /* CALayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAFAFBF669302034A4D6BEDD683F06D /* CALayer.swift */; };
|
||||
62C4188A8DB5CA43231DE8D64E72BD1D /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DAB11E00E3D63CC2A323A3CE988E73 /* View.swift */; };
|
||||
681130A53798D8143A2C972C3351D165 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
6A5C798F3DC6B29E72E741AC83C7203D /* URLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91D90321BBF367FE8F8B64CF43974858 /* URLRequest.swift */; };
|
||||
6AFC185192FD16011F63776037110EED /* SnapshotTesting-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C0357289574364DE36EC0534E47D210B /* SnapshotTesting-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
74463B44B8B2D754F999098ED76E55ED /* Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D91BC6888831D2E13620306E2CD9E9 /* Description.swift */; };
|
||||
757352462D522BDB0B228DE9880106ED /* Pods-GradientLoadingBar_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A9107CAA27BA0679345F24910903133 /* Pods-GradientLoadingBar_Tests-dummy.m */; };
|
||||
8003323F07F7A6F822902979CE092B88 /* Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = F952B84395F604678559569DA34F74D2 /* Wait.swift */; };
|
||||
84432746DEB076256002FB7BABDAAAA5 /* SnapshotTesting-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E503602B2F6C5B0D3DD0B08982C1E017 /* SnapshotTesting-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
8CD5CB3FDF05526DBF034B61F696BA93 /* PlistEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87FA564458DD7C259A55CC2F083CBF97 /* PlistEncoder.swift */; };
|
||||
8E1FBD13A74F689CFC06054841BFC596 /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5557B095A3BB320B3238CBA59402742 /* UIViewController.swift */; };
|
||||
7A910B1EE5D070CB301AC51C2E035C91 /* NSImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF2204C430A0BC52D7FCF4FFFD07515D /* NSImage.swift */; };
|
||||
7F496FC075C99F8B35BB6A2B2991BE4A /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0426AE1E75E69C5BDA20A5964A116F57 /* Data.swift */; };
|
||||
8A01A0DEFA212DCAA14250DF50293363 /* NSView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B25DC9DFF59BF10729E579A6798933 /* NSView.swift */; };
|
||||
952DF5160B7A5F339C603FCFBC7BA3ED /* AssertInlineSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA242BBF8BBEB7323622998228D907E /* AssertInlineSnapshot.swift */; };
|
||||
97D4B62D9EEEFE2B493AA25E7E1764A3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
9E0237BBCDF5E22C8C70CA299BA989B3 /* AssertSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD44150088F0B1519DDF518A23D5F74A /* AssertSnapshot.swift */; };
|
||||
A32DD5DF0D5C9A1DF6A45C34ABE16FB2 /* GradientActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 838FFB89D1674B1F662F419BA3E5EA91 /* GradientActivityIndicatorView.swift */; };
|
||||
A455E5B77A019CEAEEA0F9D26B1B74E6 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B6436CA49E05FD0F26235D5008843F3 /* Codable.swift */; };
|
||||
A46F1CB493251F84297943B5B60C8D5C /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4371A74F9A6D74628527A30E755EFF25 /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
AA6612CD34134596239652A299AC0F76 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9C3128EB6965EA592CD63B38170D57B /* Async.swift */; };
|
||||
AB5489F67B851092ABABCF65190015A0 /* LightweightObservable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D5B2A1C4D6360C6D91F1483048511530 /* LightweightObservable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
B04CA17471143BEDA50779BE9660BD2A /* SnapshotTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1224C54074A146D75B2762DEE7B60CE /* SnapshotTestCase.swift */; };
|
||||
A7911111D9E22FFCEB046C48BD26CD03 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5869027FA34D756BF5705CE123E78403 /* String.swift */; };
|
||||
AA8458701AD53DA38ECC607024FD4286 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04F8C07BB2BD290285C29C757B0C156 /* Codable.swift */; };
|
||||
AB5489F67B851092ABABCF65190015A0 /* LightweightObservable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BE38892FFE579C6B8915FCB274BDF6F /* LightweightObservable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
B1B3C3B19CBD78FB949FDAB120FAFA81 /* String+SpecialCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110FBB49DC08278A7EE52562088F5563 /* String+SpecialCharacters.swift */; };
|
||||
B2224D30919A1849CCB2F495EC1EC6CE /* PlistEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B6F42E17D889A7841E21B372D54662C /* PlistEncoder.swift */; };
|
||||
B35254B6E48761D71D1F0217E7361ABF /* GradientActivityIndicatorView+AnimateIsHidden.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CBA867972D9A24CB4A3459B60E3AF14 /* GradientActivityIndicatorView+AnimateIsHidden.swift */; };
|
||||
B4A0E7DE8263B28AC4D433D2AB0BD101 /* CGPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = E49466D561F51DB58D30D2DE137407F4 /* CGPath.swift */; };
|
||||
BC0737141F5186D65C436B7CABC5C0F7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
BDFAF00F9FE360EAFD864F290030A2D0 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABB33081F3543E93409B82653F5C8999 /* Data.swift */; };
|
||||
BE068F001E2344449F6E193DFB12B1D1 /* NSImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622DE03EE214A93E48D3A4CC05B88A2C /* NSImage.swift */; };
|
||||
C2B818BE2E57EF9A8CE51775FCB33C2B /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0DE2DCC80295626C430F2B47550ECE5 /* Internal.swift */; };
|
||||
BEDA3BD4A21DD52829573D6AB7E3887A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
C2E28779774BF76EBD7492257160E727 /* NSViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA67DBC6A3A9B1FAE0A77E1AF1D70C5D /* NSViewController.swift */; };
|
||||
C5B200336D2113D3C9081DF38FA71EFD /* NSBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87C182D91D03AEAFB62DEEDE3CEB9A13 /* NSBezierPath.swift */; };
|
||||
C903A253A697DCF3ABA3EE46B5DCD105 /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4834CAC48D838D6B238E27BF7BFB747F /* Internal.swift */; };
|
||||
CA1FEEEDF0E737D2B3BB0E90C749A3E5 /* GradientLoadingBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07D86CBFE6D514D79D74AB257CD5408 /* GradientLoadingBarController.swift */; };
|
||||
CF4330020B5DE2F6AD592D7B836396A0 /* LightweightObservable.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 834918404C77B6D44D53C01B3D12C581 /* LightweightObservable.framework */; };
|
||||
D56563764E24224FB95BC77EC18F7D9E /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE4FE8F00C724C9593C6DEFB4CE2286 /* String.swift */; };
|
||||
D6A43851802E3E81CF23D65CA9A81E4E /* SnapshotTesting-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D1B84171C66B510644D7EFFDC5B3E475 /* SnapshotTesting-dummy.m */; };
|
||||
DCB4C8B6FACCEA4F92EAD1DF41AFA20E /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79AF6D809DE93FF8CDFAEFD4AF8B2C76 /* Observable.swift */; };
|
||||
D5CF78CD0117EBB47C0F4CF5B69F021A /* XCTAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = E112B09F960A755C3152A1612E3AF37B /* XCTAttachment.swift */; };
|
||||
D858C353CC2F564E42446D4E6E360668 /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BFF42E97B209FD50665E080953499DA /* SwiftUIView.swift */; };
|
||||
DCB4C8B6FACCEA4F92EAD1DF41AFA20E /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ACED4FA1FA9DD8A07DB99BEFDAF743B /* Observable.swift */; };
|
||||
E04AD5B984CAB8F2421274F5366446E7 /* GradientLoadingBarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8224E37407CEAAEBC6A6BF5B09960E84 /* GradientLoadingBarViewModel.swift */; };
|
||||
E8945D07A466F2FA6A965D3AA13F41EF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */; };
|
||||
F56FA75EA015F922C46B949B40394B3E /* Pods-GradientLoadingBar_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A900E1CFF1D76CF61DDF7358F5C8863 /* Pods-GradientLoadingBar_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FDAD70506FFFD578C1327E64876A08E3 /* XCTAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6C45FD2B6DBF67E9CA08571D980F9C7 /* XCTAttachment.swift */; };
|
||||
F58CC71DED68C325B5EF5EAC30C8070F /* UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C947E6F38D8D0A3257589741B61C1E9 /* UIImage.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -150,110 +154,114 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0426AE1E75E69C5BDA20A5964A116F57 /* Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Data.swift; path = Sources/SnapshotTesting/Snapshotting/Data.swift; sourceTree = "<group>"; };
|
||||
08CF014A05CEBA3625CDE9DA9129B9A8 /* GradientLoadingBar-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GradientLoadingBar-prefix.pch"; sourceTree = "<group>"; };
|
||||
0965FCF94C6751E5F873995C0CC05032 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
0AC379D97F2A93184FF0C394113C0A62 /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = "<group>"; };
|
||||
0B57292CF383AEF209D4710AC1B19FF4 /* GradientLoadingBar-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GradientLoadingBar-umbrella.h"; sourceTree = "<group>"; };
|
||||
108AACC96F7DBC089B0840E09F19C698 /* Pods-GradientLoadingBar_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Example.release.xcconfig"; sourceTree = "<group>"; };
|
||||
110FBB49DC08278A7EE52562088F5563 /* String+SpecialCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SpecialCharacters.swift"; path = "Sources/SnapshotTesting/Common/String+SpecialCharacters.swift"; sourceTree = "<group>"; };
|
||||
132C18988D60EF85736C043D43C19E57 /* Pods-GradientLoadingBar_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_Tests-umbrella.h"; sourceTree = "<group>"; };
|
||||
13520AB8B3790CE3CEDCBBEEE1EF237A /* Pods_GradientLoadingBar_SnapshotTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_GradientLoadingBar_SnapshotTests.framework; path = "Pods-GradientLoadingBar_SnapshotTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1679A4CF92D4ADFB15F8200201EC3AE5 /* Pods-GradientLoadingBar_SnapshotTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GradientLoadingBar_SnapshotTests-frameworks.sh"; sourceTree = "<group>"; };
|
||||
16BF13A00E8108482D617C075B3D818E /* UIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIView.swift; path = Sources/SnapshotTesting/Snapshotting/UIView.swift; sourceTree = "<group>"; };
|
||||
1711FC18263D47D46851F0433A93F110 /* Pods_GradientLoadingBar_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_GradientLoadingBar_Tests.framework; path = "Pods-GradientLoadingBar_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
172DF8516EF6D5757C3FBEF1C0CB52DC /* Pods-GradientLoadingBar_SnapshotTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_SnapshotTests-dummy.m"; sourceTree = "<group>"; };
|
||||
19955C276F98759888D7BDA3A77853F6 /* SnapshotTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SnapshotTestCase.swift; path = Sources/SnapshotTesting/SnapshotTestCase.swift; sourceTree = "<group>"; };
|
||||
1A9107CAA27BA0679345F24910903133 /* Pods-GradientLoadingBar_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_Tests-dummy.m"; sourceTree = "<group>"; };
|
||||
1ACED4FA1FA9DD8A07DB99BEFDAF743B /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = LightweightObservable/Classes/Observable.swift; sourceTree = "<group>"; };
|
||||
1B664F0A7F5E59140F761C16069995E9 /* Pods-GradientLoadingBar_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Tests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
1B6F42E17D889A7841E21B372D54662C /* PlistEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlistEncoder.swift; path = Sources/SnapshotTesting/Common/PlistEncoder.swift; sourceTree = "<group>"; };
|
||||
1BE38892FFE579C6B8915FCB274BDF6F /* LightweightObservable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-umbrella.h"; sourceTree = "<group>"; };
|
||||
1CA5ADE67427DB590BC5414E8E4498BA /* Pods-GradientLoadingBar_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Tests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
1ED406C1723EE2AB785C72BF3A291751 /* GradientLoadingBar-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GradientLoadingBar-dummy.m"; sourceTree = "<group>"; };
|
||||
1FE4FE8F00C724C9593C6DEFB4CE2286 /* String.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = String.swift; path = Sources/SnapshotTesting/Snapshotting/String.swift; sourceTree = "<group>"; };
|
||||
219D91F90F2D4E48019FF8920700C17F /* Pods-GradientLoadingBar_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
2B6436CA49E05FD0F26235D5008843F3 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = Sources/SnapshotTesting/Snapshotting/Codable.swift; sourceTree = "<group>"; };
|
||||
263236C693550DBBEF6397B3FDA0D45E /* LightweightObservable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LightweightObservable-dummy.m"; sourceTree = "<group>"; };
|
||||
2CBA867972D9A24CB4A3459B60E3AF14 /* GradientActivityIndicatorView+AnimateIsHidden.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "GradientActivityIndicatorView+AnimateIsHidden.swift"; sourceTree = "<group>"; };
|
||||
2CF7FC13E714D014C72F1F9E6DE7D638 /* CaseIterable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaseIterable.swift; path = Sources/SnapshotTesting/Snapshotting/CaseIterable.swift; sourceTree = "<group>"; };
|
||||
2D246858B1E28690CC1921F1EC8328E1 /* Pods-GradientLoadingBar_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GradientLoadingBar_Example-frameworks.sh"; sourceTree = "<group>"; };
|
||||
2E16A843354D5BC8D4DA54D9AEFEAAB2 /* Pods-GradientLoadingBar_SnapshotTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_SnapshotTests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
393A2EB9C57F6740D90A63725B4539AB /* SnapshotTesting.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.release.xcconfig; sourceTree = "<group>"; };
|
||||
3A900E1CFF1D76CF61DDF7358F5C8863 /* Pods-GradientLoadingBar_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_Example-umbrella.h"; sourceTree = "<group>"; };
|
||||
3B644D77B6DA2AE767C93222955C0195 /* SnapshotTesting.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.release.xcconfig; sourceTree = "<group>"; };
|
||||
3C062ECECBEBFE0A98DCEB165BD9E3B7 /* UIBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/UIBezierPath.swift; sourceTree = "<group>"; };
|
||||
3C6A379C135C84644F189B8056CCBA04 /* Pods_GradientLoadingBar_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_GradientLoadingBar_Example.framework; path = "Pods-GradientLoadingBar_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3CE49E78400E3A6E986194452C2A1611 /* LightweightObservable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LightweightObservable-dummy.m"; sourceTree = "<group>"; };
|
||||
3C79828C9BB99118F3A15AA46899BB2C /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = LightweightObservable/Classes/Disposable.swift; sourceTree = "<group>"; };
|
||||
3D25A3B900085A32A5C7D3F385452EF0 /* GradientActivityIndicatorViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientActivityIndicatorViewModel.swift; sourceTree = "<group>"; };
|
||||
3FF123D0A3E653F02DCEB06FFA07E753 /* Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Wait.swift; path = Sources/SnapshotTesting/Extensions/Wait.swift; sourceTree = "<group>"; };
|
||||
42D87AB9459267458201EBFBB68848C1 /* readme.md */ = {isa = PBXFileReference; includeInIndex = 1; path = readme.md; sourceTree = "<group>"; };
|
||||
4371A74F9A6D74628527A30E755EFF25 /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_SnapshotTests-umbrella.h"; sourceTree = "<group>"; };
|
||||
4748F84A87672B2B8A2332EBFAB30E20 /* UIImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIImage.swift; path = Sources/SnapshotTesting/Snapshotting/UIImage.swift; sourceTree = "<group>"; };
|
||||
47AF808C977A1F54C41301EE10EFED69 /* SwiftFormat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.release.xcconfig; sourceTree = "<group>"; };
|
||||
485FFC9380094A5DB42D7366AEBF4780 /* Diffing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diffing.swift; path = Sources/SnapshotTesting/Diffing.swift; sourceTree = "<group>"; };
|
||||
51265E01B15BDF30B0C2CBDF6A151BC4 /* LightweightObservable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.debug.xcconfig; sourceTree = "<group>"; };
|
||||
5E0ED20F03F3062DB47BF2E306FF9049 /* LightweightObservable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LightweightObservable-Info.plist"; sourceTree = "<group>"; };
|
||||
622DE03EE214A93E48D3A4CC05B88A2C /* NSImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSImage.swift; path = Sources/SnapshotTesting/Snapshotting/NSImage.swift; sourceTree = "<group>"; };
|
||||
62B150B8D8FC0F8D9D80F21F33BA2B6B /* SnapshotTesting-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-prefix.pch"; sourceTree = "<group>"; };
|
||||
648F93ECED9C2684CDB6A60E6BE8DEDF /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = LightweightObservable/Classes/Disposable.swift; sourceTree = "<group>"; };
|
||||
4834CAC48D838D6B238E27BF7BFB747F /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SnapshotTesting/Common/Internal.swift; sourceTree = "<group>"; };
|
||||
490274B00B3D32108B7DE40C5ACA9AAC /* Observable+Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Equatable.swift"; path = "LightweightObservable/Classes/Extensions/Observable+Equatable.swift"; sourceTree = "<group>"; };
|
||||
5257A01502362763E1F6E250104CB1EA /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = "<group>"; };
|
||||
54DAB11E00E3D63CC2A323A3CE988E73 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = View.swift; path = Sources/SnapshotTesting/Common/View.swift; sourceTree = "<group>"; };
|
||||
5869027FA34D756BF5705CE123E78403 /* String.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = String.swift; path = Sources/SnapshotTesting/Snapshotting/String.swift; sourceTree = "<group>"; };
|
||||
5C2F50C5C54E7399F17909BE225B4138 /* SpriteKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SpriteKit.swift; path = Sources/SnapshotTesting/Snapshotting/SpriteKit.swift; sourceTree = "<group>"; };
|
||||
613007635DAC9F649E5D50030E081A62 /* SnapshotTesting.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapshotTesting.modulemap; sourceTree = "<group>"; };
|
||||
620E7B2310D43EF3013A90BE1D624B3D /* LightweightObservable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LightweightObservable.modulemap; sourceTree = "<group>"; };
|
||||
62FE7DCB58464A147A5F3106011B6B3D /* Observable+KeyPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+KeyPath.swift"; path = "LightweightObservable/Classes/Extensions/Observable+KeyPath.swift"; sourceTree = "<group>"; };
|
||||
652D9AA358DBDB2DBA1CFB02CCBA8DC4 /* Pods-GradientLoadingBar_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Tests-Info.plist"; sourceTree = "<group>"; };
|
||||
655D196DB461A65E1D8D6C38F3ACF62D /* URLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLRequest.swift; path = Sources/SnapshotTesting/Snapshotting/URLRequest.swift; sourceTree = "<group>"; };
|
||||
66C7044ABF6219E06138EBA038827408 /* Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Description.swift; path = Sources/SnapshotTesting/Snapshotting/Description.swift; sourceTree = "<group>"; };
|
||||
67873E92210DD4E777C49C6E8AEDC108 /* GradientLoadingBar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = GradientLoadingBar.framework; path = GradientLoadingBar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
69838A921E83418B945E72EB342809F5 /* Pods-GradientLoadingBar_SnapshotTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_SnapshotTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
6A0AC5F9D0359F62D9B6CFA7E28C270C /* Snapshotting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Snapshotting.swift; path = Sources/SnapshotTesting/Snapshotting.swift; sourceTree = "<group>"; };
|
||||
6BFF42E97B209FD50665E080953499DA /* SwiftUIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftUIView.swift; path = Sources/SnapshotTesting/Snapshotting/SwiftUIView.swift; sourceTree = "<group>"; };
|
||||
6CB3BE93AA36A67000795C17C2D94032 /* LightweightObservable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LightweightObservable-Info.plist"; sourceTree = "<group>"; };
|
||||
6FFACAC9C12AF6B7E1E6144C8EDE02A4 /* GradientLoadingBar-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GradientLoadingBar-Info.plist"; sourceTree = "<group>"; };
|
||||
71B174D68683E03CEB909A118CABC01E /* String+SpecialCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SpecialCharacters.swift"; path = "Sources/SnapshotTesting/Common/String+SpecialCharacters.swift"; sourceTree = "<group>"; };
|
||||
743840C93216AFDAE6E14647264F5538 /* NSView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSView.swift; path = Sources/SnapshotTesting/Snapshotting/NSView.swift; sourceTree = "<group>"; };
|
||||
7497F950FEA4E6B772B2F6042432723A /* Any.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Any.swift; path = Sources/SnapshotTesting/Snapshotting/Any.swift; sourceTree = "<group>"; };
|
||||
7019702436A62794D49920AA204E3FA8 /* SwiftFormat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.release.xcconfig; sourceTree = "<group>"; };
|
||||
75B25DC9DFF59BF10729E579A6798933 /* NSView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSView.swift; path = Sources/SnapshotTesting/Snapshotting/NSView.swift; sourceTree = "<group>"; };
|
||||
75F160F9FC6E13D4D1784FAAF102A897 /* NotchGradientLoadingBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotchGradientLoadingBarController.swift; path = GradientLoadingBar/Classes/NotchGradientLoadingBarController.swift; sourceTree = "<group>"; };
|
||||
77B5CE7191F5B0B041149F2190ECF5EA /* GradientLoadingBar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GradientLoadingBar.release.xcconfig; sourceTree = "<group>"; };
|
||||
79AF6D809DE93FF8CDFAEFD4AF8B2C76 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = LightweightObservable/Classes/Observable.swift; sourceTree = "<group>"; };
|
||||
7D3DDA4D26F734FE0934A65A9DF701DF /* LightweightObservable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LightweightObservable.modulemap; sourceTree = "<group>"; };
|
||||
8194C4CB9E683FC366F48513ED1B1A9A /* Pods-GradientLoadingBar_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_Example-dummy.m"; sourceTree = "<group>"; };
|
||||
8224E37407CEAAEBC6A6BF5B09960E84 /* GradientLoadingBarViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientLoadingBarViewModel.swift; sourceTree = "<group>"; };
|
||||
831F8084AF52F32E37D95A4C19E85D26 /* GradientLoadingBar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GradientLoadingBar.debug.xcconfig; sourceTree = "<group>"; };
|
||||
834918404C77B6D44D53C01B3D12C581 /* LightweightObservable.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LightweightObservable.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
838FFB89D1674B1F662F419BA3E5EA91 /* GradientActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientActivityIndicatorView.swift; sourceTree = "<group>"; };
|
||||
87FA564458DD7C259A55CC2F083CBF97 /* PlistEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlistEncoder.swift; path = Sources/SnapshotTesting/Common/PlistEncoder.swift; sourceTree = "<group>"; };
|
||||
88FB982EE7911E38255A291A79DB742F /* NSViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSViewController.swift; path = Sources/SnapshotTesting/Snapshotting/NSViewController.swift; sourceTree = "<group>"; };
|
||||
839E953D87FD49848D29CC63C8C5F825 /* Snapshotting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Snapshotting.swift; path = Sources/SnapshotTesting/Snapshotting.swift; sourceTree = "<group>"; };
|
||||
8473B7101AE244EEF7BEDCED20A9BA92 /* LightweightObservable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.debug.xcconfig; sourceTree = "<group>"; };
|
||||
8578E96FEC106136644EA07C96AA109E /* LightweightObservable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-prefix.pch"; sourceTree = "<group>"; };
|
||||
87C182D91D03AEAFB62DEEDE3CEB9A13 /* NSBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/NSBezierPath.swift; sourceTree = "<group>"; };
|
||||
8AEC5FCC695B6A6E608B8371AA56C0CA /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/SnapshotTesting/Async.swift; sourceTree = "<group>"; };
|
||||
8F17E189033503650D8A495ADF1F369D /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
|
||||
93233819B16746A4C1D1A32DFCEC1752 /* LightweightObservable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-prefix.pch"; sourceTree = "<group>"; };
|
||||
9059C2290087AA23773A107EEAF2780C /* Any.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Any.swift; path = Sources/SnapshotTesting/Snapshotting/Any.swift; sourceTree = "<group>"; };
|
||||
91D90321BBF367FE8F8B64CF43974858 /* URLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLRequest.swift; path = Sources/SnapshotTesting/Snapshotting/URLRequest.swift; sourceTree = "<group>"; };
|
||||
95A4CD5CAEDCA57994965B76430C1FBE /* GradientLoadingBar.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = GradientLoadingBar.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
9917FE3936F34E3EF7BC9DA0C3761B65 /* SceneKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SceneKit.swift; path = Sources/SnapshotTesting/Snapshotting/SceneKit.swift; sourceTree = "<group>"; };
|
||||
9C947E6F38D8D0A3257589741B61C1E9 /* UIImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIImage.swift; path = Sources/SnapshotTesting/Snapshotting/UIImage.swift; sourceTree = "<group>"; };
|
||||
9D184645A643B40E94DA5BC70B5C6F2B /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
|
||||
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; };
|
||||
9DD32929B122D2561D1E99468EECDBF7 /* Pods-GradientLoadingBar_SnapshotTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_SnapshotTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
9E46234BCB7A6CF5AE3ECC8C30C3786B /* AssertSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertSnapshot.swift; path = Sources/SnapshotTesting/AssertSnapshot.swift; sourceTree = "<group>"; };
|
||||
9EFE8B971DF98A48094E8121DA5F22BE /* LightweightObservable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.release.xcconfig; sourceTree = "<group>"; };
|
||||
9FAFAFBF669302034A4D6BEDD683F06D /* CALayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayer.swift; path = Sources/SnapshotTesting/Snapshotting/CALayer.swift; sourceTree = "<group>"; };
|
||||
A037DBBCCACBFACB5C39A80B1C273043 /* SnapshotTesting.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapshotTesting.framework; path = SnapshotTesting.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A1224C54074A146D75B2762DEE7B60CE /* SnapshotTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SnapshotTestCase.swift; path = Sources/SnapshotTesting/SnapshotTestCase.swift; sourceTree = "<group>"; };
|
||||
A2BEFE77478CF65195FEA6A6C36027C2 /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = "<group>"; };
|
||||
A37D5195BA402F028C3765D44BB0A28D /* LightweightObservable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.release.xcconfig; sourceTree = "<group>"; };
|
||||
A652F20CE7EE44E64565C2120B651665 /* Pods-GradientLoadingBar_SnapshotTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_SnapshotTests.modulemap"; sourceTree = "<group>"; };
|
||||
A6C45FD2B6DBF67E9CA08571D980F9C7 /* XCTAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XCTAttachment.swift; path = Sources/SnapshotTesting/Common/XCTAttachment.swift; sourceTree = "<group>"; };
|
||||
A6F9A1BAFFBBC246C94565120C2B671A /* GradientLoadingBar.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GradientLoadingBar.modulemap; sourceTree = "<group>"; };
|
||||
A70E7C9947EB80BF9BB160DBD905E4D1 /* SpriteKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SpriteKit.swift; path = Sources/SnapshotTesting/Snapshotting/SpriteKit.swift; sourceTree = "<group>"; };
|
||||
A95E7032DE35DF972EF7FEC8A884303B /* Pods-GradientLoadingBar_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
ABB33081F3543E93409B82653F5C8999 /* Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Data.swift; path = Sources/SnapshotTesting/Snapshotting/Data.swift; sourceTree = "<group>"; };
|
||||
AC5FB89A60C9EF49D259A87FD0D200D3 /* AssertInlineSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertInlineSnapshot.swift; path = Sources/SnapshotTesting/AssertInlineSnapshot.swift; sourceTree = "<group>"; };
|
||||
B0D466687F25CFEC98F95EC624033C2F /* Diff.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diff.swift; path = Sources/SnapshotTesting/Diff.swift; sourceTree = "<group>"; };
|
||||
B0DE2DCC80295626C430F2B47550ECE5 /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SnapshotTesting/Common/Internal.swift; sourceTree = "<group>"; };
|
||||
B1079CC494384561174A3C21ABA81E55 /* Diffing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diffing.swift; path = Sources/SnapshotTesting/Diffing.swift; sourceTree = "<group>"; };
|
||||
B1518F0564D9405495037F4713C4F143 /* Pods-GradientLoadingBar_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_Tests.modulemap"; sourceTree = "<group>"; };
|
||||
B23DE3822DAC1D50D1BB94E49D51CAC1 /* UIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIView.swift; path = Sources/SnapshotTesting/Snapshotting/UIView.swift; sourceTree = "<group>"; };
|
||||
B27AAA41B1DEF56C8059867126A15A38 /* Pods-GradientLoadingBar_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Example-Info.plist"; sourceTree = "<group>"; };
|
||||
B29B2057FFAA955F4F8223BDAAAF8B56 /* SwiftFormat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.debug.xcconfig; sourceTree = "<group>"; };
|
||||
B4D91BC6888831D2E13620306E2CD9E9 /* Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Description.swift; path = Sources/SnapshotTesting/Snapshotting/Description.swift; sourceTree = "<group>"; };
|
||||
B533ECCC769063846CEC71B060C04EAF /* SnapshotTesting-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-prefix.pch"; sourceTree = "<group>"; };
|
||||
B7FF35F32E5C06204CAF8183AC101D53 /* Pods-GradientLoadingBar_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Example-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
BC7DE873CD81C2A6FE42262C00452A04 /* Diff.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diff.swift; path = Sources/SnapshotTesting/Diff.swift; sourceTree = "<group>"; };
|
||||
BD44150088F0B1519DDF518A23D5F74A /* AssertSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertSnapshot.swift; path = Sources/SnapshotTesting/AssertSnapshot.swift; sourceTree = "<group>"; };
|
||||
BEBA37204701F79F631433A8EEF190E7 /* Pods-GradientLoadingBar_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
C478F41E1D29E73C340C46510C963758 /* SnapshotTesting.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapshotTesting.modulemap; sourceTree = "<group>"; };
|
||||
CEE3F100C4CDD54473EA2C6C753CE3F8 /* Observable+KeyPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+KeyPath.swift"; path = "LightweightObservable/Classes/Extensions/Observable+KeyPath.swift"; sourceTree = "<group>"; };
|
||||
C0357289574364DE36EC0534E47D210B /* SnapshotTesting-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-umbrella.h"; sourceTree = "<group>"; };
|
||||
C056D069A391AAB52B9DE80ACAC9A16A /* SnapshotTesting-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapshotTesting-dummy.m"; sourceTree = "<group>"; };
|
||||
CC661FA820380145669722D4895E8BA6 /* SnapshotTesting.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.debug.xcconfig; sourceTree = "<group>"; };
|
||||
CF8CDB1CDD05B1C5C47641B6250FC75A /* SnapshotTesting-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapshotTesting-Info.plist"; sourceTree = "<group>"; };
|
||||
D04F8C07BB2BD290285C29C757B0C156 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = Sources/SnapshotTesting/Snapshotting/Codable.swift; sourceTree = "<group>"; };
|
||||
D07D86CBFE6D514D79D74AB257CD5408 /* GradientLoadingBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientLoadingBarController.swift; path = GradientLoadingBar/Classes/GradientLoadingBarController.swift; sourceTree = "<group>"; };
|
||||
D1B84171C66B510644D7EFFDC5B3E475 /* SnapshotTesting-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapshotTesting-dummy.m"; sourceTree = "<group>"; };
|
||||
D20C54CBF964A3FE43CE7FE20719F6AD /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = "<group>"; };
|
||||
D5B2A1C4D6360C6D91F1483048511530 /* LightweightObservable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-umbrella.h"; sourceTree = "<group>"; };
|
||||
DC1FD5A53165BF4293473D170AD9995E /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = View.swift; path = Sources/SnapshotTesting/Common/View.swift; sourceTree = "<group>"; };
|
||||
E06A1816AB01D090FDC9EEC02261A14E /* SnapshotTesting-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapshotTesting-Info.plist"; sourceTree = "<group>"; };
|
||||
DDA242BBF8BBEB7323622998228D907E /* AssertInlineSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertInlineSnapshot.swift; path = Sources/SnapshotTesting/AssertInlineSnapshot.swift; sourceTree = "<group>"; };
|
||||
E0D90990792D653F523A884442305989 /* Pods-GradientLoadingBar_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_Example.modulemap"; sourceTree = "<group>"; };
|
||||
E503602B2F6C5B0D3DD0B08982C1E017 /* SnapshotTesting-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-umbrella.h"; sourceTree = "<group>"; };
|
||||
E508BF65994F167606FC9180BE8059FC /* SceneKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SceneKit.swift; path = Sources/SnapshotTesting/Snapshotting/SceneKit.swift; sourceTree = "<group>"; };
|
||||
E5557B095A3BB320B3238CBA59402742 /* UIViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewController.swift; path = Sources/SnapshotTesting/Snapshotting/UIViewController.swift; sourceTree = "<group>"; };
|
||||
E112B09F960A755C3152A1612E3AF37B /* XCTAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XCTAttachment.swift; path = Sources/SnapshotTesting/Common/XCTAttachment.swift; sourceTree = "<group>"; };
|
||||
E49466D561F51DB58D30D2DE137407F4 /* CGPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CGPath.swift; path = Sources/SnapshotTesting/Snapshotting/CGPath.swift; sourceTree = "<group>"; };
|
||||
E59CE2F9522AE21F97AA29799051F00E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
|
||||
E5F5BFF05569BBDD6EF0224F0E21090A /* CaseIterable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaseIterable.swift; path = Sources/SnapshotTesting/Snapshotting/CaseIterable.swift; sourceTree = "<group>"; };
|
||||
E9C3128EB6965EA592CD63B38170D57B /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/SnapshotTesting/Async.swift; sourceTree = "<group>"; };
|
||||
ED80020D57E60A2BDBE6BE1EB9333D0A /* SwiftFormat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.debug.xcconfig; sourceTree = "<group>"; };
|
||||
EA6C72CD77EA1E1E09526DAF3BF9031B /* UIViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewController.swift; path = Sources/SnapshotTesting/Snapshotting/UIViewController.swift; sourceTree = "<group>"; };
|
||||
F196AAA163469B17170E99B82C7C4C0A /* LightweightObservable.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LightweightObservable.framework; path = LightweightObservable.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
F2B4FFBC82EA6CAE84B65AE1835AF25A /* SnapshotTesting.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.debug.xcconfig; sourceTree = "<group>"; };
|
||||
F2D95A77154276FCFD49025721CF9191 /* Observable+Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Equatable.swift"; path = "LightweightObservable/Classes/Extensions/Observable+Equatable.swift"; sourceTree = "<group>"; };
|
||||
F7B1750DE470F045803DE2094D5F7264 /* Pods-GradientLoadingBar_SnapshotTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_SnapshotTests-Info.plist"; sourceTree = "<group>"; };
|
||||
F952B84395F604678559569DA34F74D2 /* Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Wait.swift; path = Sources/SnapshotTesting/Extensions/Wait.swift; sourceTree = "<group>"; };
|
||||
FA67DBC6A3A9B1FAE0A77E1AF1D70C5D /* NSViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSViewController.swift; path = Sources/SnapshotTesting/Snapshotting/NSViewController.swift; sourceTree = "<group>"; };
|
||||
FB9F808A784ECD647D041584F3BAA5CE /* CALayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayer.swift; path = Sources/SnapshotTesting/Snapshotting/CALayer.swift; sourceTree = "<group>"; };
|
||||
FBAEAE91BB9B77006558E537894C33C5 /* Pods-GradientLoadingBar_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Tests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
FF135E1D23F08BE7F1D7FFC86260EF9B /* Pods-GradientLoadingBar_SnapshotTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_SnapshotTests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
FF2204C430A0BC52D7FCF4FFFD07515D /* NSImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSImage.swift; path = Sources/SnapshotTesting/Snapshotting/NSImage.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -281,15 +289,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A3753966D6558AC3D7EB88C394F87259 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5C646D4C61F7CDC27DBCBD7960C48BB4 /* Foundation.framework in Frameworks */,
|
||||
6466CB6250CBD3F61D35E1132618C759 /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B5CF0D7BDF3DB308D262F74EA1829D66 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -299,6 +298,15 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C623AFDACDDFAF3DA4E8AA5F997EE889 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
BEDA3BD4A21DD52829573D6AB7E3887A /* Foundation.framework in Frameworks */,
|
||||
56BC6C7B5E248296BAA214504F2AC607 /* XCTest.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
E7729C4FB021E464F1BB3C7B3AAFC13D /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -325,6 +333,19 @@
|
||||
path = "Example/Pods/Target Support Files/GradientLoadingBar";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0C9122EDC083344F050F55D841C534AC /* LightweightObservable */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3C79828C9BB99118F3A15AA46899BB2C /* Disposable.swift */,
|
||||
1ACED4FA1FA9DD8A07DB99BEFDAF743B /* Observable.swift */,
|
||||
490274B00B3D32108B7DE40C5ACA9AAC /* Observable+Equatable.swift */,
|
||||
62FE7DCB58464A147A5F3106011B6B3D /* Observable+KeyPath.swift */,
|
||||
9E4258F5F77E219E243535CE9F2C2D37 /* Support Files */,
|
||||
);
|
||||
name = LightweightObservable;
|
||||
path = LightweightObservable;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
182051F58B71F1C24E92C50B91E729E9 /* Pods-GradientLoadingBar_Tests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -341,31 +362,6 @@
|
||||
path = "Target Support Files/Pods-GradientLoadingBar_Tests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2CE89AADFFFE95E8003FB250177B1CD1 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ED80020D57E60A2BDBE6BE1EB9333D0A /* SwiftFormat.debug.xcconfig */,
|
||||
47AF808C977A1F54C41301EE10EFED69 /* SwiftFormat.release.xcconfig */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SwiftFormat";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
434289011F6712E755970F1074781EA5 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C478F41E1D29E73C340C46510C963758 /* SnapshotTesting.modulemap */,
|
||||
D1B84171C66B510644D7EFFDC5B3E475 /* SnapshotTesting-dummy.m */,
|
||||
E06A1816AB01D090FDC9EEC02261A14E /* SnapshotTesting-Info.plist */,
|
||||
62B150B8D8FC0F8D9D80F21F33BA2B6B /* SnapshotTesting-prefix.pch */,
|
||||
E503602B2F6C5B0D3DD0B08982C1E017 /* SnapshotTesting-umbrella.h */,
|
||||
F2B4FFBC82EA6CAE84B65AE1835AF25A /* SnapshotTesting.debug.xcconfig */,
|
||||
3B644D77B6DA2AE767C93222955C0195 /* SnapshotTesting.release.xcconfig */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SnapshotTesting";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
43B10757738539C40D5ED2A1ECDB8ADE /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -379,26 +375,29 @@
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4458C6A8A7D0FCBBF849801F48D81D88 /* LightweightObservable */ = {
|
||||
49DEFA1CB55B8209421AA4E4171272D0 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
648F93ECED9C2684CDB6A60E6BE8DEDF /* Disposable.swift */,
|
||||
79AF6D809DE93FF8CDFAEFD4AF8B2C76 /* Observable.swift */,
|
||||
F2D95A77154276FCFD49025721CF9191 /* Observable+Equatable.swift */,
|
||||
CEE3F100C4CDD54473EA2C6C753CE3F8 /* Observable+KeyPath.swift */,
|
||||
7A7C6C3CD90BB6F1A79FCFA9E9F6C9F5 /* Support Files */,
|
||||
613007635DAC9F649E5D50030E081A62 /* SnapshotTesting.modulemap */,
|
||||
C056D069A391AAB52B9DE80ACAC9A16A /* SnapshotTesting-dummy.m */,
|
||||
CF8CDB1CDD05B1C5C47641B6250FC75A /* SnapshotTesting-Info.plist */,
|
||||
B533ECCC769063846CEC71B060C04EAF /* SnapshotTesting-prefix.pch */,
|
||||
C0357289574364DE36EC0534E47D210B /* SnapshotTesting-umbrella.h */,
|
||||
CC661FA820380145669722D4895E8BA6 /* SnapshotTesting.debug.xcconfig */,
|
||||
393A2EB9C57F6740D90A63725B4539AB /* SnapshotTesting.release.xcconfig */,
|
||||
);
|
||||
name = LightweightObservable;
|
||||
path = LightweightObservable;
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SnapshotTesting";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
526CBF44DE280D803C90DB47909A5AA3 /* SwiftLint */ = {
|
||||
56F64175C0B26ABB2C429260A44D7879 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E2CCD1A55C9A485E976F71F7C7CF3366 /* Support Files */,
|
||||
B29B2057FFAA955F4F8223BDAAAF8B56 /* SwiftFormat.debug.xcconfig */,
|
||||
7019702436A62794D49920AA204E3FA8 /* SwiftFormat.release.xcconfig */,
|
||||
);
|
||||
name = SwiftLint;
|
||||
path = SwiftLint;
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SwiftFormat";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
62272D672011B46F4728E4A5536D444F /* Views */ = {
|
||||
@@ -411,19 +410,13 @@
|
||||
path = GradientLoadingBar/Classes/Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7A7C6C3CD90BB6F1A79FCFA9E9F6C9F5 /* Support Files */ = {
|
||||
7C55C62C3F1789A0071466AA2D2BD385 /* SwiftLint */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7D3DDA4D26F734FE0934A65A9DF701DF /* LightweightObservable.modulemap */,
|
||||
3CE49E78400E3A6E986194452C2A1611 /* LightweightObservable-dummy.m */,
|
||||
5E0ED20F03F3062DB47BF2E306FF9049 /* LightweightObservable-Info.plist */,
|
||||
93233819B16746A4C1D1A32DFCEC1752 /* LightweightObservable-prefix.pch */,
|
||||
D5B2A1C4D6360C6D91F1483048511530 /* LightweightObservable-umbrella.h */,
|
||||
51265E01B15BDF30B0C2CBDF6A151BC4 /* LightweightObservable.debug.xcconfig */,
|
||||
9EFE8B971DF98A48094E8121DA5F22BE /* LightweightObservable.release.xcconfig */,
|
||||
8B1EE0BC4468C4A98CA7BE8538B7ECB0 /* Support Files */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/LightweightObservable";
|
||||
name = SwiftLint;
|
||||
path = SwiftLint;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
810FDB3212C2E1BF5CEB60C53A119039 /* Pods-GradientLoadingBar_SnapshotTests */ = {
|
||||
@@ -453,6 +446,25 @@
|
||||
path = GradientLoadingBar/Classes/ViewModel;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8B1EE0BC4468C4A98CA7BE8538B7ECB0 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0AC379D97F2A93184FF0C394113C0A62 /* SwiftLint.debug.xcconfig */,
|
||||
5257A01502362763E1F6E250104CB1EA /* SwiftLint.release.xcconfig */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SwiftLint";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
93A36387CFAF0A0EA680A9CB330B016C /* SwiftFormat */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
56F64175C0B26ABB2C429260A44D7879 /* Support Files */,
|
||||
);
|
||||
name = SwiftFormat;
|
||||
path = SwiftFormat;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9DA2A07C8C5316172DA2CA4B59E1C82A /* Pod */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -463,6 +475,21 @@
|
||||
name = Pod;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9E4258F5F77E219E243535CE9F2C2D37 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
620E7B2310D43EF3013A90BE1D624B3D /* LightweightObservable.modulemap */,
|
||||
263236C693550DBBEF6397B3FDA0D45E /* LightweightObservable-dummy.m */,
|
||||
6CB3BE93AA36A67000795C17C2D94032 /* LightweightObservable-Info.plist */,
|
||||
8578E96FEC106136644EA07C96AA109E /* LightweightObservable-prefix.pch */,
|
||||
1BE38892FFE579C6B8915FCB274BDF6F /* LightweightObservable-umbrella.h */,
|
||||
8473B7101AE244EEF7BEDCED20A9BA92 /* LightweightObservable.debug.xcconfig */,
|
||||
A37D5195BA402F028C3765D44BB0A28D /* LightweightObservable.release.xcconfig */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/LightweightObservable";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AD9DAFA98C524BF76082D2B10AEC6E6E /* Misc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -489,44 +516,6 @@
|
||||
path = "Target Support Files/Pods-GradientLoadingBar_Example";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B86CB465A3A251813B55AF621083BA18 /* SnapshotTesting */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7497F950FEA4E6B772B2F6042432723A /* Any.swift */,
|
||||
AC5FB89A60C9EF49D259A87FD0D200D3 /* AssertInlineSnapshot.swift */,
|
||||
9E46234BCB7A6CF5AE3ECC8C30C3786B /* AssertSnapshot.swift */,
|
||||
E9C3128EB6965EA592CD63B38170D57B /* Async.swift */,
|
||||
9FAFAFBF669302034A4D6BEDD683F06D /* CALayer.swift */,
|
||||
E5F5BFF05569BBDD6EF0224F0E21090A /* CaseIterable.swift */,
|
||||
2B6436CA49E05FD0F26235D5008843F3 /* Codable.swift */,
|
||||
ABB33081F3543E93409B82653F5C8999 /* Data.swift */,
|
||||
66C7044ABF6219E06138EBA038827408 /* Description.swift */,
|
||||
B0D466687F25CFEC98F95EC624033C2F /* Diff.swift */,
|
||||
485FFC9380094A5DB42D7366AEBF4780 /* Diffing.swift */,
|
||||
B0DE2DCC80295626C430F2B47550ECE5 /* Internal.swift */,
|
||||
622DE03EE214A93E48D3A4CC05B88A2C /* NSImage.swift */,
|
||||
743840C93216AFDAE6E14647264F5538 /* NSView.swift */,
|
||||
88FB982EE7911E38255A291A79DB742F /* NSViewController.swift */,
|
||||
87FA564458DD7C259A55CC2F083CBF97 /* PlistEncoder.swift */,
|
||||
E508BF65994F167606FC9180BE8059FC /* SceneKit.swift */,
|
||||
A1224C54074A146D75B2762DEE7B60CE /* SnapshotTestCase.swift */,
|
||||
6A0AC5F9D0359F62D9B6CFA7E28C270C /* Snapshotting.swift */,
|
||||
A70E7C9947EB80BF9BB160DBD905E4D1 /* SpriteKit.swift */,
|
||||
1FE4FE8F00C724C9593C6DEFB4CE2286 /* String.swift */,
|
||||
71B174D68683E03CEB909A118CABC01E /* String+SpecialCharacters.swift */,
|
||||
4748F84A87672B2B8A2332EBFAB30E20 /* UIImage.swift */,
|
||||
B23DE3822DAC1D50D1BB94E49D51CAC1 /* UIView.swift */,
|
||||
E5557B095A3BB320B3238CBA59402742 /* UIViewController.swift */,
|
||||
655D196DB461A65E1D8D6C38F3ACF62D /* URLRequest.swift */,
|
||||
DC1FD5A53165BF4293473D170AD9995E /* View.swift */,
|
||||
F952B84395F604678559569DA34F74D2 /* Wait.swift */,
|
||||
A6C45FD2B6DBF67E9CA08571D980F9C7 /* XCTAttachment.swift */,
|
||||
434289011F6712E755970F1074781EA5 /* Support Files */,
|
||||
);
|
||||
name = SnapshotTesting;
|
||||
path = SnapshotTesting;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BA25E9C542CB3AA3EFD012ED3933A9C9 /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -536,6 +525,17 @@
|
||||
name = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C8B2230A747DDE259145DDF4A41E3CF9 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0C9122EDC083344F050F55D841C534AC /* LightweightObservable */,
|
||||
E579E6770CDAEFA7E6CF09E88C1A7AB8 /* SnapshotTesting */,
|
||||
93A36387CFAF0A0EA680A9CB330B016C /* SwiftFormat */,
|
||||
7C55C62C3F1789A0071466AA2D2BD385 /* SwiftLint */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE6272E67A33588A9F25C079BF5BB051 /* Development Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -550,29 +550,52 @@
|
||||
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
|
||||
CE6272E67A33588A9F25C079BF5BB051 /* Development Pods */,
|
||||
ED635EACC8572F31376B6F8762793E86 /* Frameworks */,
|
||||
FE5B5656A9C615AEA4FA2FD452F27E0B /* Pods */,
|
||||
C8B2230A747DDE259145DDF4A41E3CF9 /* Pods */,
|
||||
43B10757738539C40D5ED2A1ECDB8ADE /* Products */,
|
||||
F35D8C7C6DA5C631C17C6CAC2AECDFEA /* Targets Support Files */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E2CCD1A55C9A485E976F71F7C7CF3366 /* Support Files */ = {
|
||||
E579E6770CDAEFA7E6CF09E88C1A7AB8 /* SnapshotTesting */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D20C54CBF964A3FE43CE7FE20719F6AD /* SwiftLint.debug.xcconfig */,
|
||||
A2BEFE77478CF65195FEA6A6C36027C2 /* SwiftLint.release.xcconfig */,
|
||||
9059C2290087AA23773A107EEAF2780C /* Any.swift */,
|
||||
DDA242BBF8BBEB7323622998228D907E /* AssertInlineSnapshot.swift */,
|
||||
BD44150088F0B1519DDF518A23D5F74A /* AssertSnapshot.swift */,
|
||||
8AEC5FCC695B6A6E608B8371AA56C0CA /* Async.swift */,
|
||||
FB9F808A784ECD647D041584F3BAA5CE /* CALayer.swift */,
|
||||
2CF7FC13E714D014C72F1F9E6DE7D638 /* CaseIterable.swift */,
|
||||
E49466D561F51DB58D30D2DE137407F4 /* CGPath.swift */,
|
||||
D04F8C07BB2BD290285C29C757B0C156 /* Codable.swift */,
|
||||
0426AE1E75E69C5BDA20A5964A116F57 /* Data.swift */,
|
||||
B4D91BC6888831D2E13620306E2CD9E9 /* Description.swift */,
|
||||
BC7DE873CD81C2A6FE42262C00452A04 /* Diff.swift */,
|
||||
B1079CC494384561174A3C21ABA81E55 /* Diffing.swift */,
|
||||
4834CAC48D838D6B238E27BF7BFB747F /* Internal.swift */,
|
||||
87C182D91D03AEAFB62DEEDE3CEB9A13 /* NSBezierPath.swift */,
|
||||
FF2204C430A0BC52D7FCF4FFFD07515D /* NSImage.swift */,
|
||||
75B25DC9DFF59BF10729E579A6798933 /* NSView.swift */,
|
||||
FA67DBC6A3A9B1FAE0A77E1AF1D70C5D /* NSViewController.swift */,
|
||||
1B6F42E17D889A7841E21B372D54662C /* PlistEncoder.swift */,
|
||||
9917FE3936F34E3EF7BC9DA0C3761B65 /* SceneKit.swift */,
|
||||
19955C276F98759888D7BDA3A77853F6 /* SnapshotTestCase.swift */,
|
||||
839E953D87FD49848D29CC63C8C5F825 /* Snapshotting.swift */,
|
||||
5C2F50C5C54E7399F17909BE225B4138 /* SpriteKit.swift */,
|
||||
5869027FA34D756BF5705CE123E78403 /* String.swift */,
|
||||
110FBB49DC08278A7EE52562088F5563 /* String+SpecialCharacters.swift */,
|
||||
6BFF42E97B209FD50665E080953499DA /* SwiftUIView.swift */,
|
||||
3C062ECECBEBFE0A98DCEB165BD9E3B7 /* UIBezierPath.swift */,
|
||||
9C947E6F38D8D0A3257589741B61C1E9 /* UIImage.swift */,
|
||||
16BF13A00E8108482D617C075B3D818E /* UIView.swift */,
|
||||
EA6C72CD77EA1E1E09526DAF3BF9031B /* UIViewController.swift */,
|
||||
91D90321BBF367FE8F8B64CF43974858 /* URLRequest.swift */,
|
||||
54DAB11E00E3D63CC2A323A3CE988E73 /* View.swift */,
|
||||
3FF123D0A3E653F02DCEB06FFA07E753 /* Wait.swift */,
|
||||
E112B09F960A755C3152A1612E3AF37B /* XCTAttachment.swift */,
|
||||
49DEFA1CB55B8209421AA4E4171272D0 /* Support Files */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SwiftLint";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E753B32551AFA44D4355DCEE19413F17 /* SwiftFormat */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2CE89AADFFFE95E8003FB250177B1CD1 /* Support Files */,
|
||||
);
|
||||
name = SwiftFormat;
|
||||
path = SwiftFormat;
|
||||
name = SnapshotTesting;
|
||||
path = SnapshotTesting;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
ED635EACC8572F31376B6F8762793E86 /* Frameworks */ = {
|
||||
@@ -609,20 +632,17 @@
|
||||
path = ../..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE5B5656A9C615AEA4FA2FD452F27E0B /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4458C6A8A7D0FCBBF849801F48D81D88 /* LightweightObservable */,
|
||||
B86CB465A3A251813B55AF621083BA18 /* SnapshotTesting */,
|
||||
E753B32551AFA44D4355DCEE19413F17 /* SwiftFormat */,
|
||||
526CBF44DE280D803C90DB47909A5AA3 /* SwiftLint */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
08C742623912B7A2D85724F893919627 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6AFC185192FD16011F63776037110EED /* SnapshotTesting-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
2EC41A99D64F1B8CCBE55541BA49C39B /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -647,14 +667,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
7C4D551FBC1B918D4E57BE13BD42B087 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
84432746DEB076256002FB7BABDAAAA5 /* SnapshotTesting-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B574F28AEC902F5DF903621F9079B43A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -752,12 +764,12 @@
|
||||
};
|
||||
ADEAE7CDD604DE4F3072E6021A314487 /* SnapshotTesting */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 32867542F50A9BE9FCBEA5DBF1117399 /* Build configuration list for PBXNativeTarget "SnapshotTesting" */;
|
||||
buildConfigurationList = 7F9B732C8F399A22A0B629A8BFFB52D5 /* Build configuration list for PBXNativeTarget "SnapshotTesting" */;
|
||||
buildPhases = (
|
||||
7C4D551FBC1B918D4E57BE13BD42B087 /* Headers */,
|
||||
986B2299F460A09ADA1304C267ED03D8 /* Sources */,
|
||||
A3753966D6558AC3D7EB88C394F87259 /* Frameworks */,
|
||||
1905CD6CFCB44CBB91511667E74D0AFB /* Resources */,
|
||||
08C742623912B7A2D85724F893919627 /* Headers */,
|
||||
9C880811BAF460ED87BEA333DBB5C7D6 /* Sources */,
|
||||
C623AFDACDDFAF3DA4E8AA5F997EE889 /* Frameworks */,
|
||||
A8F2D5EB06EDA23EAA9B2EF353782A4A /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -825,13 +837,6 @@
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1905CD6CFCB44CBB91511667E74D0AFB /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
2D7C6EBC51117D967BAA7B346494F9B0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -867,6 +872,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A8F2D5EB06EDA23EAA9B2EF353782A4A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -906,40 +918,44 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
986B2299F460A09ADA1304C267ED03D8 /* Sources */ = {
|
||||
9C880811BAF460ED87BEA333DBB5C7D6 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
14CC16A84D0558FF9DC6927E1BA82F02 /* Any.swift in Sources */,
|
||||
46B2A4686C72C29C24576FC6FF56A7BE /* AssertInlineSnapshot.swift in Sources */,
|
||||
18ED84EFAF015095FCCF61A8E494F325 /* AssertSnapshot.swift in Sources */,
|
||||
AA6612CD34134596239652A299AC0F76 /* Async.swift in Sources */,
|
||||
67C39A754A360A5EFC7FE0037CECE5C3 /* CALayer.swift in Sources */,
|
||||
23B3D1B39D273F7B43BA45F255EDE5C5 /* CaseIterable.swift in Sources */,
|
||||
A455E5B77A019CEAEEA0F9D26B1B74E6 /* Codable.swift in Sources */,
|
||||
BDFAF00F9FE360EAFD864F290030A2D0 /* Data.swift in Sources */,
|
||||
11F2134521037184F745C9010217B501 /* Description.swift in Sources */,
|
||||
4E5AA162D02372A80FABE033AD6BFFE6 /* Diff.swift in Sources */,
|
||||
440314FEC8EC90F865D8D20910989A69 /* Diffing.swift in Sources */,
|
||||
C2B818BE2E57EF9A8CE51775FCB33C2B /* Internal.swift in Sources */,
|
||||
BE068F001E2344449F6E193DFB12B1D1 /* NSImage.swift in Sources */,
|
||||
1A1F20E176923FF03A0EAEA886703719 /* NSView.swift in Sources */,
|
||||
29F37DB8A1899894CA87E8E8381E2C11 /* NSViewController.swift in Sources */,
|
||||
8CD5CB3FDF05526DBF034B61F696BA93 /* PlistEncoder.swift in Sources */,
|
||||
4F03BBCA0FCF5903B46F72BE0BADDF34 /* SceneKit.swift in Sources */,
|
||||
B04CA17471143BEDA50779BE9660BD2A /* SnapshotTestCase.swift in Sources */,
|
||||
D6A43851802E3E81CF23D65CA9A81E4E /* SnapshotTesting-dummy.m in Sources */,
|
||||
57244463125C60529B7391F9FA3052AD /* Snapshotting.swift in Sources */,
|
||||
509FAAD85506B9E1BCCA50505B8C93DB /* SpriteKit.swift in Sources */,
|
||||
33432CD4B8F83F0C678B5C67CAF13414 /* String+SpecialCharacters.swift in Sources */,
|
||||
D56563764E24224FB95BC77EC18F7D9E /* String.swift in Sources */,
|
||||
2371CFDF095282B1D6935C36C81E46FC /* UIImage.swift in Sources */,
|
||||
56B2D76BD27EAA69A1BED0113B7F9F51 /* UIView.swift in Sources */,
|
||||
8E1FBD13A74F689CFC06054841BFC596 /* UIViewController.swift in Sources */,
|
||||
6658F9FE5EEFD579907F946DD9FDD8E3 /* URLRequest.swift in Sources */,
|
||||
01757E29DF92738C1D5D0528F1EB4824 /* View.swift in Sources */,
|
||||
8003323F07F7A6F822902979CE092B88 /* Wait.swift in Sources */,
|
||||
FDAD70506FFFD578C1327E64876A08E3 /* XCTAttachment.swift in Sources */,
|
||||
59B265CDC0345DA9D541A2D6A1A81361 /* Any.swift in Sources */,
|
||||
952DF5160B7A5F339C603FCFBC7BA3ED /* AssertInlineSnapshot.swift in Sources */,
|
||||
9E0237BBCDF5E22C8C70CA299BA989B3 /* AssertSnapshot.swift in Sources */,
|
||||
45B49E668D4E0DF1D905F71246A30121 /* Async.swift in Sources */,
|
||||
07BCE427364C14A3924FA6E5821BDFE9 /* CALayer.swift in Sources */,
|
||||
0CA33262BEBA6D7236BAC24028199D0E /* CaseIterable.swift in Sources */,
|
||||
B4A0E7DE8263B28AC4D433D2AB0BD101 /* CGPath.swift in Sources */,
|
||||
AA8458701AD53DA38ECC607024FD4286 /* Codable.swift in Sources */,
|
||||
7F496FC075C99F8B35BB6A2B2991BE4A /* Data.swift in Sources */,
|
||||
74463B44B8B2D754F999098ED76E55ED /* Description.swift in Sources */,
|
||||
2DF2678C2AACDF82CB67532E7737AFA6 /* Diff.swift in Sources */,
|
||||
56CD2FF07A0AFE121A7512FB49FCEDE7 /* Diffing.swift in Sources */,
|
||||
C903A253A697DCF3ABA3EE46B5DCD105 /* Internal.swift in Sources */,
|
||||
C5B200336D2113D3C9081DF38FA71EFD /* NSBezierPath.swift in Sources */,
|
||||
7A910B1EE5D070CB301AC51C2E035C91 /* NSImage.swift in Sources */,
|
||||
8A01A0DEFA212DCAA14250DF50293363 /* NSView.swift in Sources */,
|
||||
C2E28779774BF76EBD7492257160E727 /* NSViewController.swift in Sources */,
|
||||
B2224D30919A1849CCB2F495EC1EC6CE /* PlistEncoder.swift in Sources */,
|
||||
40AAD537046D8467746A0306A7D7DF94 /* SceneKit.swift in Sources */,
|
||||
10D5D6DB215978A01F67896D0FFF68A2 /* SnapshotTestCase.swift in Sources */,
|
||||
21E34ED04696645D47BC124C8457D643 /* SnapshotTesting-dummy.m in Sources */,
|
||||
51D28EADB4924A8096EDCEFC3D74CAB8 /* Snapshotting.swift in Sources */,
|
||||
02EEAFC471B5BFF3DA9CA724B77ADAD2 /* SpriteKit.swift in Sources */,
|
||||
B1B3C3B19CBD78FB949FDAB120FAFA81 /* String+SpecialCharacters.swift in Sources */,
|
||||
A7911111D9E22FFCEB046C48BD26CD03 /* String.swift in Sources */,
|
||||
D858C353CC2F564E42446D4E6E360668 /* SwiftUIView.swift in Sources */,
|
||||
2569FB9BC55B0028DB8A0217666BD384 /* UIBezierPath.swift in Sources */,
|
||||
F58CC71DED68C325B5EF5EAC30C8070F /* UIImage.swift in Sources */,
|
||||
10B99D1C93DD69D92FE05AAC7CB287F8 /* UIView.swift in Sources */,
|
||||
2617BFC93AAED6FFAC6C298D2F4D97AE /* UIViewController.swift in Sources */,
|
||||
6A5C798F3DC6B29E72E741AC83C7203D /* URLRequest.swift in Sources */,
|
||||
62C4188A8DB5CA43231DE8D64E72BD1D /* View.swift in Sources */,
|
||||
2D0C0DD04AA4F9C170A4FBF0D3FD9626 /* Wait.swift in Sources */,
|
||||
D5CF78CD0117EBB47C0F4CF5B69F021A /* XCTAttachment.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -1146,7 +1162,7 @@
|
||||
};
|
||||
17CA3FA3AE34431A344A39057819E5E7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D20C54CBF964A3FE43CE7FE20719F6AD /* SwiftLint.debug.xcconfig */;
|
||||
baseConfigurationReference = 0AC379D97F2A93184FF0C394113C0A62 /* SwiftLint.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
@@ -1196,7 +1212,7 @@
|
||||
};
|
||||
1FCC4085AE75E6EE6949867655DABCA3 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 9EFE8B971DF98A48094E8121DA5F22BE /* LightweightObservable.release.xcconfig */;
|
||||
baseConfigurationReference = A37D5195BA402F028C3765D44BB0A28D /* LightweightObservable.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
@@ -1294,39 +1310,6 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5DCF0058EDB786290640C7E69AC788CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = F2B4FFBC82EA6CAE84B65AE1835AF25A /* SnapshotTesting.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"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/SnapshotTesting/SnapshotTesting-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting-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/SnapshotTesting/SnapshotTesting.modulemap";
|
||||
PRODUCT_MODULE_NAME = SnapshotTesting;
|
||||
PRODUCT_NAME = SnapshotTesting;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_VERSION = 5.1.2;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
80E22FC8391D193F17430BF26FFFB242 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A95E7032DE35DF972EF7FEC8A884303B /* Pods-GradientLoadingBar_Example.debug.xcconfig */;
|
||||
@@ -1362,9 +1345,42 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8125FC061B36D7D28B8B294171D9725B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = CC661FA820380145669722D4895E8BA6 /* SnapshotTesting.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"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/SnapshotTesting/SnapshotTesting-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MODULEMAP_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting.modulemap";
|
||||
PRODUCT_MODULE_NAME = SnapshotTesting;
|
||||
PRODUCT_NAME = SnapshotTesting;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_VERSION = 5.2;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9327269EFED6EE74812D299A62B1A903 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 47AF808C977A1F54C41301EE10EFED69 /* SwiftFormat.release.xcconfig */;
|
||||
baseConfigurationReference = 7019702436A62794D49920AA204E3FA8 /* SwiftFormat.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
@@ -1377,9 +1393,43 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
A1CB03FC2AAE37182BFDFB359F8D1815 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 393A2EB9C57F6740D90A63725B4539AB /* SnapshotTesting.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"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/SnapshotTesting/SnapshotTesting-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MODULEMAP_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting.modulemap";
|
||||
PRODUCT_MODULE_NAME = SnapshotTesting;
|
||||
PRODUCT_NAME = SnapshotTesting;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_VERSION = 5.2;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
BC39C4F2B46BAA1105315ED909AD59A5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 51265E01B15BDF30B0C2CBDF6A151BC4 /* LightweightObservable.debug.xcconfig */;
|
||||
baseConfigurationReference = 8473B7101AE244EEF7BEDCED20A9BA92 /* LightweightObservable.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
@@ -1409,43 +1459,9 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C6D05A2DD3815BA9E9944D4A6774FA2B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 3B644D77B6DA2AE767C93222955C0195 /* SnapshotTesting.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"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/SnapshotTesting/SnapshotTesting-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SnapshotTesting/SnapshotTesting-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/SnapshotTesting/SnapshotTesting.modulemap";
|
||||
PRODUCT_MODULE_NAME = SnapshotTesting;
|
||||
PRODUCT_NAME = SnapshotTesting;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_VERSION = 5.1.2;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
CD1EFF489191A6C2906F500586741B2A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A2BEFE77478CF65195FEA6A6C36027C2 /* SwiftLint.release.xcconfig */;
|
||||
baseConfigurationReference = 5257A01502362763E1F6E250104CB1EA /* SwiftLint.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
@@ -1593,7 +1609,7 @@
|
||||
};
|
||||
FAD77FF0D4D14006175039F7BFA6150B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = ED80020D57E60A2BDBE6BE1EB9333D0A /* SwiftFormat.debug.xcconfig */;
|
||||
baseConfigurationReference = B29B2057FFAA955F4F8223BDAAAF8B56 /* SwiftFormat.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
@@ -1608,15 +1624,6 @@
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
32867542F50A9BE9FCBEA5DBF1117399 /* Build configuration list for PBXNativeTarget "SnapshotTesting" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5DCF0058EDB786290640C7E69AC788CD /* Debug */,
|
||||
C6D05A2DD3815BA9E9944D4A6774FA2B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
@@ -1662,6 +1669,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
7F9B732C8F399A22A0B629A8BFFB52D5 /* Build configuration list for PBXNativeTarget "SnapshotTesting" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8125FC061B36D7D28B8B294171D9725B /* Debug */,
|
||||
A1CB03FC2AAE37182BFDFB359F8D1815 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
AE7B4FB01588B9E6DF09CB79FC7CE7BD /* Build configuration list for PBXAggregateTarget "SwiftLint" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
||||
Generated
+11
-9
@@ -1,7 +1,7 @@
|
||||
# 📸 SnapshotTesting
|
||||
|
||||
[](https://swift.org/download/)
|
||||
[](https://actions-badge.atrox.dev/pointfreeco/swift-snapshot-testing/goto)
|
||||
[](https://actions-badge.atrox.dev/pointfreeco/swift-snapshot-testing/goto)
|
||||
[](https://twitter.com/pointfreeco)
|
||||
|
||||
Delightful Swift snapshot testing.
|
||||
@@ -35,7 +35,7 @@ When an assertion first runs, a snapshot is automatically recorded to disk and t
|
||||
>
|
||||
> Re-run "testMyViewController" to test against the newly-recorded snapshot.
|
||||
|
||||
Repeat test runs will load this reference and compare it with the runtime value. If they don't match, the test will fail and describe the difference.
|
||||
Repeat test runs will load this reference and compare it with the runtime value. If they don't match, the test will fail and describe the difference. Failures can be inspected from Xcode's Report Navigator or by inspecting the file URLs of the failure.
|
||||
|
||||
You can record a new reference by setting the `record` mode to `true` on the assertion or globally.
|
||||
|
||||
@@ -130,12 +130,12 @@ If your data can be represented as an image, text, or data, you can write a snap
|
||||
|
||||
### Xcode 11
|
||||
|
||||
> ⚠️ Warning: By default, Xcode will try to add the SnapshotTesting package to your project's targets. Please _uncheck_ SnapshotTesting in the final step of adding a Swift package to your target, as documented below.
|
||||
> ⚠️ Warning: By default, Xcode will try to add the SnapshotTesting package to your project's main application/framework target. Please ensure that SnapshotTesting is added to a _test_ target instead, as documented in the last step, below.
|
||||
|
||||
1. From the **File** menu, navigate through **Swift Packages** and select **Add Package Dependency…**.
|
||||
2. Enter package respository URL: `https://github.com/pointfreeco/swift-snapshot-testing.git`
|
||||
2. Enter package repository URL: `https://github.com/pointfreeco/swift-snapshot-testing.git`
|
||||
3. Confirm the version and let Xcode resolve the package
|
||||
4. On the final dialog, _uncheck_ any box that adds the SnapshotTesting package to any target
|
||||
4. On the final dialog, update SnapshotTesting's **Add to Target** column to a test target that will contain snapshot tests (if you have more than one test target, you can later add SnapshotTesting to them by manually linking the library in its build phase)
|
||||
|
||||
### Swift Package Manager
|
||||
|
||||
@@ -143,7 +143,7 @@ If you want to use SnapshotTesting in any other project that uses [SwiftPM](http
|
||||
|
||||
```swift
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/pointfreeco/swift-snapshot-testing.git", from: "1.7.2"),
|
||||
.package(name: "SnapshotTesting", url: "https://github.com/pointfreeco/swift-snapshot-testing.git", from: "1.8.0"),
|
||||
]
|
||||
```
|
||||
|
||||
@@ -161,7 +161,7 @@ targets: [
|
||||
If you use [Carthage](https://github.com/Carthage/Carthage), you can add the following dependency to your `Cartfile`:
|
||||
|
||||
``` ruby
|
||||
github "pointfreeco/swift-snapshot-testing" ~> 1.7.2
|
||||
github "pointfreeco/swift-snapshot-testing" ~> 1.8.0
|
||||
```
|
||||
|
||||
> ⚠️ Warning: Carthage instructs you to drag frameworks into your Xcode project. Xcode may automatically attempt to link these frameworks to your app target. `SnapshotTesting.framework` is only compatible with test targets, so when you first add it to your project:
|
||||
@@ -179,7 +179,7 @@ If your project uses [CocoaPods](https://cocoapods.org), add the pod to any appl
|
||||
|
||||
```ruby
|
||||
target 'MyAppTests' do
|
||||
pod 'SnapshotTesting', '~> 1.7.2'
|
||||
pod 'SnapshotTesting', '~> 1.8.0'
|
||||
end
|
||||
```
|
||||
|
||||
@@ -204,6 +204,8 @@ end
|
||||
- [swift-html](https://github.com/pointfreeco/swift-html) is a Swift DSL for type-safe, extensible, and transformable HTML documents and includes an `HtmlSnapshotTesting` module to snapshot test its HTML documents.
|
||||
|
||||
- [GRDBSnapshotTesting](https://github.com/SebastianOsinski/GRDBSnapshotTesting) adds snapshot strategy for testing SQLite database migrations made with [GRDB](https://github.com/groue/GRDB.swift).
|
||||
|
||||
- [AccessibilitySnapshot+SnapshotTesting](https://github.com/Sherlouk/AccessibilitySnapshot-SnapshotTesting) adds [AccessibilitySnapshot](https://github.com/cashapp/AccessibilitySnapshot) support for SnapshotTesting.
|
||||
|
||||
Have you written your own SnapshotTesting plug-in? [Add it here](https://github.com/pointfreeco/swift-snapshot-testing/edit/master/README.md) and submit a pull request!
|
||||
|
||||
@@ -217,7 +219,7 @@ Have you written your own SnapshotTesting plug-in? [Add it here](https://github.
|
||||
|
||||
SnapshotTesting was designed with [witness-oriented programming](https://www.pointfree.co/episodes/ep39-witness-oriented-library-design).
|
||||
|
||||
This concept (and more) are explored thoroughly in a series of episodes on [Point-Free](https://www.pointfree.co), a video series exploring functional programming and Swift hosted by [Brandon Williams](https://github.com/mbrandonw) and [Stephen Celis](https://github.com/stephencelis).
|
||||
This concept (and more) are explored thoroughly in a series of episodes on [Point-Free](https://www.pointfree.co), a video series exploring functional programming and Swift hosted by [Brandon Williams](https://twitter.com/mbrandonw) and [Stephen Celis](https://twitter.com/stephencelis).
|
||||
|
||||
Witness-oriented programming and the design of this library was explored in the following [Point-Free](https://www.pointfree.co) episodes:
|
||||
|
||||
|
||||
+8
-1
@@ -83,7 +83,14 @@ public func _verifyInlineSnapshot<Value>(
|
||||
case .completed:
|
||||
break
|
||||
case .timedOut:
|
||||
return "Exceeded timeout of \(timeout) seconds waiting for snapshot"
|
||||
return """
|
||||
Exceeded timeout of \(timeout) seconds waiting for snapshot.
|
||||
|
||||
This can happen when an asynchronously rendered view (like a web view) has not loaded. \
|
||||
Ensure that every subview of the view hierarchy has loaded to avoid timeouts, or, if a \
|
||||
timeout is unavoidable, consider setting the "timeout" parameter of "assertSnapshot" to \
|
||||
a higher value.
|
||||
"""
|
||||
case .incorrectOrder, .invertedFulfillment, .interrupted:
|
||||
return "Couldn't snapshot value"
|
||||
@unknown default:
|
||||
|
||||
+18
-4
@@ -48,7 +48,7 @@ public func assertSnapshot<Value, Format>(
|
||||
///
|
||||
/// - Parameters:
|
||||
/// - value: A value to compare against a reference.
|
||||
/// - snapshotting: An dictionnay of names and strategies for serializing, deserializing, and comparing values.
|
||||
/// - snapshotting: A dictionary of names and strategies for serializing, deserializing, and comparing values.
|
||||
/// - recording: Whether or not to record a new reference.
|
||||
/// - timeout: The amount of time a snapshot must be generated in.
|
||||
/// - file: The file in which failure occurred. Defaults to the file name of the test case in which this function was called.
|
||||
@@ -207,17 +207,24 @@ public func verifySnapshot<Value, Format>(
|
||||
case .completed:
|
||||
break
|
||||
case .timedOut:
|
||||
return "Exceeded timeout of \(timeout) seconds waiting for snapshot"
|
||||
return """
|
||||
Exceeded timeout of \(timeout) seconds waiting for snapshot.
|
||||
|
||||
This can happen when an asynchronously rendered view (like a web view) has not loaded. \
|
||||
Ensure that every subview of the view hierarchy has loaded to avoid timeouts, or, if a \
|
||||
timeout is unavoidable, consider setting the "timeout" parameter of "assertSnapshot" to \
|
||||
a higher value.
|
||||
"""
|
||||
case .incorrectOrder, .invertedFulfillment, .interrupted:
|
||||
return "Couldn't snapshot value"
|
||||
@unknown default:
|
||||
return "Couldn't snapshot value"
|
||||
}
|
||||
|
||||
guard let diffable = optionalDiffable else {
|
||||
guard var diffable = optionalDiffable else {
|
||||
return "Couldn't snapshot value"
|
||||
}
|
||||
|
||||
|
||||
guard !recording, fileManager.fileExists(atPath: snapshotFileUrl.path) else {
|
||||
try snapshotting.diffing.toData(diffable).write(to: snapshotFileUrl)
|
||||
return recording
|
||||
@@ -240,6 +247,13 @@ public func verifySnapshot<Value, Format>(
|
||||
let data = try Data(contentsOf: snapshotFileUrl)
|
||||
let reference = snapshotting.diffing.fromData(data)
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
// If the image generation fails for the diffable part use the reference
|
||||
if let localDiff = diffable as? UIImage, localDiff.size == .zero {
|
||||
diffable = reference
|
||||
}
|
||||
#endif
|
||||
|
||||
guard let (failure, attachments) = snapshotting.diffing.diff(reference, diffable) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -337,6 +337,11 @@ public struct ViewImageConfig {
|
||||
size: .init(width: 1920, height: 1080),
|
||||
traits: .init()
|
||||
)
|
||||
public static let tv4K = ViewImageConfig(
|
||||
safeArea: .init(top: 120, left: 180, bottom: 120, right: 180),
|
||||
size: .init(width: 3840, height: 2160),
|
||||
traits: .init()
|
||||
)
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -576,7 +581,7 @@ extension View {
|
||||
#endif
|
||||
return perform()
|
||||
}
|
||||
#if os(iOS) || os(tvOS)
|
||||
#if (os(iOS) && !targetEnvironment(macCatalyst)) || os(tvOS)
|
||||
if let glkView = self as? GLKView {
|
||||
return Async(value: inWindow { glkView.snapshot })
|
||||
}
|
||||
@@ -603,6 +608,10 @@ extension View {
|
||||
let work = {
|
||||
if #available(iOS 11.0, macOS 10.13, *) {
|
||||
inWindow {
|
||||
guard wkWebView.frame.width != 0, wkWebView.frame.height != 0 else {
|
||||
callback(Image())
|
||||
return
|
||||
}
|
||||
wkWebView.takeSnapshot(with: nil) { image, _ in
|
||||
_ = delegate
|
||||
callback(image!)
|
||||
@@ -628,6 +637,14 @@ extension View {
|
||||
#endif
|
||||
return nil
|
||||
}
|
||||
#if os(iOS) || os(tvOS)
|
||||
func asImage() -> Image {
|
||||
let renderer = UIGraphicsImageRenderer(bounds: bounds)
|
||||
return renderer.image { rendererContext in
|
||||
layer.render(in: rendererContext.cgContext)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if os(iOS) || os(macOS)
|
||||
@@ -647,13 +664,25 @@ private final class NavigationDelegate: NSObject, WKNavigationDelegate {
|
||||
#endif
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
extension UIApplication {
|
||||
static var sharedIfAvailable: UIApplication? {
|
||||
let sharedSelector = NSSelectorFromString("shared")
|
||||
guard UIApplication.responds(to: sharedSelector) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
let shared = UIApplication.perform(sharedSelector)
|
||||
return shared?.takeUnretainedValue() as! UIApplication?
|
||||
}
|
||||
}
|
||||
|
||||
func prepareView(
|
||||
config: ViewImageConfig,
|
||||
drawHierarchyInKeyWindow: Bool,
|
||||
traits: UITraitCollection,
|
||||
view: UIView,
|
||||
viewController: UIViewController
|
||||
) {
|
||||
) -> () -> Void {
|
||||
let size = config.size ?? viewController.view.frame.size
|
||||
view.frame.size = size
|
||||
if view != viewController.view {
|
||||
@@ -663,7 +692,7 @@ func prepareView(
|
||||
let traits = UITraitCollection(traitsFrom: [config.traits, traits])
|
||||
let window: UIWindow
|
||||
if drawHierarchyInKeyWindow {
|
||||
guard let keyWindow = UIApplication.shared.keyWindow else {
|
||||
guard let keyWindow = UIApplication.sharedIfAvailable?.keyWindow else {
|
||||
fatalError("'drawHierarchyInKeyWindow' requires tests to be run in a host application")
|
||||
}
|
||||
window = keyWindow
|
||||
@@ -674,7 +703,7 @@ func prepareView(
|
||||
viewController: viewController
|
||||
)
|
||||
}
|
||||
add(traits: traits, viewController: viewController, to: window)
|
||||
let dispose = add(traits: traits, viewController: viewController, to: window)
|
||||
|
||||
if size.width == 0 || size.height == 0 {
|
||||
// Try to call sizeToFit() if the view still has invalid size
|
||||
@@ -683,9 +712,7 @@ func prepareView(
|
||||
view.layoutIfNeeded()
|
||||
}
|
||||
|
||||
guard view.frame.size.width > 0, view.frame.size.height > 0 else {
|
||||
fatalError("View not renderable to image at size \(size)")
|
||||
}
|
||||
return dispose
|
||||
}
|
||||
|
||||
func snapshotView(
|
||||
@@ -697,7 +724,7 @@ func snapshotView(
|
||||
)
|
||||
-> Async<UIImage> {
|
||||
let initialFrame = view.frame
|
||||
prepareView(
|
||||
let dispose = prepareView(
|
||||
config: config,
|
||||
drawHierarchyInKeyWindow: drawHierarchyInKeyWindow,
|
||||
traits: traits,
|
||||
@@ -706,7 +733,8 @@ func snapshotView(
|
||||
)
|
||||
// NB: Avoid safe area influence.
|
||||
if config.safeArea == .zero { view.frame.origin = .init(x: offscreen, y: offscreen) }
|
||||
return view.snapshot ?? Async { callback in
|
||||
|
||||
return (view.snapshot ?? Async { callback in
|
||||
addImagesForRenderedViews(view).sequence().run { views in
|
||||
callback(
|
||||
renderer(bounds: view.bounds, for: traits).image { ctx in
|
||||
@@ -720,7 +748,7 @@ func snapshotView(
|
||||
views.forEach { $0.removeFromSuperview() }
|
||||
view.frame = initialFrame
|
||||
}
|
||||
}
|
||||
}).map { dispose(); return $0 }
|
||||
}
|
||||
|
||||
private let offscreen: CGFloat = 10_000
|
||||
@@ -735,30 +763,34 @@ func renderer(bounds: CGRect, for traits: UITraitCollection) -> UIGraphicsImageR
|
||||
return renderer
|
||||
}
|
||||
|
||||
private func add(traits: UITraitCollection, viewController: UIViewController, to window: UIWindow) {
|
||||
let rootViewController = UIViewController()
|
||||
rootViewController.view.backgroundColor = .clear
|
||||
rootViewController.view.frame = window.frame
|
||||
rootViewController.view.translatesAutoresizingMaskIntoConstraints =
|
||||
viewController.view.translatesAutoresizingMaskIntoConstraints
|
||||
rootViewController.preferredContentSize = rootViewController.view.frame.size
|
||||
|
||||
rootViewController.addChild(viewController)
|
||||
viewController.view.frame = rootViewController.view.frame
|
||||
rootViewController.view.addSubview(viewController.view)
|
||||
|
||||
if viewController.view.translatesAutoresizingMaskIntoConstraints {
|
||||
viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
||||
} else {
|
||||
NSLayoutConstraint.activate([
|
||||
viewController.view.topAnchor.constraint(equalTo: rootViewController.view.topAnchor),
|
||||
viewController.view.bottomAnchor.constraint(equalTo: rootViewController.view.bottomAnchor),
|
||||
viewController.view.leadingAnchor.constraint(equalTo: rootViewController.view.leadingAnchor),
|
||||
viewController.view.trailingAnchor.constraint(equalTo: rootViewController.view.trailingAnchor),
|
||||
private func add(traits: UITraitCollection, viewController: UIViewController, to window: UIWindow) -> () -> Void {
|
||||
let rootViewController: UIViewController
|
||||
if viewController != window.rootViewController {
|
||||
rootViewController = UIViewController()
|
||||
rootViewController.view.backgroundColor = .clear
|
||||
rootViewController.view.frame = window.frame
|
||||
rootViewController.view.translatesAutoresizingMaskIntoConstraints =
|
||||
viewController.view.translatesAutoresizingMaskIntoConstraints
|
||||
rootViewController.preferredContentSize = rootViewController.view.frame.size
|
||||
viewController.view.frame = rootViewController.view.frame
|
||||
rootViewController.view.addSubview(viewController.view)
|
||||
if viewController.view.translatesAutoresizingMaskIntoConstraints {
|
||||
viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
||||
} else {
|
||||
NSLayoutConstraint.activate([
|
||||
viewController.view.topAnchor.constraint(equalTo: rootViewController.view.topAnchor),
|
||||
viewController.view.bottomAnchor.constraint(equalTo: rootViewController.view.bottomAnchor),
|
||||
viewController.view.leadingAnchor.constraint(equalTo: rootViewController.view.leadingAnchor),
|
||||
viewController.view.trailingAnchor.constraint(equalTo: rootViewController.view.trailingAnchor),
|
||||
])
|
||||
}
|
||||
rootViewController.addChild(viewController)
|
||||
} else {
|
||||
rootViewController = viewController
|
||||
}
|
||||
rootViewController.setOverrideTraitCollection(traits, forChild: viewController)
|
||||
viewController.didMove(toParent: rootViewController)
|
||||
|
||||
window.rootViewController = rootViewController
|
||||
|
||||
rootViewController.beginAppearanceTransition(true, animated: false)
|
||||
@@ -769,6 +801,12 @@ private func add(traits: UITraitCollection, viewController: UIViewController, to
|
||||
|
||||
viewController.view.setNeedsLayout()
|
||||
viewController.view.layoutIfNeeded()
|
||||
|
||||
return {
|
||||
rootViewController.beginAppearanceTransition(false, animated: false)
|
||||
rootViewController.endAppearanceTransition()
|
||||
window.rootViewController = nil
|
||||
}
|
||||
}
|
||||
|
||||
private final class Window: UIWindow {
|
||||
|
||||
@@ -48,7 +48,7 @@ public struct Snapshotting<Value, Format> {
|
||||
|
||||
/// Transforms a strategy on `Value`s into a strategy on `NewValue`s through a function `(NewValue) -> Value`.
|
||||
///
|
||||
/// This is the most important operation for transforming existing strategies into new strategies. It allows you to transform a `Snapshotting<Value, Format>` into a `Snapshotting<NewValue, Format>` by pulling it back along a function `(NewValue) -> Value`. Notice that the function must go in in the direction `(NewValue) -> Value` even though we are transforming in the other direction `(Snapshotting<Value, Format>) -> Snapshotting<NewValue, Format>`.
|
||||
/// This is the most important operation for transforming existing strategies into new strategies. It allows you to transform a `Snapshotting<Value, Format>` into a `Snapshotting<NewValue, Format>` by pulling it back along a function `(NewValue) -> Value`. Notice that the function must go in the direction `(NewValue) -> Value` even though we are transforming in the other direction `(Snapshotting<Value, Format>) -> Snapshotting<NewValue, Format>`.
|
||||
///
|
||||
/// A simple example of this is to `pullback` the snapshot strategy on `UIView`s to work on `UIViewController`s:
|
||||
///
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
#if os(macOS)
|
||||
import Cocoa
|
||||
|
||||
extension Snapshotting where Value == CGPath, Format == NSImage {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
public static var image: Snapshotting {
|
||||
return .image()
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter precision: The percentage of pixels that must match.
|
||||
public static func image(precision: Float = 1, drawingMode: CGPathDrawingMode = .eoFill) -> Snapshotting {
|
||||
return SimplySnapshotting.image(precision: precision).pullback { path in
|
||||
let bounds = path.boundingBoxOfPath
|
||||
var transform = CGAffineTransform(translationX: -bounds.origin.x, y: -bounds.origin.y)
|
||||
let path = path.copy(using: &transform)!
|
||||
|
||||
let image = NSImage(size: bounds.size)
|
||||
image.lockFocus()
|
||||
let context = NSGraphicsContext.current!.cgContext
|
||||
|
||||
context.addPath(path)
|
||||
context.drawPath(using: drawingMode)
|
||||
image.unlockFocus()
|
||||
return image
|
||||
}
|
||||
}
|
||||
}
|
||||
#elseif os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
|
||||
extension Snapshotting where Value == CGPath, Format == UIImage {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
public static var image: Snapshotting {
|
||||
return .image()
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter precision: The percentage of pixels that must match.
|
||||
public static func image(precision: Float = 1, scale: CGFloat = 1, drawingMode: CGPathDrawingMode = .eoFill) -> Snapshotting {
|
||||
return SimplySnapshotting.image(precision: precision).pullback { path in
|
||||
let bounds = path.boundingBoxOfPath
|
||||
let format: UIGraphicsImageRendererFormat
|
||||
if #available(iOS 11.0, tvOS 11.0, *) {
|
||||
format = UIGraphicsImageRendererFormat.preferred()
|
||||
} else {
|
||||
format = UIGraphicsImageRendererFormat.default()
|
||||
}
|
||||
format.scale = scale
|
||||
return UIGraphicsImageRenderer(bounds: bounds, format: format).image { ctx in
|
||||
let cgContext = ctx.cgContext
|
||||
cgContext.addPath(path)
|
||||
cgContext.drawPath(using: drawingMode)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if os(macOS) || os(iOS) || os(tvOS)
|
||||
@available(iOS 11.0, OSX 10.13, tvOS 11.0, *)
|
||||
extension Snapshotting where Value == CGPath, Format == String {
|
||||
/// A snapshot strategy for comparing bezier paths based on element descriptions.
|
||||
public static var elementsDescription: Snapshotting {
|
||||
return .elementsDescription(numberFormatter: defaultNumberFormatter)
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on element descriptions.
|
||||
///
|
||||
/// - Parameter numberFormatter: The number formatter used for formatting points.
|
||||
public static func elementsDescription(numberFormatter: NumberFormatter) -> Snapshotting {
|
||||
let namesByType: [CGPathElementType: String] = [
|
||||
.moveToPoint: "MoveTo",
|
||||
.addLineToPoint: "LineTo",
|
||||
.addQuadCurveToPoint: "QuadCurveTo",
|
||||
.addCurveToPoint: "CurveTo",
|
||||
.closeSubpath: "Close",
|
||||
]
|
||||
|
||||
let numberOfPointsByType: [CGPathElementType: Int] = [
|
||||
.moveToPoint: 1,
|
||||
.addLineToPoint: 1,
|
||||
.addQuadCurveToPoint: 2,
|
||||
.addCurveToPoint: 3,
|
||||
.closeSubpath: 0,
|
||||
]
|
||||
|
||||
return SimplySnapshotting.lines.pullback { path in
|
||||
var string: String = ""
|
||||
|
||||
path.applyWithBlock { elementPointer in
|
||||
let element = elementPointer.pointee
|
||||
let name = namesByType[element.type] ?? "Unknown"
|
||||
|
||||
if element.type == .moveToPoint && !string.isEmpty {
|
||||
string += "\n"
|
||||
}
|
||||
|
||||
string += name
|
||||
|
||||
if let numberOfPoints = numberOfPointsByType[element.type] {
|
||||
let points = UnsafeBufferPointer(start: element.points, count: numberOfPoints)
|
||||
string += " " + points.map { point in
|
||||
let x = numberFormatter.string(from: point.x as NSNumber)!
|
||||
let y = numberFormatter.string(from: point.y as NSNumber)!
|
||||
return "(\(x), \(y))"
|
||||
}.joined(separator: " ")
|
||||
}
|
||||
|
||||
string += "\n"
|
||||
}
|
||||
|
||||
return string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private let defaultNumberFormatter: NumberFormatter = {
|
||||
let numberFormatter = NumberFormatter()
|
||||
numberFormatter.minimumFractionDigits = 1
|
||||
numberFormatter.maximumFractionDigits = 3
|
||||
return numberFormatter
|
||||
}()
|
||||
#endif
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
#if os(macOS)
|
||||
import Cocoa
|
||||
|
||||
extension Snapshotting where Value == NSBezierPath, Format == NSImage {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
public static var image: Snapshotting {
|
||||
return .image()
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter precision: The percentage of pixels that must match.
|
||||
public static func image(precision: Float = 1) -> Snapshotting {
|
||||
return SimplySnapshotting.image(precision: precision).pullback { path in
|
||||
// Move path info frame:
|
||||
let bounds = path.bounds
|
||||
let transform = AffineTransform(translationByX: -bounds.origin.x, byY: -bounds.origin.y)
|
||||
path.transform(using: transform)
|
||||
|
||||
let image = NSImage(size: path.bounds.size)
|
||||
image.lockFocus()
|
||||
path.fill()
|
||||
image.unlockFocus()
|
||||
return image
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension Snapshotting where Value == NSBezierPath, Format == String {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
@available(iOS 11.0, *)
|
||||
public static var elementsDescription: Snapshotting {
|
||||
return .elementsDescription(numberFormatter: defaultNumberFormatter)
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter numberFormatter: The number formatter used for formatting points.
|
||||
@available(iOS 11.0, *)
|
||||
public static func elementsDescription(numberFormatter: NumberFormatter) -> Snapshotting {
|
||||
let namesByType: [NSBezierPath.ElementType: String] = [
|
||||
.moveTo: "MoveTo",
|
||||
.lineTo: "LineTo",
|
||||
.curveTo: "CurveTo",
|
||||
.closePath: "Close",
|
||||
]
|
||||
|
||||
let numberOfPointsByType: [NSBezierPath.ElementType: Int] = [
|
||||
.moveTo: 1,
|
||||
.lineTo: 1,
|
||||
.curveTo: 3,
|
||||
.closePath: 0,
|
||||
]
|
||||
|
||||
return SimplySnapshotting.lines.pullback { path in
|
||||
var string: String = ""
|
||||
|
||||
var elementPoints = [CGPoint](repeating: .zero, count: 3)
|
||||
for elementIndex in 0..<path.elementCount {
|
||||
let elementType = path.element(at: elementIndex, associatedPoints: &elementPoints)
|
||||
let name = namesByType[elementType] ?? "Unknown"
|
||||
|
||||
if elementType == .moveTo && !string.isEmpty {
|
||||
string += "\n"
|
||||
}
|
||||
|
||||
string += name
|
||||
|
||||
if let numberOfPoints = numberOfPointsByType[elementType] {
|
||||
let points = elementPoints[0..<numberOfPoints]
|
||||
string += " " + points.map { point in
|
||||
let x = numberFormatter.string(from: point.x as NSNumber)!
|
||||
let y = numberFormatter.string(from: point.y as NSNumber)!
|
||||
return "(\(x), \(y))"
|
||||
}.joined(separator: " ")
|
||||
}
|
||||
|
||||
string += "\n"
|
||||
}
|
||||
|
||||
return string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private let defaultNumberFormatter: NumberFormatter = {
|
||||
let numberFormatter = NumberFormatter()
|
||||
numberFormatter.minimumFractionDigits = 1
|
||||
numberFormatter.maximumFractionDigits = 3
|
||||
return numberFormatter
|
||||
}()
|
||||
#endif
|
||||
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
#if canImport(SwiftUI)
|
||||
import Foundation
|
||||
import SwiftUI
|
||||
|
||||
/// The size constraint for a snapshot (similar to `PreviewLayout`).
|
||||
public enum SwiftUISnapshotLayout {
|
||||
#if os(iOS) || os(tvOS)
|
||||
/// Center the view in a device container described by`config`.
|
||||
case device(config: ViewImageConfig)
|
||||
#endif
|
||||
/// Center the view in a fixed size container.
|
||||
case fixed(width: CGFloat, height: CGFloat)
|
||||
/// Fit the view to the ideal size that fits its content.
|
||||
case sizeThatFits
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 13.0, tvOS 13.0, *)
|
||||
extension Snapshotting where Value: SwiftUI.View, Format == UIImage {
|
||||
|
||||
/// A snapshot strategy for comparing SwiftUI Views based on pixel equality.
|
||||
public static var image: Snapshotting {
|
||||
return .image()
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing SwiftUI Views based on pixel equality.
|
||||
///
|
||||
/// - Parameters:
|
||||
/// - drawHierarchyInKeyWindow: Utilize the simulator's key window in order to render `UIAppearance` and `UIVisualEffect`s. This option requires a host application for your tests and will _not_ work for framework test targets.
|
||||
/// - precision: The percentage of pixels that must match.
|
||||
/// - size: A view size override.
|
||||
/// - traits: A trait collection override.
|
||||
public static func image(
|
||||
drawHierarchyInKeyWindow: Bool = false,
|
||||
precision: Float = 1,
|
||||
layout: SwiftUISnapshotLayout = .sizeThatFits,
|
||||
traits: UITraitCollection = .init()
|
||||
)
|
||||
-> Snapshotting {
|
||||
let config: ViewImageConfig
|
||||
|
||||
switch layout {
|
||||
#if os(iOS) || os(tvOS)
|
||||
case let .device(config: deviceConfig):
|
||||
config = deviceConfig
|
||||
#endif
|
||||
case .sizeThatFits:
|
||||
config = .init(safeArea: .zero, size: nil, traits: traits)
|
||||
case let .fixed(width: width, height: height):
|
||||
let size = CGSize(width: width, height: height)
|
||||
config = .init(safeArea: .zero, size: size, traits: traits)
|
||||
}
|
||||
|
||||
return SimplySnapshotting.image(precision: precision).asyncPullback { view in
|
||||
var config = config
|
||||
|
||||
let controller: UIViewController
|
||||
|
||||
if config.size != nil {
|
||||
controller = UIHostingController.init(
|
||||
rootView: view
|
||||
)
|
||||
} else {
|
||||
let hostingController = UIHostingController.init(rootView: view)
|
||||
|
||||
let maxSize = CGSize(width: 0.0, height: 0.0)
|
||||
config.size = hostingController.sizeThatFits(in: maxSize)
|
||||
|
||||
controller = hostingController
|
||||
}
|
||||
|
||||
return snapshotView(
|
||||
config: config,
|
||||
drawHierarchyInKeyWindow: drawHierarchyInKeyWindow,
|
||||
traits: traits,
|
||||
view: controller.view,
|
||||
viewController: controller
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
|
||||
extension Snapshotting where Value == UIBezierPath, Format == UIImage {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
public static var image: Snapshotting {
|
||||
return .image()
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter precision: The percentage of pixels that must match.
|
||||
public static func image(precision: Float = 1, scale: CGFloat = 1) -> Snapshotting {
|
||||
return SimplySnapshotting.image(precision: precision).pullback { path in
|
||||
let bounds = path.bounds
|
||||
let format: UIGraphicsImageRendererFormat
|
||||
if #available(iOS 11.0, tvOS 11.0, *) {
|
||||
format = UIGraphicsImageRendererFormat.preferred()
|
||||
} else {
|
||||
format = UIGraphicsImageRendererFormat.default()
|
||||
}
|
||||
format.scale = scale
|
||||
return UIGraphicsImageRenderer(bounds: bounds, format: format).image { ctx in
|
||||
path.fill()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
extension Snapshotting where Value == UIBezierPath, Format == String {
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
public static var elementsDescription: Snapshotting {
|
||||
Snapshotting<CGPath, String>.elementsDescription.pullback { path in path.cgPath }
|
||||
}
|
||||
|
||||
/// A snapshot strategy for comparing bezier paths based on pixel equality.
|
||||
///
|
||||
/// - Parameter numberFormatter: The number formatter used for formatting points.
|
||||
public static func elementsDescription(numberFormatter: NumberFormatter) -> Snapshotting {
|
||||
Snapshotting<CGPath, String>.elementsDescription(
|
||||
numberFormatter: numberFormatter
|
||||
).pullback { path in path.cgPath }
|
||||
}
|
||||
}
|
||||
#endif
|
||||
+12
-1
@@ -12,7 +12,7 @@ extension Diffing where Value == UIImage {
|
||||
/// - Returns: A new diffing strategy.
|
||||
public static func image(precision: Float) -> Diffing {
|
||||
return Diffing(
|
||||
toData: { $0.pngData()! },
|
||||
toData: { $0.pngData() ?? emptyImage().pngData()! },
|
||||
fromData: { UIImage(data: $0, scale: UIScreen.main.scale)! }
|
||||
) { old, new in
|
||||
guard !compare(old, new, precision: precision) else { return nil }
|
||||
@@ -32,6 +32,17 @@ extension Diffing where Value == UIImage {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Used when the image size has no width or no height to generated the default empty image
|
||||
private static func emptyImage() -> UIImage {
|
||||
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 400, height: 80))
|
||||
label.backgroundColor = .red
|
||||
label.text = "Error: No image could be generated for this view as its size was zero. Please set an explicit size in the test."
|
||||
label.textAlignment = .center
|
||||
label.numberOfLines = 3
|
||||
return label.asImage()
|
||||
}
|
||||
}
|
||||
|
||||
extension Snapshotting where Value == UIImage, Format == UIImage {
|
||||
|
||||
+2
-1
@@ -47,13 +47,14 @@ extension Snapshotting where Value == UIView, Format == String {
|
||||
)
|
||||
-> Snapshotting<UIView, String> {
|
||||
return SimplySnapshotting.lines.pullback { view in
|
||||
prepareView(
|
||||
let dispose = prepareView(
|
||||
config: .init(safeArea: .zero, size: size ?? view.frame.size, traits: traits),
|
||||
drawHierarchyInKeyWindow: false,
|
||||
traits: .init(),
|
||||
view: view,
|
||||
viewController: .init()
|
||||
)
|
||||
defer { dispose() }
|
||||
return purgePointers(
|
||||
view.perform(Selector(("recursiveDescription"))).retain().takeUnretainedValue()
|
||||
as! String
|
||||
|
||||
+5
-3
@@ -64,13 +64,14 @@ extension Snapshotting where Value == UIViewController, Format == String {
|
||||
/// A snapshot strategy for comparing view controllers based on their embedded controller hierarchy.
|
||||
public static var hierarchy: Snapshotting {
|
||||
return Snapshotting<String, String>.lines.pullback { viewController in
|
||||
prepareView(
|
||||
let dispose = prepareView(
|
||||
config: .init(),
|
||||
drawHierarchyInKeyWindow: false,
|
||||
traits: .init(),
|
||||
view: viewController.view,
|
||||
viewController: viewController
|
||||
)
|
||||
defer { dispose() }
|
||||
return purgePointers(
|
||||
viewController.perform(Selector(("_printHierarchy"))).retain().takeUnretainedValue() as! String
|
||||
)
|
||||
@@ -95,13 +96,14 @@ extension Snapshotting where Value == UIViewController, Format == String {
|
||||
)
|
||||
-> Snapshotting<UIViewController, String> {
|
||||
return SimplySnapshotting.lines.pullback { viewController in
|
||||
prepareView(
|
||||
let dispose = prepareView(
|
||||
config: .init(safeArea: config.safeArea, size: size ?? config.size, traits: config.traits),
|
||||
drawHierarchyInKeyWindow: false,
|
||||
traits: .init(),
|
||||
traits: traits,
|
||||
view: viewController.view,
|
||||
viewController: viewController
|
||||
)
|
||||
defer { dispose() }
|
||||
return purgePointers(
|
||||
viewController.view.perform(Selector(("recursiveDescription"))).retain().takeUnretainedValue()
|
||||
as! String
|
||||
|
||||
Binary file not shown.
Generated
+29
-14
@@ -1,3 +1,5 @@
|
||||

|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZGWNK5FEZFF6&source=url)
|
||||
[](https://travis-ci.org/nicklockwood/SwiftFormat)
|
||||
[](https://coveralls.io/github/nicklockwood/SwiftFormat)
|
||||
@@ -156,7 +158,13 @@ If you prefer, you can use unix pipes to include SwiftFormat as part of a comman
|
||||
$ cat /path/to/file.swift | swiftformat --output /path/to/file.swift
|
||||
```
|
||||
|
||||
Omitting the `--output /path/to/file.swift` will print the formatted file to Standard Output (stdout). You can also use `>` to specify the output path as follows:
|
||||
Omitting the `--output /path/to/file.swift` will print the formatted file to Standard Output (stdout). You can also pass "stdout" explicitly as the output path:
|
||||
|
||||
```bash
|
||||
$ cat /path/to/file.swift | swiftformat --output stdout
|
||||
```
|
||||
|
||||
Or you can use `>` to specify the output path as follows:
|
||||
|
||||
```bash
|
||||
$ cat /path/to/file.swift | swiftformat > /path/to/file.swift
|
||||
@@ -314,19 +322,20 @@ Git pre-commit hook
|
||||
|
||||
1. Follow the instructions for installing the SwiftFormat command-line tool.
|
||||
|
||||
2. Edit or create a `.git/hooks/pre-commit` file in your project folder. The .git folder is hidden but should already exist if you are using Git with your project, so open it with the terminal, or the Finder's `Go > Go to Folder...` menu.
|
||||
2. Install [git-format-staged](https://github.com/hallettj/git-format-staged).
|
||||
|
||||
3. Add the following line in the pre-commit file (unlike the Xcode build phase approach, this uses your locally installed version of SwiftFormat, not a separate copy in your project repository)
|
||||
3. Edit or create a `.git/hooks/pre-commit` file in your project folder. The .git folder is hidden but should already exist if you are using Git with your project, so open it with the terminal, or the Finder's `Go > Go to Folder...` menu.
|
||||
|
||||
4. Add the following line in the pre-commit file. The `{}` will be replaced automatically by the path to the Swift file being formatted:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
git diff --diff-filter=d --staged --name-only | grep -e '\.swift$' | while read line; do
|
||||
swiftformat "${line}";
|
||||
git add "$line";
|
||||
done
|
||||
git-format-staged --formatter "swiftformat stdin --stdinpath {}" "*.swift"
|
||||
```
|
||||
|
||||
4. enable the hook by typing `chmod +x .git/hooks/pre-commit` in the terminal
|
||||
|
||||
(Note that this example uses your locally installed version of SwiftFormat, not a separate copy in your project repository. You can replace `swiftformat` with the path to a copy inside your project if you prefer.)
|
||||
|
||||
5. enable the hook by typing `chmod +x .git/hooks/pre-commit` in the terminal.
|
||||
|
||||
The pre-commit hook will now run whenever you run `git commit`. Running `git commit --no-verify` will skip the pre-commit hook.
|
||||
|
||||
@@ -635,12 +644,12 @@ FAQ
|
||||
|
||||
*Q. What platforms does SwiftFormat support?*
|
||||
|
||||
> A. SwiftFormat works on macOS 10.12 (Sierra) and above, and also runs on Ubuntu Linux.
|
||||
> A. SwiftFormat works on macOS 10.13 (High Sierra) and above, and also runs on Ubuntu Linux.
|
||||
|
||||
|
||||
*Q. What versions of Swift are supported?*
|
||||
|
||||
> A. The SwiftFormat framework and command-line tool can be compiled using Swift 4.0 and above, and can format programs written in Swift 3.x, 4.x or 5. Swift 2.x is no longer actively supported. If you are still using Swift 2.x, and find that SwiftFormat breaks your code, the best solution is probably to revert to an earlier SwiftFormat release, or enable only a small subset of rules.
|
||||
> A. The SwiftFormat framework and command-line tool can be compiled using Swift 4.2 and above, and can format programs written in Swift 4.x or 5. Swift 3.x is no longer actively supported. If you are still using Swift 3.x or earlier and find that SwiftFormat breaks your code, the best solution is probably to revert to an earlier SwiftFormat release, or enable only a small subset of rules. Use the `--swiftversion` argument to enable additional rules specific to later Swift versions.
|
||||
|
||||
|
||||
*Q. SwiftFormat made changes I didn't want it to. How can I find out which rules to disable?*
|
||||
@@ -648,6 +657,11 @@ FAQ
|
||||
> A. If you run SwiftFormat using the `--verbose` option, it will tell you which rules were applied to each file. You can then selectively disable certain rules using the `--disable` argument (see below).
|
||||
|
||||
|
||||
*Q. People on my team have different SwiftFormat versions installed. How can we ensure consistent formatting?
|
||||
|
||||
> A. You can specify a `--minversion` argument in your project's .swiftformat` file to fail the build if developers attempt to use an older SwiftFormat version.
|
||||
|
||||
|
||||
*Q. How can I modify the formatting rules?*
|
||||
|
||||
> A. Many configuration options are exposed in the command-line interface or `.swiftformat` configuration file. You can either set these manually, or use the `--inferoptions` argument to automatically generate the configuration from your existing project.
|
||||
@@ -719,11 +733,12 @@ SwiftFormat is not a commercially-funded product, it's a labour of love given fr
|
||||
Credits
|
||||
------------
|
||||
|
||||
* [Tony Arnold](https://github.com/tonyarnold) - Xcode source editor extension
|
||||
* [Vincent Bernier](https://github.com/vinceburn) - Xcode extension settings UI
|
||||
* [Tony Arnold](https://github.com/tonyarnold) - SwiftFormat for Xcode
|
||||
* [Vincent Bernier](https://github.com/vinceburn) - SwiftFormat for Xcode settings UI
|
||||
* [Vikram Kriplaney](https://github.com/markiv) - SwiftFormat for Xcode icon
|
||||
* [Maxime Marinel](https://github.com/bourvill) - Git pre-commit hook script
|
||||
* [Romain Pouclet](https://github.com/palleas) - Homebrew formula
|
||||
* [Aerobounce](https://github.com/aerobounce) - Homebrew cask for source editor extension
|
||||
* [Aerobounce](https://github.com/aerobounce) - Homebrew cask for SwiftFormat for Xcode
|
||||
* [Ali Akhtarzada](https://github.com/aliak00) - Several path-related CLI enhancements
|
||||
* [Yonas Kolb](https://github.com/yonaskolb) - Swift Package Manager integration
|
||||
* [Wolfgang Lutz](https://github.com/Lutzifer) - AppleScript integration instructions
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Framewo
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/GradientLoadingBar/GradientLoadingBar.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/LightweightObservable/LightweightObservable.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting/SnapshotTesting.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting/SnapshotTesting.framework/Headers" -iframework "$(PLATFORM_DIR)/Developer/Library/Frameworks" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "GradientLoadingBar" -framework "LightweightObservable" -framework "SnapshotTesting" -framework "XCTest"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Framewo
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/GradientLoadingBar/GradientLoadingBar.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/LightweightObservable/LightweightObservable.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting/SnapshotTesting.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting/SnapshotTesting.framework/Headers" -iframework "$(PLATFORM_DIR)/Developer/Library/Frameworks" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SnapshotTesting"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "GradientLoadingBar" -framework "LightweightObservable" -framework "SnapshotTesting" -framework "XCTest"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.7.2</string>
|
||||
<string>1.8.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Framewo
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "XCTest"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Framewo
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "XCTest"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ public extension GradientActivityIndicatorView {
|
||||
self.isHidden = isFinished
|
||||
|
||||
completion?(isFinished)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/// Fade in the current view by setting the `isHidden` flag to `false` and animating the `alpha` to one.
|
||||
|
||||
Reference in New Issue
Block a user