diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 1fd1c08..873c8d9 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -9,9 +9,11 @@ PODS: - FBSnapshotTestCase/Core (2.1.0) - FBSnapshotTestCase/SwiftSupport (2.1.0): - FBSnapshotTestCase/Core - - GradientButton (0.2.0): + - GradientButton (0.2.5): - PureLayout + - RZDataBinding - PureLayout (3.0.1) + - RZDataBinding (2.0.3) - Specta (1.0.5) DEPENDENCIES: @@ -30,8 +32,9 @@ SPEC CHECKSUMS: Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516 FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d - GradientButton: 7be2c4bc564d0cfe7c3043a4410723d95050cc0d + GradientButton: 39ca21ff38e9270f0c8a55ed96d00d7b32a3d4d9 PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb + RZDataBinding: 00d468ebe667f02c2bd5416f87b4b5d826188c4d Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 COCOAPODS: 0.39.0 diff --git a/Example/Pods/Headers/Private/RZDataBinding/NSObject+RZDataBinding.h b/Example/Pods/Headers/Private/RZDataBinding/NSObject+RZDataBinding.h new file mode 120000 index 0000000..446f9f6 --- /dev/null +++ b/Example/Pods/Headers/Private/RZDataBinding/NSObject+RZDataBinding.h @@ -0,0 +1 @@ +../../../RZDataBinding/RZDataBinding/NSObject+RZDataBinding.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RZDataBinding/RZDBCoalesce.h b/Example/Pods/Headers/Private/RZDataBinding/RZDBCoalesce.h new file mode 120000 index 0000000..18b8c59 --- /dev/null +++ b/Example/Pods/Headers/Private/RZDataBinding/RZDBCoalesce.h @@ -0,0 +1 @@ +../../../RZDataBinding/RZDataBinding/RZDBCoalesce.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RZDataBinding/RZDBMacros.h b/Example/Pods/Headers/Private/RZDataBinding/RZDBMacros.h new file mode 120000 index 0000000..f9f4496 --- /dev/null +++ b/Example/Pods/Headers/Private/RZDataBinding/RZDBMacros.h @@ -0,0 +1 @@ +../../../RZDataBinding/RZDataBinding/RZDBMacros.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RZDataBinding/RZDBTransforms.h b/Example/Pods/Headers/Private/RZDataBinding/RZDBTransforms.h new file mode 120000 index 0000000..5eef5c5 --- /dev/null +++ b/Example/Pods/Headers/Private/RZDataBinding/RZDBTransforms.h @@ -0,0 +1 @@ +../../../RZDataBinding/RZDataBinding/RZDBTransforms.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RZDataBinding/RZDataBinding.h b/Example/Pods/Headers/Private/RZDataBinding/RZDataBinding.h new file mode 120000 index 0000000..81730c5 --- /dev/null +++ b/Example/Pods/Headers/Private/RZDataBinding/RZDataBinding.h @@ -0,0 +1 @@ +../../../RZDataBinding/RZDataBinding/RZDataBinding.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/GradientButton.podspec.json b/Example/Pods/Local Podspecs/GradientButton.podspec.json index 375a8d7..42e3af8 100644 --- a/Example/Pods/Local Podspecs/GradientButton.podspec.json +++ b/Example/Pods/Local Podspecs/GradientButton.podspec.json @@ -1,6 +1,6 @@ { "name": "GradientButton", - "version": "0.2.0", + "version": "0.2.5", "summary": "GradientButton is a UIBUtton subclassing with gradient support", "homepage": "https://github.com/giuseppenucifora/GradientButton", "license": "MIT", @@ -9,7 +9,7 @@ }, "source": { "git": "https://github.com/giuseppenucifora/GradientButton.git", - "tag": "0.2.0" + "tag": "0.2.5" }, "platforms": { "ios": "7.0" @@ -25,6 +25,9 @@ "dependencies": { "PureLayout": [ + ], + "RZDataBinding": [ + ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 1fd1c08..873c8d9 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -9,9 +9,11 @@ PODS: - FBSnapshotTestCase/Core (2.1.0) - FBSnapshotTestCase/SwiftSupport (2.1.0): - FBSnapshotTestCase/Core - - GradientButton (0.2.0): + - GradientButton (0.2.5): - PureLayout + - RZDataBinding - PureLayout (3.0.1) + - RZDataBinding (2.0.3) - Specta (1.0.5) DEPENDENCIES: @@ -30,8 +32,9 @@ SPEC CHECKSUMS: Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516 FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d - GradientButton: 7be2c4bc564d0cfe7c3043a4410723d95050cc0d + GradientButton: 39ca21ff38e9270f0c8a55ed96d00d7b32a3d4d9 PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb + RZDataBinding: 00d468ebe667f02c2bd5416f87b4b5d826188c4d Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 COCOAPODS: 0.39.0 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 9487d02..bb757a9 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -10,6 +10,21 @@ 46 objects + 004B8B4DB509F5C34F1E87281B3D22EF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + NSObject+Expecta.h + path + Expecta/NSObject+Expecta.h + sourceTree + <group> + 005D82263C7AFBCB593EAB7F0F29C2CD buildActionMask @@ -25,6 +40,30 @@ runOnlyForDeploymentPostprocessing 0 + 006E0D11748B23AF2B8759790A79738F + + children + + 34E8A70BE4FE21EB1569493212C04959 + 6EB3DB82821962E7F3E6A9B021E20A19 + 4164D7FCF962A114376CCE647185AAD0 + 4F33F7DF2E98D842EAB699F126592B5A + 3AC6D14C692F7F5556E221436216C84B + 25A8AF3A1686ABD63B5E963294E03BC7 + 9C3C117356E1598836F0BB397C419A2D + 98D81D28ED931EB48529F88482424BBE + 981700D2D7D9F32AC6B0067C450D2E7A + 9823F8532BD40766A20830D449428F4A + + isa + PBXGroup + name + PureLayout + path + PureLayout + sourceTree + <group> + 00ADDBCA9E516B429C7877EB5AED2DCE buildConfigurationList @@ -46,26 +85,38 @@ productName Specta productReference - 62CE47C764C6AD46DE864B7A5664A07D + 3BE0881FC7EAA0D045431529F418D968 productType com.apple.product-type.framework + 013F6AC45865D33DDADE4C0E90E33F8A + + includeInIndex + 1 + isa + PBXFileReference + path + Specta.modulemap + sourceTree + <group> + 016CFE2C943D14CC45D9F4F7EAF5F83E fileRef - C88FF39B204A688A5CA53D7F95933D61 + BC39775C796A091CF8214D510BE01186 isa PBXBuildFile - 01B7874DB1C39E2441E993D3FF792FA3 + 016E40BE048F626FBCE74743FA3ED994 children - 9FA8BF66C6BE1C7120E1E47AD378C8C6 - 7D81D7EEC312BCAFD21F876E09579B84 - 781B3D3B63EA10AFCB9E4F18CEE68FF5 - 235FB682F838C6842792EF01A4DB7606 - E2A7D3FA8FED9DAF6BC709B458B46525 + 9A2297865EBBB0C6BB68FCD2DB24F5E6 + 774D3423011AB5E288DE4366B3E2E3F3 + 4FC7A37082C22263362EA4DCDBF7677E + 006E0D11748B23AF2B8759790A79738F + 07DE696A14C65F0F61B2CE21D02592A3 + 5ECC503DDABF56FB4D87603552CF97E9 isa PBXGroup @@ -74,21 +125,25 @@ sourceTree <group> - 01BFA75E9A1AAD1773C62C0B384DA09E + 020D61DCBF246CF222ED4F757106F448 + includeInIndex + 1 isa - PBXTargetDependency + PBXFileReference + lastKnownFileType + sourcecode.c.h name - PureLayout - target - 1D01B491CB2A65D97C9A0D1477C75AE8 - targetProxy - 89BFC58884D390B7305188C6431351C0 + ExpectaSupport.h + path + Expecta/ExpectaSupport.h + sourceTree + <group> 022DD32C1475CD07C5D35FD04E7B4799 fileRef - 2BC4279D7351FD3A726A6EF02FC8ED19 + F5C20FAE8643FC37E5DAB35FC8E0760C isa PBXBuildFile settings @@ -99,6 +154,21 @@ + 0242034FCCE3452F6F4FD5564A1653DA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPDoubleTuple.h + path + Expecta/EXPDoubleTuple.h + sourceTree + <group> + 02B59B30124A24258BE47E42E70DA58B includeInIndex @@ -110,62 +180,109 @@ sourceTree <group> - 03D38D6B6A25E74191E5101B8E9AAE3D + 02FDF0F2D799BC721DE6E26BA5DA0232 - fileRef - B08719CB100591D8543C357A3C177497 + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXBuildFile - - 03D9ECD289487969E2EFBE25E1DEFDDC - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - Pods_GradientButton_Tests.framework - path - Pods_GradientButton_Tests.framework - sourceTree - BUILT_PRODUCTS_DIR - - 03F0E7D7379464D80A5585C3D68EF9BF - - includeInIndex + PBXContainerItemProxy + proxyType 1 + remoteGlobalIDString + E1E99BE24B4D5E362ECFB6580A5D5A8D + remoteInfo + FBSnapshotTestCase + + 0438547B0FFFCC910522A74E1EAF8817 + + children + + D17A2796D69F9BDEC37CC8D25BF6138A + 013F6AC45865D33DDADE4C0E90E33F8A + 905E14FEA87A1E6F96197B938699A150 + 2EC4ABA069B61D8B9870CD5251429012 + 13C7EFFBFE3D5492299EC74CAA370A72 + BA43AAD4F36B401896012783FB24598D + isa - PBXFileReference - lastKnownFileType - sourcecode.c.h + PBXGroup name - XCTestCase+Specta.h + Support Files path - Specta/Specta/XCTestCase+Specta.h + ../Target Support Files/Specta sourceTree <group> - 0566C8B9ADE96B49FC01A2B3E52421BE + 0480286B6638045E395B7A648C402A0E + + fileRef + 9ED07AF15EAC6FCE90D6D4B1C53DFA48 + isa + PBXBuildFile + + 05A779189AC915EB6F7D7849CDFD8B16 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - SPTSpec.h + EXPMatchers+respondTo.m path - Specta/Specta/SPTSpec.h + Expecta/Matchers/EXPMatchers+respondTo.m + sourceTree + <group> + + 0611617871D3A830320E9CCC712A045A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beTruthy.m + path + Expecta/Matchers/EXPMatchers+beTruthy.m + sourceTree + <group> + + 06B08F43EA68354251FD06F520C2ADE0 + + fileRef + EAD347186D86104EE9A678A16E3AE792 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 0716A369CAD7CF7E97AB966346E908D7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + ExpectaObject.m + path + Expecta/ExpectaObject.m sourceTree <group> 07794005619C9529F3F05B5283710891 fileRef - FE823448FDFC8473EFC2E2B8AA5031AF + D6676E16DABB6E44DE00FCF93EDA9F8F isa PBXBuildFile settings @@ -176,10 +293,59 @@ - 08588B6806E63A180C86EE9E2B2EF761 + 07DE696A14C65F0F61B2CE21D02592A3 + + children + + 53612895B3EC96BC5D8B823C9C3F1204 + D372CF80334F616774F0A45CF95A3EC2 + D601451BE4846ACB9288B666CF8CF3A1 + E5B859664D04F94C8E03F34507B888D6 + BA7765EBA82993CEEA58B51C29F61C8C + 1E3425F719FD01633DA625B705703623 + EAD347186D86104EE9A678A16E3AE792 + A6A4CF0C22FD60A7E6AA68F5475D6191 + 415ED3BEFFB170C7B241B4850FFA5F73 + + isa + PBXGroup + name + RZDataBinding + path + RZDataBinding + sourceTree + <group> + + 082D2DBFF12A6677A034924E2EB3DA2F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beginWith.m + path + Expecta/Matchers/EXPMatchers+beginWith.m + sourceTree + <group> + + 08B2DD6FD7F09CFF5471EBD10D04780A + + isa + PBXTargetDependency + name + GradientButton-GradientButton + target + F6C9BBFE5027FF658937CF14A3B94902 + targetProxy + FAC8086AC6F1D28CB4EC3F418BC2666A + + 09E01CA34898C4ED8040FF75D3E85407 fileRef - 3FB4A919E61BF9E7388E2A08D5F6D7EA + 60C8513D5E2EE8B210234D8BF8803350 isa PBXBuildFile settings @@ -190,20 +356,7 @@ - 0923AB1E2B0C2F829217978D85C5F71A - - buildActionMask - 2147483647 - files - - 51FB4A4521672D29F859B6F9D64083BB - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 099A52678B3E80735A017D133E675C0B + 0AB7C1FA77859ECDB4474A0B84B18BBC includeInIndex 1 @@ -211,25 +364,13 @@ PBXFileReference lastKnownFileType sourcecode.c.h + name + EXPMatchers+beGreaterThanOrEqualTo.h path - Expecta+Snapshots-prefix.pch + Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h sourceTree <group> - 09AF215E89065D9BBD89BF95FC34D84D - - fileRef - 0B4D563AB4E127AF0A9FBC1E231C5D43 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - 0B4B337A09E4D2CA2372028AF3A23F71 isa @@ -241,25 +382,43 @@ targetProxy 89BF516BAE1C018E4CD565FA371F2474 - 0B4D563AB4E127AF0A9FBC1E231C5D43 + 0C0B5F723DC63E0A52CB0B8EB9CFD593 - includeInIndex - 1 + fileRef + C21F82D5D54D991B251BC3DB5968D6B0 isa - PBXFileReference - lastKnownFileType - sourcecode.c.h + PBXBuildFile + + 0C12DA1852E39E814DC7886DACB9024D + + children + + 30A36B11F34940495699E9C1D658F2AA + BF54BC4373AB470E0CC616F398D3F6A0 + 53224FD87A08E521400DBDAF087B50D0 + 6F8B7254FC3E5E43DD7FA139ACAD34D2 + FF8650E6D401FCC064B973FB2A81F359 + 9505F501D668FD302D1F04D160DFB941 + D6676E16DABB6E44DE00FCF93EDA9F8F + 98F183ADC3BC61F641CEE0C3563EDED8 + EF89F95CB4AB5469330A0B4EBA4ABB2B + BC39775C796A091CF8214D510BE01186 + 100012B8CA4CA7C6CC42CE20DD3A9A28 + 6F9F503059D32B2A5712986E7E57854F + 8D7704A3143D7A23637710CB6F5516BA + 7B1E775E0DE67B55E2A06CBA02F0B545 + + isa + PBXGroup name - NSLayoutConstraint+PureLayout.h - path - PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h + Core sourceTree <group> 0C6FF91EB1F0391ED75DC72D31D159EF fileRef - 6F7482216BDAA86DA901E47954D81943 + 0611617871D3A830320E9CCC712A045A isa PBXBuildFile settings @@ -268,23 +427,23 @@ -fno-objc-arc - 0CD0F5EFF1B3472519F5B4EE821A38E4 + 0CE35342C91CF2808B8A00BF0C25E7B8 includeInIndex 1 isa PBXFileReference lastKnownFileType - text.xcconfig + sourcecode.c.objc path - PureLayout.xcconfig + EXPMatchers+FBSnapshotTest.m sourceTree <group> 0CF69B9ADBDA54782D062CB197F382A0 baseConfigurationReference - 561534F9468BFFFCD27420D9028EAF1D + 20D124EF05AE32370F86CD09560CCA7B buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -340,7 +499,7 @@ 0D16B556212D317A0D4FEB71E102E207 fileRef - 2CD52C0184F0903B7EA8B033B01717A9 + FC8D9D1838053461A38436576FA42801 isa PBXBuildFile settings @@ -351,6 +510,19 @@ + 0D814C648B673D8BC66911763956D91A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + 0D888F29E05E498D0CD91A51D28599A5 buildConfigurationList @@ -372,42 +544,28 @@ productName Expecta productReference - A45E76BFFFDE5D8C1CBF15F03770F18F + C787295E3E6A59B347F5105AC60CFE61 productType com.apple.product-type.framework - 0DB88079AA812102CC021B10E7F545CC + 0DEC9E7B4B932BB9F2449793F33159BB - includeInIndex - 1 + fileRef + 318E68C626CC4208EFCB86851594A8EF isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - FBSnapshotTestCase-dummy.m - sourceTree - <group> - - 0E225E66B94E712DC093C6724AD11CFD - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SpectaTypes.h - path - Specta/Specta/SpectaTypes.h - sourceTree - <group> + PBXBuildFile + settings + + ATTRIBUTES + + Public + + 0EBFA5FBE4953A83B677CE2A75746761 fileRef - 390F5EAD0FA0ACB91D06A90A974E0A45 + 825A492BC1056B06E2C71EF1A5BFA137 isa PBXBuildFile settings @@ -419,7 +577,7 @@ 0F94F5B0ABB3252B9275B7C129EC7A26 fileRef - 238F2FBD86752F42D840CC54A3F5A407 + FE4CDB4793F9377F7B58BE433BBD32EB isa PBXBuildFile settings @@ -430,50 +588,7 @@ - 0FD5F09A118ABEABB1BDF04E6DA432D3 - - fileRef - 90A24E859872FBF4996DB8FF2C72D641 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 10223120EC72253E8C2A011647319874 - - buildConfigurations - - 44D9A89B4EC455592EBEB5D0A2FB93A2 - 7841889E439BC23D50C3D69759A8C4CF - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 10782AE189DA5C3D8516751CF9C19A5E - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beCloseTo.m - path - Expecta/Matchers/EXPMatchers+beCloseTo.m - sourceTree - <group> - - 10E1AB2290A940590A50E8D54F54A2F6 + 100012B8CA4CA7C6CC42CE20DD3A9A28 includeInIndex 1 @@ -482,16 +597,53 @@ lastKnownFileType sourcecode.c.h name - EXPUnsupportedObject.h + UIImage+Diff.h path - Expecta/EXPUnsupportedObject.h + FBSnapshotTestCase/Categories/UIImage+Diff.h + sourceTree + <group> + + 1012DC52A73DA4CA321CE5716F427185 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + NSValue+Expecta.h + path + Expecta/NSValue+Expecta.h + sourceTree + <group> + + 105509F5FC8E0F5E497C81B8C6BC4E94 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 109F56E0BCDA4ED3076434C1EFDAB653 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beIdenticalTo.h + path + Expecta/Matchers/EXPMatchers+beIdenticalTo.h sourceTree <group> 11C1AEB289C1EB80089349B71F09D04B fileRef - 510D07686732BBA3C4B870F02EAC7A30 + A8B60103507D1B3E384010DBDA9ABD97 isa PBXBuildFile settings @@ -502,34 +654,21 @@ - 129E1C0CEC059CE5EFEA8DDBDC6BA783 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - PureLayout-prefix.pch - sourceTree - <group> - - 129E54BA5B6CB0AAD7070AB10AA84C5D + 121DC6EB0F3399FD0F73E59EA442E866 isa PBXTargetDependency name - FBSnapshotTestCase + PureLayout target - E1E99BE24B4D5E362ECFB6580A5D5A8D + 23031C93E56B55904F315E8034C218A0 targetProxy - 4AF1D6B15EDE8F871FECA8DB5A64BB12 + 9D9F65CDEFA3D586AC6C327E3400FDC8 1312A7D381C51428CF481E33E3D37901 fileRef - 80156AEEDC4D129C5C54BFFED8633BF6 + AD79C9F95C7D5D2D4125F362E5EAAE61 isa PBXBuildFile settings @@ -541,7 +680,7 @@ 131532787AD40BE1F35DF288D2E6FFD7 fileRef - 70688D0A2ACC0A7F02D0F1235F0E8BF4 + 7EDB63572ED8AEA22C229A190BE005A5 isa PBXBuildFile settings @@ -552,10 +691,49 @@ + 13C7EFFBFE3D5492299EC74CAA370A72 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Specta-prefix.pch + sourceTree + <group> + + 13E0AA7314710B18E5C0D554F6C8EBCB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beLessThanOrEqualTo.h + path + Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h + sourceTree + <group> + + 13F3482AB2EC618C80BB27554D43C107 + + isa + PBXTargetDependency + name + Specta + target + 00ADDBCA9E516B429C7877EB5AED2DCE + targetProxy + CF9693AA8FD2EC41F955660871D595A8 + 14517AB91B16B5D797F4374300AFA89F baseConfigurationReference - 2C6E94DA05F91DF35F74319DC6F0DF33 + 905E14FEA87A1E6F96197B938699A150 buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -608,7 +786,27 @@ name Debug - 1509EB0EDB59BB6A235C075BDF27ACA5 + 15B989952586B2C97574194BAA35FCF2 + + buildActionMask + 2147483647 + files + + 0C0B5F723DC63E0A52CB0B8EB9CFD593 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 160FDA46EE919AAF97E0E4EC04C9E232 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 16D2B939AB1F36C58368A81401D4A1B8 includeInIndex 1 @@ -617,57 +815,16 @@ lastKnownFileType sourcecode.c.objc name - EXPMatchers+beInstanceOf.m + EXPUnsupportedObject.m path - Expecta/Matchers/EXPMatchers+beInstanceOf.m - sourceTree - <group> - - 160FDA46EE919AAF97E0E4EC04C9E232 - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 1642D180CFE6CF111DA0CA913F8F8CBB - - children - - A19848361FB4BD8BE40DFFCF8D626CFC - 886747D682B17CC3C7D2E71688B2D715 - 0DB88079AA812102CC021B10E7F545CC - 643CCBBA55156DB8710D9952DD98C657 - 8775AA97F82B7910225CC126C2BBB599 - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/FBSnapshotTestCase - sourceTree - <group> - - 165168466D5225B91F0D97489203BBB0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIImage+Diff.h - path - FBSnapshotTestCase/Categories/UIImage+Diff.h + Expecta/EXPUnsupportedObject.m sourceTree <group> 17572374B2AE183C6347C41E8DF8E579 fileRef - 31480E56FB4A5AF08ADA95062BFEFC89 + EF5ACB77A8865026316E5CEFE6C04F8D isa PBXBuildFile settings @@ -676,60 +833,59 @@ -fno-objc-arc - 17A1FCF90A9C0E52BA56CCF8B9DCF00C - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+respondTo.h - path - Expecta/Matchers/EXPMatchers+respondTo.h - sourceTree - <group> - 18359C98147B5E9CBFDBB349F54C8BE2 fileRef - 6FB21B374A92060A3B57FDA3CCF76C16 + 809F5FAA248A785D2721C79289C7037B isa PBXBuildFile - 18A173CD4A94B7C9489B09E59BA4482B - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 1D01B491CB2A65D97C9A0D1477C75AE8 - remoteInfo - PureLayout - - 19C53BEC21D8B0E161B0702E54CF7D9D + 198E8411704EB4CC123DBE909AAFD1E1 + explicitFileType + wrapper.framework includeInIndex - 1 + 0 isa PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beCloseTo.h path - Expecta/Matchers/EXPMatchers+beCloseTo.h + RZDataBinding.framework + sourceTree + BUILT_PRODUCTS_DIR + + 19F89922284B5A9EB7CDAE1788E42EF4 + + fileRef + 4F33F7DF2E98D842EAB699F126592B5A + isa + PBXBuildFile + + 1A05DD397ACFA98D84F5F9394D6645E4 + + children + + C787295E3E6A59B347F5105AC60CFE61 + 1D6B67441A2CB78F95A2A991257417A6 + A3E1851E38EFE040E51CA02C396A8681 + 47707B826F3E0DADE315FC93F6E5147E + 96861ED38BB205A76FEF8A8D15CA92D2 + 753CA9D4B3B0215E579A3344ABA3D39A + EC975684854193C83A3D8947DE37F4F2 + 952452A080C6DA7715DDA27769BC3808 + 9C65DD6DE88E9C99EC9558EF55F9FBFD + 3BE0881FC7EAA0D045431529F418D968 + + isa + PBXGroup + name + Products sourceTree <group> 1A1AB2EC52323C5EA28DAA99F1E1A90D fileRef - 313C5B73A027A335880529469217DAC0 + 6E1FA0578B4509D73363C50553E2E394 isa PBXBuildFile settings @@ -740,40 +896,21 @@ - 1A2536CA1A4C375065588D7CA7FFFD04 + 1A6F037C257B12DE98C39387B8A150CD includeInIndex 1 isa PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+contain.m path - Expecta/Matchers/EXPMatchers+contain.m - sourceTree - <group> - - 1AA72D353A2583EA748D45A0652D40A4 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beFalsy.h - path - Expecta/Matchers/EXPMatchers+beFalsy.h + Expecta+Snapshots.modulemap sourceTree <group> 1AB3304B6884F626BC54150AC7565E18 fileRef - 4016B648F56236C2BA14F6C65E94AFC0 + 50F099D833CB6D66F0C5FB940F9AD69E isa PBXBuildFile settings @@ -785,7 +922,7 @@ 1B0389CD88AA949B34DC7269030FEC6F fileRef - F65C9454F6F8DB1D7E3FFDE17F54D58C + EB0431968659C05CCF9A6BCE469E2B55 isa PBXBuildFile settings @@ -810,7 +947,7 @@ 1B668D9637D2CDD722343444E2B2A6F5 fileRef - 957CBE35D3FC82EDC76EDF33D58CC14A + 6AFACBCDEEA3E3D87D952EE865BC6311 isa PBXBuildFile settings @@ -821,43 +958,78 @@ - 1C5B4E8ECE44037E81A85E03578E663E + 1B9B23C4CCC881D23C4BFBF31A26DEEF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+raise.m + path + Expecta/Matchers/EXPMatchers+raise.m + sourceTree + <group> + + 1B9B98F264C093C7C55B7A912C411474 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPUnsupportedObject.h + path + Expecta/EXPUnsupportedObject.h + sourceTree + <group> + + 1BCE5472D3445B836C575438EA320A1F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPExpect.h + path + Expecta/EXPExpect.h + sourceTree + <group> + + 1BF4AC3AC294C5F9E23A72B4745BA18A buildActionMask 2147483647 files - 3886D4620D98D8A75E6A899C88A4FB91 + 09E01CA34898C4ED8040FF75D3E85407 isa - PBXSourcesBuildPhase + PBXHeadersBuildPhase runOnlyForDeploymentPostprocessing 0 - 1D01B491CB2A65D97C9A0D1477C75AE8 + 1CF18B3365D2F4A5395A6C9F77DF02B7 - buildConfigurationList - D7B6758B7935045A5B12D204BA25B1D7 - buildPhases - - 29E9464D3A3F44C652B8A5F5B2170829 - BC01A025FF944E626FB52EA7A04807BF - 382570FDD33EA954CD90583EE69C88E0 - - buildRules - - dependencies - + includeInIndex + 1 isa - PBXNativeTarget + PBXFileReference + lastKnownFileType + sourcecode.c.objc name - PureLayout - productName - PureLayout - productReference - 6611321C6F4194C8C5D0BCBE163D7FB3 - productType - com.apple.product-type.framework + EXPMatchers+postNotification.m + path + Expecta/Matchers/EXPMatchers+postNotification.m + sourceTree + <group> 1D38AF0ABE699088F94D23720FB1E547 @@ -872,10 +1044,220 @@ sourceTree <group> - 1D7261AA9D1143D237186FA65716169E + 1D6B67441A2CB78F95A2A991257417A6 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + Expecta_Snapshots.framework + path + Expecta_Snapshots.framework + sourceTree + BUILT_PRODUCTS_DIR + + 1E3425F719FD01633DA625B705703623 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RZDBMacros.h + path + RZDataBinding/RZDBMacros.h + sourceTree + <group> + + 1E6CB3108E7BCD0A0126E78B257E79A2 + + fileRef + F4B594C252BB01D86188A4174CF83DA7 + isa + PBXBuildFile + + 1FCC8360263E515A2AA49A1C9D63E417 + + isa + PBXTargetDependency + name + RZDataBinding + target + D14EC4A64CAECC10346D0BFF449458AA + targetProxy + CDFA54763C5FA072A53DA67C96370E92 + + 201BF9C605852822CA5A65ADE282A310 + + fileRef + 720F0E07991EA27E9FCF97DB8740006D + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 203F527C128D03BF0A2BDE17181A5A20 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + path + Specta.framework + sourceTree + BUILT_PRODUCTS_DIR + + 204D694B03BFF3B244A6AB73FACFFC43 + + fileRef + 2DF60F50CBCF1A0AD967AC0BF876D8BC + isa + PBXBuildFile + + 20D124EF05AE32370F86CD09560CCA7B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Expecta+Snapshots.xcconfig + sourceTree + <group> + + 21B54CBFCD48E0B8E4B3EC34B00E6452 + + fileRef + 9458BA2EA684F8DDCC7D4EC7493E1295 + isa + PBXBuildFile + + 2206B87A233A560C22D117F08F1ABA74 + + buildActionMask + 2147483647 + files + + 921E81E06AED9C5AD3847C9813411BD4 + + isa + PBXResourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 22BFE48B07868273AF1262289AF48D8D + + fileRef + 34E8A70BE4FE21EB1569493212C04959 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 23031C93E56B55904F315E8034C218A0 + + buildConfigurationList + 4935A335F1390CAA20AF28BAA266217C + buildPhases + + 36E4EE05A2285805DC78946F812D5182 + AB005C501864F49775D9946F8892DE7E + 7873D46BC69CC746E6D9177632AC6435 + + buildRules + + dependencies + + isa + PBXNativeTarget + name + PureLayout + productName + PureLayout + productReference + 952452A080C6DA7715DDA27769BC3808 + productType + com.apple.product-type.framework + + 2334D3525881B0FC71AF944FFF83F4A9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTCompiledExample.h + path + Specta/Specta/SPTCompiledExample.h + sourceTree + <group> + + 241B7AD057584B58440E47D0DB306269 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SpectaDSL.h + path + Specta/Specta/SpectaDSL.h + sourceTree + <group> + + 242D421BCCC21690FBC1791F46BC9572 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beSubclassOf.h + path + Expecta/Matchers/EXPMatchers+beSubclassOf.h + sourceTree + <group> + + 24E48332B12088B4645F66522C6E689B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + path + Pods-GradientButton_Example-acknowledgements.markdown + sourceTree + <group> + + 2586C0EC09AA1EE2AA7CEE1D2276EA82 baseConfigurationReference - 0CD0F5EFF1B3472519F5B4EE821A38E4 + DB7083C49F8F1B1D5C6CCE97F6D03ADC buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -893,9 +1275,9 @@ ENABLE_STRICT_OBJC_MSGSEND YES GCC_PREFIX_HEADER - Target Support Files/PureLayout/PureLayout-prefix.pch + Target Support Files/GradientButton/GradientButton-prefix.pch INFOPLIST_FILE - Target Support Files/PureLayout/Info.plist + Target Support Files/GradientButton/Info.plist INSTALL_PATH $(LOCAL_LIBRARY_DIR)/Frameworks IPHONEOS_DEPLOYMENT_TARGET @@ -907,11 +1289,11 @@ @loader_path/Frameworks MODULEMAP_FILE - Target Support Files/PureLayout/PureLayout.modulemap + Target Support Files/GradientButton/GradientButton.modulemap MTL_ENABLE_DEBUG_INFO YES PRODUCT_NAME - PureLayout + GradientButton SDKROOT iphoneos SKIP_INSTALL @@ -928,26 +1310,7 @@ name Debug - 1E6CB3108E7BCD0A0126E78B257E79A2 - - fileRef - 567FED50899A681C87568B30C6A8DDF2 - isa - PBXBuildFile - - 201BF9C605852822CA5A65ADE282A310 - - fileRef - 52B96B599CCF1E2C6EE96048EA5880E3 - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 20327CEB6D3F13297BDAB7FE6026920E + 25A8AF3A1686ABD63B5E963294E03BC7 includeInIndex 1 @@ -956,138 +1319,49 @@ lastKnownFileType sourcecode.c.objc name - SPTSpec.m + NSLayoutConstraint+PureLayout.m path - Specta/Specta/SPTSpec.m - sourceTree - <group> - - 204D694B03BFF3B244A6AB73FACFFC43 - - fileRef - 5F9093C7E794724D47C617BE24557A5D - isa - PBXBuildFile - - 214647B96EB8D7B1FA18DD92A6EA3917 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Expecta.xcconfig - sourceTree - <group> - - 21B54CBFCD48E0B8E4B3EC34B00E6452 - - fileRef - 4F20195ACAEB452CA807A9D3CBD86779 - isa - PBXBuildFile - - 235FB682F838C6842792EF01A4DB7606 - - children - - 54493E6647B30E3C5BEEFB40F581FF54 - 8E64F0B58141D2A8C5B35D8B7E1D76E0 - F42F0DA116857769307897100F7DA2CA - 3DDC2F0DB66FDE2D99014751F0C471C6 - 0B4D563AB4E127AF0A9FBC1E231C5D43 - 309AE29D56F62AA38812FCD588D97505 - 3FB4A919E61BF9E7388E2A08D5F6D7EA - 90A24E859872FBF4996DB8FF2C72D641 - 6BF30C23B3BDD819BCFB41457392E2D9 - 3EB72DEC4DAC99AC8BD863243952158A - - isa - PBXGroup - name - PureLayout - path - PureLayout - sourceTree - <group> - - 238F2FBD86752F42D840CC54A3F5A407 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+equal.h - path - Expecta/Matchers/EXPMatchers+equal.h - sourceTree - <group> - - 246ADE196BE06B55EAF1A0CEA777A91D - - children - - A45E76BFFFDE5D8C1CBF15F03770F18F - E89E7A7FD93F0ABA7BDD524F28E34566 - F23C0AC512452DA89C68035DE6FFC93E - D1FCD1F639D9FE0EACA6E3B4729540E4 - E46754C29353C0E78F154AB26AC66891 - 71BDF1F3E8B40E814FC972FF2457A3E2 - 03D9ECD289487969E2EFBE25E1DEFDDC - 6611321C6F4194C8C5D0BCBE163D7FB3 - 62CE47C764C6AD46DE864B7A5664A07D - - isa - PBXGroup - name - Products - sourceTree - <group> - - 24DE684A55A36B881CB7377E7CCA43B1 - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 24E48332B12088B4645F66522C6E689B - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - path - Pods-GradientButton_Example-acknowledgements.markdown - sourceTree - <group> - - 25BC55E750A529F4D0F46F5119E3EFB0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beSubclassOf.h - path - Expecta/Matchers/EXPMatchers+beSubclassOf.h + PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m sourceTree <group> 260BC7EED9289AF321A6F791964CE472 fileRef - 17A1FCF90A9C0E52BA56CCF8B9DCF00C + 3181C5A4F3F1853BE29AA998C2CF11F6 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 270A3A2E4FE5D043D64FBB16940230C3 + + children + + 67DA1B1AA0341806AC55857F7169CA92 + B25491EE93C7C844784B85E48999A665 + A195E2A145A82A89C5E7BD5695E4A1A1 + 9124AE897FF09733C4AAE02FE59F78F4 + AFF8FA7277E684222F3B0F876DD25AD7 + + isa + PBXGroup + name + Support Files + path + ../Target Support Files/FBSnapshotTestCase + sourceTree + <group> + + 276C5D9E27544784974A4F61502C0B9D + + fileRef + 981700D2D7D9F32AC6B0067C450D2E7A isa PBXBuildFile settings @@ -1124,7 +1398,7 @@ 27B97EDD517EE1DA44955F63ED7C182F fileRef - 0E225E66B94E712DC093C6724AD11CFD + A3E8F9A415EA6B4EE6C5A73F94B3CDE9 isa PBXBuildFile settings @@ -1135,32 +1409,17 @@ - 289E592F6B702F82121F6BAC6F5CA8AA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+haveCountOf.m - path - Expecta/Matchers/EXPMatchers+haveCountOf.m - sourceTree - <group> - 28E8C71D5417EC64603F6E3AF96316EF fileRef - DC4C8469E5635D5BE9F94C35A9733E2E + 6F9F503059D32B2A5712986E7E57854F isa PBXBuildFile 2916A0606136A9DC67F2463AB230868B fileRef - AA7B81ED73344E500125187115387A8F + FC5FC883FC82297C23A081DA1BC1A057 isa PBXBuildFile settings @@ -1171,54 +1430,10 @@ - 29E9464D3A3F44C652B8A5F5B2170829 - - buildActionMask - 2147483647 - files - - 9DDD70271624DA9C4D658383A9FCC7ED - AA9061FA90E874EA57D40F46C32D239E - 88387667A706D518348C8DAEDA057AAF - 418FEAE4A81CF82ACAD3703B84C3E735 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 2A61EA3FF11FFA402EF7CE4A58E6AC78 - - buildActionMask - 2147483647 - files - - 6D4567C38E2D3AE4BD28AA3ACAAFC6AA - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 2BC4279D7351FD3A726A6EF02FC8ED19 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTExcludeGlobalBeforeAfterEach.h - path - Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h - sourceTree - <group> - 2C0A8737FDB9B9C6A6BDF437FD11334C fileRef - D32A0E3BF4F5096301528945D03203B2 + CB6529ACE33191B81028B23D54DC0EC3 isa PBXBuildFile settings @@ -1227,38 +1442,10 @@ -fno-objc-arc - 2C6E94DA05F91DF35F74319DC6F0DF33 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Specta.xcconfig - sourceTree - <group> - - 2CD52C0184F0903B7EA8B033B01717A9 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beLessThan.h - path - Expecta/Matchers/EXPMatchers+beLessThan.h - sourceTree - <group> - 2CFE2898496C1C7096DB8DA43AF19103 fileRef - 96722169F2EE7FD1D3A8A151F68B4997 + 1B9B23C4CCC881D23C4BFBF31A26DEEF isa PBXBuildFile settings @@ -1281,10 +1468,23 @@ isa XCConfigurationList + 2DF60F50CBCF1A0AD967AC0BF876D8BC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Expecta-dummy.m + sourceTree + <group> + 2E14619153A453BB8DF389FB6EA147BE fileRef - AF51448F8D892B8D7E10576612FBA77A + F719184209C892731ECCAE26C31DF09D isa PBXBuildFile settings @@ -1298,7 +1498,7 @@ 2E8E1DB775E98A71556D1D20FE5300F1 fileRef - B19A9279E73679D3F9F1DFAEA13E347C + 9DE85EA93006920E748243EDB05A52CF isa PBXBuildFile settings @@ -1309,7 +1509,7 @@ - 2EADC0ADCD9557C3556E0462C3D2D7B0 + 2EC4ABA069B61D8B9870CD5251429012 includeInIndex 1 @@ -1317,17 +1517,15 @@ PBXFileReference lastKnownFileType sourcecode.c.objc - name - UIApplication+StrictKeyWindow.m path - FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m + Specta-dummy.m sourceTree <group> 2F427490ACABC4408D57CC0592276678 fileRef - FB37123DB4D2486C30EA392F17BF7505 + 0242034FCCE3452F6F4FD5564A1653DA isa PBXBuildFile settings @@ -1338,49 +1536,40 @@ - 305597218253482DD97EA53544065F82 + 2F4314A180713D0D40AF1D7775C12908 includeInIndex 1 isa PBXFileReference lastKnownFileType - text.plist.xml + sourcecode.c.h path - Info.plist + Expecta+Snapshots-prefix.pch sourceTree <group> - 309AE29D56F62AA38812FCD588D97505 + 2FEC4922ACB1315148CFCA88F7BDEF6F includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc - name - NSLayoutConstraint+PureLayout.m + sourcecode.c.h path - PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m + PureLayout-umbrella.h sourceTree <group> - 30D0F22468C1B61E74D69D652950C90F + 309850D7024CFA540462DBA0C89C4E51 - buildConfigurations - - 79FEE67F060F5ACF41583461AD42A825 - E3EC83EAAC1FD4CF8AECB3DA2AC78697 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 isa - XCConfigurationList + PBXBuildFile - 313C5B73A027A335880529469217DAC0 + 30A36B11F34940495699E9C1D658F2AA includeInIndex 1 @@ -1389,26 +1578,25 @@ lastKnownFileType sourcecode.c.h name - EXPMatchers+endWith.h + FBSnapshotTestCase.h path - Expecta/Matchers/EXPMatchers+endWith.h + FBSnapshotTestCase/FBSnapshotTestCase.h sourceTree <group> - 31480E56FB4A5AF08ADA95062BFEFC89 + 30C54C635A9BD7DD7B85E4B345E915E4 - includeInIndex - 1 + buildConfigurations + + 2586C0EC09AA1EE2AA7CEE1D2276EA82 + CE559A4F019355E1315085F2EFA10AC8 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beFalsy.m - path - Expecta/Matchers/EXPMatchers+beFalsy.m - sourceTree - <group> + XCConfigurationList 315651862B1A4D3486C4BEB578330525 @@ -1424,6 +1612,21 @@ isa XCConfigurationList + 3181C5A4F3F1853BE29AA998C2CF11F6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+respondTo.h + path + Expecta/Matchers/EXPMatchers+respondTo.h + sourceTree + <group> + 318E68C626CC4208EFCB86851594A8EF includeInIndex @@ -1437,18 +1640,31 @@ sourceTree <group> - 32ECF317E9844862171B030F13E92DD9 + 32D4DC37DEE8F3BD09ADFE39E3ABC581 - includeInIndex - 1 + buildActionMask + 2147483647 + files + + 772E21E2935E7117E62A76B7FCBDBBD4 + isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - PureLayout-dummy.m - sourceTree - <group> + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 3330C60A3CFAE3307982DC8BEE50EE91 + + buildActionMask + 2147483647 + files + + 0DEC9E7B4B932BB9F2449793F33159BB + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 333D034462DA0EE6A13E42FBBB07F3AC @@ -1464,6 +1680,20 @@ isa XCConfigurationList + 3400C8FFE5EBD507C5FE7E737AC3201E + + buildConfigurations + + 4BC341B779D7163011C2268F24659783 + C41FA284F1960715AC8054ABE996AE56 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + 348002B05BCBB2BFBFD9EB26FDE1E22B includeInIndex @@ -1480,7 +1710,7 @@ 34B6E9A30603BEBBD87BA535B7D384CA fileRef - 4BB793EEEA2972B9A2DB5CC84E5C7FC8 + 5B91C9F41EF2B221BD2D640D6BC425BC isa PBXBuildFile settings @@ -1491,117 +1721,7 @@ - 353CF52675246CA1FDF7852C461E1DA9 - - fileRef - 4F85577F3A8EFCC75870860E9CFCD164 - isa - PBXBuildFile - - 35F1FA87897C7070C74ECF8D2CE8DAF9 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Expecta+Snapshots-dummy.m - sourceTree - <group> - - 3649CB424097BF48E430598CDE474EEC - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beIdenticalTo.h - path - Expecta/Matchers/EXPMatchers+beIdenticalTo.h - sourceTree - <group> - - 372F7A9CCE59CE86316CF436F832A3FC - - fileRef - 7BD87D11D30651D5EB6E5F42D4FCDFFE - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 37A2D0F8493469EF2495FC689440F079 - - fileRef - F0BE4B0FD430ED5364A83BE6EFAB44E3 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 382570FDD33EA954CD90583EE69C88E0 - - buildActionMask - 2147483647 - files - - F36D2964E4E647FCCD245D5DA4C67520 - 6F5FDE57747A610BCADC2FB42D1D5B6E - 09AF215E89065D9BBD89BF95FC34D84D - 0FD5F09A118ABEABB1BDF04E6DA432D3 - E4110F57C5164B449E872F18F4175803 - 08588B6806E63A180C86EE9E2B2EF761 - 445F92BECB37244E43BCCC70FB65C690 - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 3856B94C2DDE0D2E4EE78B7E7B296C40 - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 385E0C8625F730CB397EBEEAF477AD4D - - fileRef - 416F8ABB7F7E98CB081B7F19F9EB2F92 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 3886D4620D98D8A75E6A899C88A4FB91 - - fileRef - C21F82D5D54D991B251BC3DB5968D6B0 - isa - PBXBuildFile - - 390F5EAD0FA0ACB91D06A90A974E0A45 + 34D0E4C17FE819BE03EDBE79A8BB4F35 includeInIndex 1 @@ -1610,861 +1730,13 @@ lastKnownFileType sourcecode.c.objc name - EXPMatchers+beLessThan.m + EXPMatchers+endWith.m path - Expecta/Matchers/EXPMatchers+beLessThan.m + Expecta/Matchers/EXPMatchers+endWith.m sourceTree <group> - 397B320B7C59C168CC5B62E18ED8DEA0 - - fileRef - 25BC55E750A529F4D0F46F5119E3EFB0 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 3B5B7495707BF7133B9FB3F834045611 - - fileRef - AA101E016C76302C06F4575172FDC9DE - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 3BECC92E33A1F82B857D28C0794A9F27 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.script.sh - path - Pods-GradientButton_Tests-resources.sh - sourceTree - <group> - - 3C2700C7DAA15C6AF84A595865C42F4D - - fileRef - EF3299BF94C0392FCBAA98D2E58CB10E - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 3CE47127EC1729530DF6892DAC98E263 - - isa - PBXTargetDependency - name - Expecta - target - 0D888F29E05E498D0CD91A51D28599A5 - targetProxy - 1B5BFD6EC1068EBC586F5E566543AED5 - - 3DDC2F0DB66FDE2D99014751F0C471C6 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - NSArray+PureLayout.m - path - PureLayout/PureLayout/NSArray+PureLayout.m - sourceTree - <group> - - 3EB72DEC4DAC99AC8BD863243952158A - - children - - F890E1326443FD6C451595F103347DE3 - E3CB665E7978D3A27C3461E4A59F8AA2 - 0CD0F5EFF1B3472519F5B4EE821A38E4 - 32ECF317E9844862171B030F13E92DD9 - 129E1C0CEC059CE5EFEA8DDBDC6BA783 - BC4E6D745DD948298DA344813F4F67D4 - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/PureLayout - sourceTree - <group> - - 3F639A935CAD81D124435F643E505794 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beLessThanOrEqualTo.m - path - Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m - sourceTree - <group> - - 3FB4A919E61BF9E7388E2A08D5F6D7EA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - PureLayout.h - path - PureLayout/PureLayout/PureLayout.h - sourceTree - <group> - - 4016B648F56236C2BA14F6C65E94AFC0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+equal.m - path - Expecta/Matchers/EXPMatchers+equal.m - sourceTree - <group> - - 403292D82DA62291204BF59524BC4EDB - - fileRef - 289E592F6B702F82121F6BAC6F5CA8AA - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 409F2B9A147001F191757C06FFCFB89D - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 416F8ABB7F7E98CB081B7F19F9EB2F92 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTTestSuite.h - path - Specta/Specta/SPTTestSuite.h - sourceTree - <group> - - 418587DF2D2D9A600EBCEA44CBA8DC4D - - children - - 55EE3A76377E18F37306078B9B8DFFCA - 9171D8E3140FECED0D9E942B6C42EE95 - - isa - PBXGroup - name - GradientButton - path - ../.. - sourceTree - <group> - - 418FEAE4A81CF82ACAD3703B84C3E735 - - fileRef - 32ECF317E9844862171B030F13E92DD9 - isa - PBXBuildFile - - 41CBE5038A13F11BABB5ACB518E690CE - - isa - PBXTargetDependency - name - Specta - target - 00ADDBCA9E516B429C7877EB5AED2DCE - targetProxy - F2A5E2F188A4E10DCEE5D2EC297A070F - - 4241CF12CA7C6F3AE7BB83CF6CD44023 - - fileRef - 749800021466D47EDC1F64E037BF45CC - isa - PBXBuildFile - - 430444E6E86490E2572119A37E68341B - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPExpect.m - path - Expecta/EXPExpect.m - sourceTree - <group> - - 43778DA7BD4F5AACF67F36B559924E39 - - isa - PBXTargetDependency - name - PureLayout - target - 1D01B491CB2A65D97C9A0D1477C75AE8 - targetProxy - 18A173CD4A94B7C9489B09E59BA4482B - - 43E396376F0A58FC93901CB23B161BC3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 445F92BECB37244E43BCCC70FB65C690 - - fileRef - 6BF30C23B3BDD819BCFB41457392E2D9 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 44C2BCB8ADDB4424AC3426DA52A88FD0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatcher.h - path - Expecta/EXPMatcher.h - sourceTree - <group> - - 44D9A89B4EC455592EBEB5D0A2FB93A2 - - baseConfigurationReference - 348002B05BCBB2BFBFD9EB26FDE1E22B - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - INFOPLIST_FILE - Target Support Files/Pods-GradientButton_Tests/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MACH_O_TYPE - staticlib - MODULEMAP_FILE - Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.modulemap - MTL_ENABLE_DEBUG_INFO - YES - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PODS_ROOT - $(SRCROOT) - PRODUCT_NAME - Pods_GradientButton_Tests - SDKROOT - iphoneos - SKIP_INSTALL - YES - SWIFT_OPTIMIZATION_LEVEL - -Onone - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Debug - - 44E7E84D951A97D5C264F9DA0C48930D - - fileRef - 60C8513D5E2EE8B210234D8BF8803350 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 456E5A750E8C970B4565211467EDD8B1 - - fileRef - 703612D1CEA30E0B8C9E02D238F7196E - isa - PBXBuildFile - - 45DBE2AC97069295566B610BA43E1E64 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - FBSnapshotTestController.h - path - FBSnapshotTestCase/FBSnapshotTestController.h - sourceTree - <group> - - 45EBC5857C0FBA732752E48E9359EDD8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SpectaDSL.h - path - Specta/Specta/SpectaDSL.h - sourceTree - <group> - - 46137F5CC368BF38BAF0D0AF81DD8FFE - - fileRef - AD498EF1F11DF000A23462687DB4F486 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 4637ADD1369BBCBF5C38C1DC5D900A58 - - buildActionMask - 2147483647 - files - - 409F2B9A147001F191757C06FFCFB89D - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 46EC44B811324E68F3B50B3B3C130204 - - fileRef - 20327CEB6D3F13297BDAB7FE6026920E - isa - PBXBuildFile - - 471FD4F68E27AB26FA2AEBB8B245CEE4 - - fileRef - 4A4547E4EE9A69F8554ABE6EB6C8F6FA - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 47C3908A5AAE0260FB6D95C74D65652D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPUnsupportedObject.m - path - Expecta/EXPUnsupportedObject.m - sourceTree - <group> - - 499D1411C352205E3A38BE88B4E03A1A - - buildActionMask - 2147483647 - files - - 775F059D5771456DC08DC5544650290A - 8E65FA35DBE8FC5DD791D1772637CC52 - 18359C98147B5E9CBFDBB349F54C8BE2 - A99BE4C31F44A5DC1A929F4FBEBCFB6A - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 4A026DAB1C5101359301AAF6344F1141 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIImage+Compare.h - path - FBSnapshotTestCase/Categories/UIImage+Compare.h - sourceTree - <group> - - 4A1945C578AE9863DF4709C5146FE0FA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - FBSnapshotTestCase.m - path - FBSnapshotTestCase/FBSnapshotTestCase.m - sourceTree - <group> - - 4A4547E4EE9A69F8554ABE6EB6C8F6FA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - NSValue+Expecta.h - path - Expecta/NSValue+Expecta.h - sourceTree - <group> - - 4A483661BF65897902AB0A0CFCD975AE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beIdenticalTo.m - path - Expecta/Matchers/EXPMatchers+beIdenticalTo.m - sourceTree - <group> - - 4AE18936EDB988BC6D3A33128764D642 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTCompiledExample.h - path - Specta/Specta/SPTCompiledExample.h - sourceTree - <group> - - 4AF1D6B15EDE8F871FECA8DB5A64BB12 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - E1E99BE24B4D5E362ECFB6580A5D5A8D - remoteInfo - FBSnapshotTestCase - - 4BB793EEEA2972B9A2DB5CC84E5C7FC8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beInstanceOf.h - path - Expecta/Matchers/EXPMatchers+beInstanceOf.h - sourceTree - <group> - - 4BBCBB9D8EF0B241A4A4FE4982985481 - - fileRef - D7B03B244D464496A92ACED43DA0DE3D - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 4C07DDFDBB2218284D2D391F446B477B - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - ACB0252707747CD6901BDF7EF56B17D2 - remoteInfo - GradientButton-GradientButton - - 4D95A51236FF77A168DC13A9BC74E1B3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-GradientButton_Example.release.xcconfig - sourceTree - <group> - - 4DBFEEB0166000625503662CDE93CDF3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTGlobalBeforeAfterEach.h - path - Specta/Specta/SPTGlobalBeforeAfterEach.h - sourceTree - <group> - - 4DFBE5937DE9B4E2ADFCD9B2EBF09325 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers.h - path - Expecta/Matchers/EXPMatchers.h - sourceTree - <group> - - 4E00EBA89EDA7D28D20E2492718F1603 - - fileRef - 58380708EFDF326D68D6060E486CB90D - isa - PBXBuildFile - - 4F20195ACAEB452CA807A9D3CBD86779 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - path - FBSnapshotTestCase.framework - sourceTree - BUILT_PRODUCTS_DIR - - 4F7BB8E1EF29438657C17A0E0CB6141F - - fileRef - 4A1945C578AE9863DF4709C5146FE0FA - isa - PBXBuildFile - - 4F85577F3A8EFCC75870860E9CFCD164 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - SPTCompiledExample.m - path - Specta/Specta/SPTCompiledExample.m - sourceTree - <group> - - 506C9CBD87F3A281C9B08C88A4D60E96 - - buildActionMask - 2147483647 - files - - 85E4C4DC8D9C4B4D8651D9C059B4CDC1 - 21B54CBFCD48E0B8E4B3EC34B00E6452 - 3856B94C2DDE0D2E4EE78B7E7B296C40 - 8329271371047F27FD273F1F7AF61BD6 - 98AFA0B27D72E0CFF085DC034564E77B - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 510D07686732BBA3C4B870F02EAC7A30 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+raiseWithReason.h - path - Expecta/Matchers/EXPMatchers+raiseWithReason.h - sourceTree - <group> - - 512270DFF71CC24193ECDFCACC6B13FE - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - QuartzCore.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/QuartzCore.framework - sourceTree - DEVELOPER_DIR - - 51DDDB0FB4899757CF6A826B531B940D - - fileRef - 10E1AB2290A940590A50E8D54F54A2F6 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 51FB4A4521672D29F859B6F9D64083BB - - fileRef - D46BED7AC4ACF810A9B012637DFC1857 - isa - PBXBuildFile - - 5245128B229882121E8F543B8885A5E2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.script.sh - path - Pods-GradientButton_Example-resources.sh - sourceTree - <group> - - 528AF420E761AC2CCD10B4D65D7A1ABC - - baseConfigurationReference - DB7083C49F8F1B1D5C6CCE97F6D03ADC - buildSettings - - ENABLE_STRICT_OBJC_MSGSEND - YES - PRODUCT_NAME - GradientButton - SDKROOT - iphoneos - SKIP_INSTALL - YES - WRAPPER_EXTENSION - bundle - - isa - XCBuildConfiguration - name - Release - - 52B96B599CCF1E2C6EE96048EA5880E3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatcherHelpers.m - path - Expecta/Matchers/EXPMatcherHelpers.m - sourceTree - <group> - - 5313CE6E9AD10AFF7B2157D735D993D7 - - buildActionMask - 2147483647 - files - - F1E3108F4AF8125466B50E2E15321D72 - 4F7BB8E1EF29438657C17A0E0CB6141F - F4E58516B444895CAA6C6360A6D37C8D - 80759058A6C4A0B835986DD9C54DCF46 - 549EE9405C6AE31B35214759A14A8F69 - 79AA19899603DE6F2D8AAA5EDFDDEF34 - 016CFE2C943D14CC45D9F4F7EAF5F83E - 28E8C71D5417EC64603F6E3AF96316EF - 65452ABA5E94B3141DA573763FA6F897 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 543F7BDA4F5F79573CAA43601F700A67 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - XCTest+Private.h - path - Specta/Specta/XCTest+Private.h - sourceTree - <group> - - 54493E6647B30E3C5BEEFB40F581FF54 + 34E8A70BE4FE21EB1569493212C04959 includeInIndex 1 @@ -2479,112 +1751,7 @@ sourceTree <group> - 549EE9405C6AE31B35214759A14A8F69 - - fileRef - B1F58814CB86568AC5E71CAA0E263CDE - isa - PBXBuildFile - - 55EE3A76377E18F37306078B9B8DFFCA - - children - - 854F641B8CAFCEEE40AEF7F3C4C83733 - - isa - PBXGroup - name - Pod - path - Pod - sourceTree - <group> - - 560C52F5FB82E24644C66FD9443A546B - - baseConfigurationReference - 886747D682B17CC3C7D2E71688B2D715 - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_PREFIX_HEADER - Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch - INFOPLIST_FILE - Target Support Files/FBSnapshotTestCase/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MODULEMAP_FILE - Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap - MTL_ENABLE_DEBUG_INFO - NO - PRODUCT_NAME - FBSnapshotTestCase - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Release - - 561534F9468BFFFCD27420D9028EAF1D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Expecta+Snapshots.xcconfig - sourceTree - <group> - - 562957229D9AEAA9039CCCF00426D5AE - - fileRef - 68FDF6EB112C4423747393766720207C - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 563BDF7C8114F5105A8038CFD0803495 + 34F62CA447EDB22586C31C8C7ECDCABC includeInIndex 1 @@ -2592,835 +1759,64 @@ PBXFileReference lastKnownFileType sourcecode.c.objc - name - SPTExampleGroup.m path - Specta/Specta/SPTExampleGroup.m + Expecta+Snapshots-dummy.m sourceTree <group> - 567328B7B3CD2B2EFE43EF99A2858862 + 350BA1646674514AF9D57DACFAB383B4 - includeInIndex - 1 + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - GradientButton.h - sourceTree - <group> + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + D14EC4A64CAECC10346D0BFF449458AA + remoteInfo + RZDataBinding - 567FED50899A681C87568B30C6A8DDF2 + 353CF52675246CA1FDF7852C461E1DA9 - includeInIndex - 1 + fileRef + 4A63FEA4E26E824DBCE7C033387072CE isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - SpectaDSL.m - path - Specta/Specta/SpectaDSL.m - sourceTree - <group> + PBXBuildFile - 56D4C1D5295EE93E59623E6886DA016A + 35C84DB075E0B1A169C2248D82222611 isa PBXFileReference lastKnownFileType wrapper.framework name - Foundation.framework + QuartzCore.framework path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/QuartzCore.framework sourceTree DEVELOPER_DIR - 5723825DA3450735996AC90B937A4AEF - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+conformTo.m - path - Expecta/Matchers/EXPMatchers+conformTo.m - sourceTree - <group> - - 579CA630E2003A138BAC12C7D2B499CD - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Pods-GradientButton_Tests-acknowledgements.plist - sourceTree - <group> - - 579F45E6A47205E79C183A91C534F864 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beTruthy.h - path - Expecta/Matchers/EXPMatchers+beTruthy.h - sourceTree - <group> - - 58380708EFDF326D68D6060E486CB90D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - SPTTestSuite.m - path - Specta/Specta/SPTTestSuite.m - sourceTree - <group> - - 5892291CEFA7A94FA402E6AA6A47B34D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Expecta-prefix.pch - sourceTree - <group> - - 593892C8C11EDE0285489E134696F878 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPFloatTuple.h - path - Expecta/EXPFloatTuple.h - sourceTree - <group> - - 596A361558B9F648A2B55E71FA7E7A46 - - children - - B1F58814CB86568AC5E71CAA0E263CDE - - isa - PBXGroup - name - SwiftSupport - sourceTree - <group> - - 5A5036265EC2BF776D08D8ED807B8000 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+match.m - path - Expecta/Matchers/EXPMatchers+match.m - sourceTree - <group> - - 5AA3BA782E969DB5EE9646254C07396B + 36E4EE05A2285805DC78946F812D5182 buildActionMask 2147483647 files - B91E760AE54877F1A203E9D97B645410 - 694ACD99E0A32B800594C0118341E552 - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 5AE13025CC5C6B218AAF479784CD9ED2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - Expecta.h - path - Expecta/Expecta.h - sourceTree - <group> - - 5B2D4A621D3DA971A474776AF36BB073 - - fileRef - F6EB583A0E0B95BC98422547435C1DB8 - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 5C0D2BAE8C19CA6614F3CA94783F095D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Expecta-umbrella.h - sourceTree - <group> - - 5EA7043FE10E75D02F3C3052AF8B8318 - - fileRef - B73FA83187F6E3585C08B5C189A6F033 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 5F6FC4706E7444375E677294DFEEB5C6 - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 5F9093C7E794724D47C617BE24557A5D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Expecta-dummy.m - sourceTree - <group> - - 60537EE95D37BD4B83D06371EA26F26F - - fileRef - AA01D298630B12AA0970C55ADF492FE2 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 60C8513D5E2EE8B210234D8BF8803350 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Pods-GradientButton_Tests-umbrella.h - sourceTree - <group> - - 610249954D9E36ED0639D3B5DB4157F3 - - fileRef - 714385F6C0F231D3EAACF74261753D5D - isa - PBXBuildFile - - 613905463BB0D641E4C93417C8CFA5A4 - - fileRef - 4A026DAB1C5101359301AAF6344F1141 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Private - - - - 61EBB6E8E94C4A1F23CA25CF2F49B19A - - buildActionMask - 2147483647 - files - - 894686B4F56D73EFFC7DFC3607FCE3B1 - FAD03A1D29BFD90BCB7F04B02E6DED36 - E0C14077720B3EA3D3CD9FDE663FA6CA - 07794005619C9529F3F05B5283710891 - 613905463BB0D641E4C93417C8CFA5A4 - 6BBD83E39C1F2D6CC02CB98864CB3AD7 - 7F16975B59754CB8947EB2FC1A86B5A8 - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 62CE47C764C6AD46DE864B7A5664A07D - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - Specta.framework - path - Specta.framework - sourceTree - BUILT_PRODUCTS_DIR - - 62FC5E3B413804768C4A5E2B6C4101C6 - - buildActionMask - 2147483647 - files - - 60537EE95D37BD4B83D06371EA26F26F - 96EA932B3F397059018EC0F939A3D609 - B19F2E828B200E5A345C39BC1668EFB6 - 27B97EDD517EE1DA44955F63ED7C182F - 562957229D9AEAA9039CCCF00426D5AE - D3A97742CACAE0C69D639B471125E6E6 - 97205ECF01FCEF6C26021D4A6C918B20 - C0F69C93D9F63907FCB1A4C03D372E23 - 2E8E1DB775E98A71556D1D20FE5300F1 - 022DD32C1475CD07C5D35FD04E7B4799 - C1C59177C9631753DCCB9F4EAC705748 - 1B668D9637D2CDD722343444E2B2A6F5 - 99DE2E96B25CA6AAD7F0695223E0B7CE - 385E0C8625F730CB397EBEEAF477AD4D - 98563873177CC5FBDD3458CF844194C9 - E95E9B817C6D9D281C5145EC0409DF01 - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 63531BD7407ED90996601DCE8FCEFD55 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - ExpectaSupport.h - path - Expecta/ExpectaSupport.h - sourceTree - <group> - - 638BBBFBA1C9B0941DD8A1738171F8B5 - - buildActionMask - 2147483647 - files - - 5F6FC4706E7444375E677294DFEEB5C6 - 610249954D9E36ED0639D3B5DB4157F3 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 643CCBBA55156DB8710D9952DD98C657 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - FBSnapshotTestCase-prefix.pch - sourceTree - <group> - - 65452ABA5E94B3141DA573763FA6F897 - - fileRef - 74DEBEE8BF56372341C3AA49FA816F98 - isa - PBXBuildFile - - 65B4136A49BEA00E3874E067A148CFE2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+haveCountOf.h - path - Expecta/Matchers/EXPMatchers+haveCountOf.h - sourceTree - <group> - - 65BC31095CCDFC80CBF6BBA843751F23 - - fileRef - 44C2BCB8ADDB4424AC3426DA52A88FD0 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6611321C6F4194C8C5D0BCBE163D7FB3 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - PureLayout.framework - path - PureLayout.framework - sourceTree - BUILT_PRODUCTS_DIR - - 66A27898E989A3FA5C15AA671C4536F0 - - fileRef - 4A483661BF65897902AB0A0CFCD975AE - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 67459AD239EF669A365519E06B45DCFE - - fileRef - FF49B4C3C61836DE302F437C919A7A05 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 68FDF6EB112C4423747393766720207C - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SpectaUtility.h - path - Specta/Specta/SpectaUtility.h - sourceTree - <group> - - 691E96269133D753B21A9B771AF92AAD - - fileRef - 35F1FA87897C7070C74ECF8D2CE8DAF9 - isa - PBXBuildFile - - 694ACD99E0A32B800594C0118341E552 - - fileRef - 567328B7B3CD2B2EFE43EF99A2858862 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6B8A84238CE703476738B5C6866A4DE6 - - fileRef - DDE582482FAF1CEB39F0B9126CC59D6D - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6BBD83E39C1F2D6CC02CB98864CB3AD7 - - fileRef - 165168466D5225B91F0D97489203BBB0 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Private - - - - 6BF30C23B3BDD819BCFB41457392E2D9 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - PureLayoutDefines.h - path - PureLayout/PureLayout/PureLayoutDefines.h - sourceTree - <group> - - 6D0C6649E2D25AE53519CD3D4CD09ADC - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - EXPMatchers+FBSnapshotTest.h - sourceTree - <group> - - 6D4567C38E2D3AE4BD28AA3ACAAFC6AA - - fileRef - 318E68C626CC4208EFCB86851594A8EF - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6DA1374DD8B4F83EF2BF0CAC6674D066 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.script.sh - path - Pods-GradientButton_Example-frameworks.sh - sourceTree - <group> - - 6DE29EBB0D8FD75A69974857C9976D99 - - isa - PBXTargetDependency - name - Expecta+Snapshots - target - B5522B4C786061CA9DFC8A4198028552 - targetProxy - 88654380107F1E7E2ECCFBC760B10073 - - 6E1D978790705E137FDE439AA68DD3AA - - fileRef - 593892C8C11EDE0285489E134696F878 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6EFC63A5CED45BB39FC79D87F2C47D6B - - fileRef - DC7DF335401532E474FB05944C1ED485 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6F278423C8AE1DA47F35E374BB5B91EC - - fileRef - 88B5C933CDFBD78AAD0546A4AF52B9D5 - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 6F5FDE57747A610BCADC2FB42D1D5B6E - - fileRef - F42F0DA116857769307897100F7DA2CA - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - 6F7482216BDAA86DA901E47954D81943 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beTruthy.m - path - Expecta/Matchers/EXPMatchers+beTruthy.m - sourceTree - <group> - - 6FB21B374A92060A3B57FDA3CCF76C16 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - UIKit.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/UIKit.framework - sourceTree - DEVELOPER_DIR - - 6FBABDB5A34C49BE6A04BDFA99DA04D8 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - path - PureLayout.framework - sourceTree - BUILT_PRODUCTS_DIR - - 703612D1CEA30E0B8C9E02D238F7196E - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Specta-dummy.m - sourceTree - <group> - - 70688D0A2ACC0A7F02D0F1235F0E8BF4 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beInTheRangeOf.h - path - Expecta/Matchers/EXPMatchers+beInTheRangeOf.h - sourceTree - <group> - - 70F9CEC358FF8F59CCA169242B3495D4 - - fileRef - F2326EBC2CEBEDD1AC39E41341CE4A96 - isa - PBXBuildFile - - 714385F6C0F231D3EAACF74261753D5D - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - XCTest.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/XCTest.framework - sourceTree - DEVELOPER_DIR - - 71BDF1F3E8B40E814FC972FF2457A3E2 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - Pods_GradientButton_Example.framework - path - Pods_GradientButton_Example.framework - sourceTree - BUILT_PRODUCTS_DIR - - 731DDA8A2313B5569053EDFFA39009B9 - - buildActionMask - 2147483647 - files - - 691E96269133D753B21A9B771AF92AAD - 8AA2D2D0859851DBB6436478C1F9C783 - A2DE32828E3A20F8E65991C34EC7E368 + 953408BA91122B0FC4E50106032A5977 + 19F89922284B5A9EB7CDAE1788E42EF4 + 9E49090365C10E07D2766780B6AB89F6 + 0480286B6638045E395B7A648C402A0E isa PBXSourcesBuildPhase runOnlyForDeploymentPostprocessing 0 - 7398F68721BE82551BB2562D61F2D4B8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-GradientButton_Tests.release.xcconfig - sourceTree - <group> - - 749800021466D47EDC1F64E037BF45CC - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - SpectaUtility.m - path - Specta/Specta/SpectaUtility.m - sourceTree - <group> - - 74DEBEE8BF56372341C3AA49FA816F98 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIImage+Snapshot.m - path - FBSnapshotTestCase/Categories/UIImage+Snapshot.m - sourceTree - <group> - - 76CCABE79C04444450153424D7CE1DC1 + 372F7A9CCE59CE86316CF436F832A3FC fileRef - C3F844297B8662ADF09537912FAC73ED + 0AB7C1FA77859ECDB4474A0B84B18BBC isa PBXBuildFile settings @@ -3431,22 +1827,25 @@ - 76D337327C10A7555447B69AA1562647 + 379FE8A18FA9EC31F3A8D1632DEAF916 - fileRef - 1509EB0EDB59BB6A235C075BDF27ACA5 + includeInIndex + 1 isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTGlobalBeforeAfterEach.h + path + Specta/Specta/SPTGlobalBeforeAfterEach.h + sourceTree + <group> - 76D514410DDA00454990598F46BE8696 + 37A2D0F8493469EF2495FC689440F079 fileRef - B3E4CD3EBCF888648A5FDAC1B196AF58 + 13E0AA7314710B18E5C0D554F6C8EBCB isa PBXBuildFile settings @@ -3457,96 +1856,46 @@ - 775F059D5771456DC08DC5544650290A - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile - - 781B3D3B63EA10AFCB9E4F18CEE68FF5 + 37AD1E0661BB14666F04591EFA3DAD40 children - AF8C7AABB8EDC41DEABCC801FFAA14BF - 1642D180CFE6CF111DA0CA913F8F8CBB - 596A361558B9F648A2B55E71FA7E7A46 + EF39DAE3A3F010E51BB503B39B619EA2 + 35C84DB075E0B1A169C2248D82222611 + 809F5FAA248A785D2721C79289C7037B + B4694041CB63FF93725C2D65E908DF85 isa PBXGroup name - FBSnapshotTestCase - path - FBSnapshotTestCase + iOS sourceTree <group> - 7841889E439BC23D50C3D69759A8C4CF + 37E84FA8E76F976BC2181ED088F05E2B - baseConfigurationReference - 7398F68721BE82551BB2562D61F2D4B8 - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - INFOPLIST_FILE - Target Support Files/Pods-GradientButton_Tests/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MACH_O_TYPE - staticlib - MODULEMAP_FILE - Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.modulemap - MTL_ENABLE_DEBUG_INFO - NO - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PODS_ROOT - $(SRCROOT) - PRODUCT_NAME - Pods_GradientButton_Tests - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - + includeInIndex + 1 isa - XCBuildConfiguration - name - Release + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RZDataBinding-prefix.pch + sourceTree + <group> - 79558B1F97ABE4AB8942DC18BEBD4B82 + 3856B94C2DDE0D2E4EE78B7E7B296C40 fileRef - BB4F841C6A0CF76946BB788A161240EA + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 385E0C8625F730CB397EBEEAF477AD4D + + fileRef + D8647A12368A6610BA2E1ED18A6019A7 isa PBXBuildFile settings @@ -3557,25 +1906,7 @@ - 79AA19899603DE6F2D8AAA5EDFDDEF34 - - fileRef - 2EADC0ADCD9557C3556E0462C3D2D7B0 - isa - PBXBuildFile - - 79C758527D11B18EE6A6D843FEAE5FF6 - - includeInIndex - 1 - isa - PBXFileReference - path - Pods-GradientButton_Tests.modulemap - sourceTree - <group> - - 79FEE67F060F5ACF41583461AD42A825 + 38D9538A4E377632CC77B9D61B45A946 baseConfigurationReference 1D38AF0ABE699088F94D23720FB1E547 @@ -3637,17 +1968,25 @@ name Debug - 7A211860F672261C1522DCDF1FFC9ED0 + 39426D733844E4CADBCDCC1C8D484A37 - fileRef - 714385F6C0F231D3EAACF74261753D5D + includeInIndex + 1 isa - PBXBuildFile + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+haveCountOf.m + path + Expecta/Matchers/EXPMatchers+haveCountOf.m + sourceTree + <group> - 7B223B4E6EF14BA12DA113F7EE10B96C + 397B320B7C59C168CC5B62E18ED8DEA0 fileRef - 87DC71BCE9F88907D4CA9EA6C6D4CD3A + 242D421BCCC21690FBC1791F46BC9572 isa PBXBuildFile settings @@ -3658,7 +1997,63 @@ - 7BD87D11D30651D5EB6E5F42D4FCDFFE + 39D4CA192AE579092236D8840F3E5B45 + + baseConfigurationReference + 4BFA67EF666D01C9FD4F4FB19D5602B8 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/PureLayout/PureLayout-prefix.pch + INFOPLIST_FILE + Target Support Files/PureLayout/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/PureLayout/PureLayout.modulemap + MTL_ENABLE_DEBUG_INFO + NO + PRODUCT_NAME + PureLayout + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 3A1623876B97C45A6E62F5A642610867 includeInIndex 1 @@ -3667,51 +2062,1048 @@ lastKnownFileType sourcecode.c.h name - EXPMatchers+beGreaterThanOrEqualTo.h + SPTExample.h path - Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h + Specta/Specta/SPTExample.h sourceTree <group> - 7D81D7EEC312BCAFD21F876E09579B84 + 3AC6D14C692F7F5556E221436216C84B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + NSLayoutConstraint+PureLayout.h + path + PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h + sourceTree + <group> + + 3B5B7495707BF7133B9FB3F834045611 + + fileRef + 6B016D2339B09AE90355D55AF6505274 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 3BE0881FC7EAA0D045431529F418D968 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + Specta.framework + path + Specta.framework + sourceTree + BUILT_PRODUCTS_DIR + + 3BECC92E33A1F82B857D28C0794A9F27 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-GradientButton_Tests-resources.sh + sourceTree + <group> + + 3C2700C7DAA15C6AF84A595865C42F4D + + fileRef + 6BC6E5F3129FA58E5B7E948C1DDF2C1D + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 3CE47127EC1729530DF6892DAC98E263 + + isa + PBXTargetDependency + name + Expecta + target + 0D888F29E05E498D0CD91A51D28599A5 + targetProxy + 1B5BFD6EC1068EBC586F5E566543AED5 + + 3E928BBA74037E7CC66DA0F8A3B3B8DA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPBlockDefinedMatcher.m + path + Expecta/EXPBlockDefinedMatcher.m + sourceTree + <group> + + 3EF4997CF38133FAC3AEBE0DCE27E93C + + fileRef + CC13203AE44911E58D66DAA1492E3C57 + isa + PBXBuildFile + + 3FBD69F837A72912345724E10F61174C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + ExpectaSupport.m + path + Expecta/ExpectaSupport.m + sourceTree + <group> + + 403292D82DA62291204BF59524BC4EDB + + fileRef + 39426D733844E4CADBCDCC1C8D484A37 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 415ED3BEFFB170C7B241B4850FFA5F73 children - DDE582482FAF1CEB39F0B9126CC59D6D - 89B4983E65DB1A8DD67F7A9D82A5CBBE - 6D0C6649E2D25AE53519CD3D4CD09ADC - AC25E36ECB984C6D46E07D449F8E6AD3 - 89798485B53447DE77BDD20C695E90B5 + 0D814C648B673D8BC66911763956D91A + 97C80D0E82983897C7BE808030B24ACA + 480DE7AE7ECE1F5650E1EEC5CF8DAA99 + F219EAEB4CF63A63F45AACE80242A6B6 + 37E84FA8E76F976BC2181ED088F05E2B + 47A47D8055A664F130F003182D001C8F isa PBXGroup name - Expecta+Snapshots + Support Files path - Expecta+Snapshots + ../Target Support Files/RZDataBinding sourceTree <group> - 7DB346D0F39D3F0E887471402A8071AB + 4164D7FCF962A114376CCE647185AAD0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + NSArray+PureLayout.h + path + PureLayout/PureLayout/NSArray+PureLayout.h + sourceTree + <group> + + 418587DF2D2D9A600EBCEA44CBA8DC4D children - BA6428E9F66FD5A23C0A2E06ED26CD2F - BBDF8B40B41B1D6687EE70B9911CD9FE - 889BF0F0BDFADD543BF2FA019819EE36 - 01B7874DB1C39E2441E993D3FF792FA3 - 246ADE196BE06B55EAF1A0CEA777A91D - A72422E7362EFC4FD538DFE6D60B68FA + 55EE3A76377E18F37306078B9B8DFFCA + 9171D8E3140FECED0D9E942B6C42EE95 isa PBXGroup + name + GradientButton + path + ../.. sourceTree <group> - 7F16975B59754CB8947EB2FC1A86B5A8 + 41CF6F88864A18BAA885D36B6A74B6E7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTCallSite.h + path + Specta/Specta/SPTCallSite.h + sourceTree + <group> + + 4241CF12CA7C6F3AE7BB83CF6CD44023 fileRef - 81F7DFE5DFEA25DC19F44E25AFD9017B + 84301FD5E050B69CDAC151BD8F79122B + isa + PBXBuildFile + + 42D48215DCEF6E739C9B576B54ED3F47 + + fileRef + A65822AA0B88145340ED61E83A78E65D + isa + PBXBuildFile + + 430F541979308FE766D2350FCCC71A36 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beSubclassOf.m + path + Expecta/Matchers/EXPMatchers+beSubclassOf.m + sourceTree + <group> + + 43D0FD8922A4C4A6E26346B34E0F08EB + + includeInIndex + 1 + isa + PBXFileReference + path + PureLayout.modulemap + sourceTree + <group> + + 4544D69ECBC722AC1A22597746CDB093 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Expecta.xcconfig + sourceTree + <group> + + 4565C9C22E61D8545A590BA6C1276AA1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beGreaterThan.h + path + Expecta/Matchers/EXPMatchers+beGreaterThan.h + sourceTree + <group> + + 456E5A750E8C970B4565211467EDD8B1 + + fileRef + 2EC4ABA069B61D8B9870CD5251429012 + isa + PBXBuildFile + + 46137F5CC368BF38BAF0D0AF81DD8FFE + + fileRef + F9E5BBA3D92FFB3BE31CA99BFCC8EACC + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 46EC44B811324E68F3B50B3B3C130204 + + fileRef + 68E39DA0475AE6038CF94244A8594306 + isa + PBXBuildFile + + 471FD4F68E27AB26FA2AEBB8B245CEE4 + + fileRef + 1012DC52A73DA4CA321CE5716F427185 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 47707B826F3E0DADE315FC93F6E5147E + + explicitFileType + wrapper.cfbundle + includeInIndex + 0 + isa + PBXFileReference + name + GradientButton.bundle + path + GradientButton.bundle + sourceTree + BUILT_PRODUCTS_DIR + + 47A47D8055A664F130F003182D001C8F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RZDataBinding-umbrella.h + sourceTree + <group> + + 47B2EFEFDE98CD6BAD693AA7772B4125 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + path + Expecta.framework + sourceTree + BUILT_PRODUCTS_DIR + + 480DE7AE7ECE1F5650E1EEC5CF8DAA99 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + RZDataBinding.xcconfig + sourceTree + <group> + + 4935A335F1390CAA20AF28BAA266217C + + buildConfigurations + + F45A4E4F32594DA98D7B281BCF92EEBC + 39D4CA192AE579092236D8840F3E5B45 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 498FB3DD9EDC3C04229AC905A873E7AF + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + D14EC4A64CAECC10346D0BFF449458AA + remoteInfo + RZDataBinding + + 499D1411C352205E3A38BE88B4E03A1A + + buildActionMask + 2147483647 + files + + 775F059D5771456DC08DC5544650290A + 8E65FA35DBE8FC5DD791D1772637CC52 + 18359C98147B5E9CBFDBB349F54C8BE2 + A99BE4C31F44A5DC1A929F4FBEBCFB6A + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 49FACCF48F86E8A67E21C7FA60D05A8D + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 23031C93E56B55904F315E8034C218A0 + remoteInfo + PureLayout + + 4A63FEA4E26E824DBCE7C033387072CE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SPTCompiledExample.m + path + Specta/Specta/SPTCompiledExample.m + sourceTree + <group> + + 4AEE316498EEE4C82503CF18BDFA9A98 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+raiseWithReason.m + path + Expecta/Matchers/EXPMatchers+raiseWithReason.m + sourceTree + <group> + + 4BBCBB9D8EF0B241A4A4FE4982985481 + + fileRef + 3FBD69F837A72912345724E10F61174C + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 4BC341B779D7163011C2268F24659783 + + baseConfigurationReference + DB7083C49F8F1B1D5C6CCE97F6D03ADC + buildSettings + + ENABLE_STRICT_OBJC_MSGSEND + YES + PRODUCT_NAME + GradientButton + SDKROOT + iphoneos + SKIP_INSTALL + YES + WRAPPER_EXTENSION + bundle + + isa + XCBuildConfiguration + name + Debug + + 4BFA67EF666D01C9FD4F4FB19D5602B8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + PureLayout.xcconfig + sourceTree + <group> + + 4D95A51236FF77A168DC13A9BC74E1B3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-GradientButton_Example.release.xcconfig + sourceTree + <group> + + 4E00EBA89EDA7D28D20E2492718F1603 + + fileRef + 9EC16F5BDACCCAB693E1B7B7E9AD3C08 + isa + PBXBuildFile + + 4F33F7DF2E98D842EAB699F126592B5A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + NSArray+PureLayout.m + path + PureLayout/PureLayout/NSArray+PureLayout.m + sourceTree + <group> + + 4F7BB8E1EF29438657C17A0E0CB6141F + + fileRef + BF54BC4373AB470E0CC616F398D3F6A0 + isa + PBXBuildFile + + 4FC7A37082C22263362EA4DCDBF7677E + + children + + 0C12DA1852E39E814DC7886DACB9024D + 270A3A2E4FE5D043D64FBB16940230C3 + 9F02C0ABDE7E4B2DCE2A59FE2BFC449A + + isa + PBXGroup + name + FBSnapshotTestCase + path + FBSnapshotTestCase + sourceTree + <group> + + 50176038A1850B479C5C7B30505A3714 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + XCTestCase+Specta.m + path + Specta/Specta/XCTestCase+Specta.m + sourceTree + <group> + + 506C9CBD87F3A281C9B08C88A4D60E96 + + buildActionMask + 2147483647 + files + + 85E4C4DC8D9C4B4D8651D9C059B4CDC1 + 21B54CBFCD48E0B8E4B3EC34B00E6452 + 3856B94C2DDE0D2E4EE78B7E7B296C40 + 8329271371047F27FD273F1F7AF61BD6 + 98AFA0B27D72E0CFF085DC034564E77B + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 50F099D833CB6D66F0C5FB940F9AD69E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+equal.m + path + Expecta/Matchers/EXPMatchers+equal.m + sourceTree + <group> + + 5116061E8D8ACC89F0E48EC77E6D2999 + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + B5522B4C786061CA9DFC8A4198028552 + remoteInfo + Expecta+Snapshots + + 51DDDB0FB4899757CF6A826B531B940D + + fileRef + 1B9B98F264C093C7C55B7A912C411474 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 5245128B229882121E8F543B8885A5E2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-GradientButton_Example-resources.sh + sourceTree + <group> + + 5313CE6E9AD10AFF7B2157D735D993D7 + + buildActionMask + 2147483647 + files + + F1E3108F4AF8125466B50E2E15321D72 + 4F7BB8E1EF29438657C17A0E0CB6141F + F4E58516B444895CAA6C6360A6D37C8D + 80759058A6C4A0B835986DD9C54DCF46 + 549EE9405C6AE31B35214759A14A8F69 + 79AA19899603DE6F2D8AAA5EDFDDEF34 + 016CFE2C943D14CC45D9F4F7EAF5F83E + 28E8C71D5417EC64603F6E3AF96316EF + 65452ABA5E94B3141DA573763FA6F897 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 53224FD87A08E521400DBDAF087B50D0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + FBSnapshotTestCasePlatform.h + path + FBSnapshotTestCase/FBSnapshotTestCasePlatform.h + sourceTree + <group> + + 53612895B3EC96BC5D8B823C9C3F1204 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + NSObject+RZDataBinding.h + path + RZDataBinding/NSObject+RZDataBinding.h + sourceTree + <group> + + 537F85BC8D7991BDC957158224F58C5B + + fileRef + D372CF80334F616774F0A45CF95A3EC2 + isa + PBXBuildFile + + 549EE9405C6AE31B35214759A14A8F69 + + fileRef + CB16151283AB5CF7E8C01410FC972C35 + isa + PBXBuildFile + + 55EE3A76377E18F37306078B9B8DFFCA + + children + + 854F641B8CAFCEEE40AEF7F3C4C83733 + + isa + PBXGroup + name + Pod + path + Pod + sourceTree + <group> + + 560411251129B4C35BE9363443ADB297 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + 560C52F5FB82E24644C66FD9443A546B + + baseConfigurationReference + B25491EE93C7C844784B85E48999A665 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch + INFOPLIST_FILE + Target Support Files/FBSnapshotTestCase/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap + MTL_ENABLE_DEBUG_INFO + NO + PRODUCT_NAME + FBSnapshotTestCase + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 562957229D9AEAA9039CCCF00426D5AE + + fileRef + 9F8388BFDED0AFC8A623AB19E88451AF + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 567328B7B3CD2B2EFE43EF99A2858862 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + GradientButton.h + sourceTree + <group> + + 579CA630E2003A138BAC12C7D2B499CD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Pods-GradientButton_Tests-acknowledgements.plist + sourceTree + <group> + + 58A651CCF65DFF56F38A294ECCD2482B + + buildActionMask + 2147483647 + files + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 58F94E2B3A5E145C1332F5A442EF8488 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + 5B2D4A621D3DA971A474776AF36BB073 + + fileRef + 3E928BBA74037E7CC66DA0F8A3B3B8DA + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 5B87B5FC838A0247A933651C114D73AA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + EXPMatchers+FBSnapshotTest.h + sourceTree + <group> + + 5B91C9F41EF2B221BD2D640D6BC425BC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beInstanceOf.h + path + Expecta/Matchers/EXPMatchers+beInstanceOf.h + sourceTree + <group> + + 5D289F515B2D21FE7103FDCFC79DD7D1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTSpec.h + path + Specta/Specta/SPTSpec.h + sourceTree + <group> + + 5EA7043FE10E75D02F3C3052AF8B8318 + + fileRef + E96405AF0EFC8F2007F8678BD36F563F + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 5ECC503DDABF56FB4D87603552CF97E9 + + children + + F21C7827EFFB688F8504EC22C1828F61 + 241B7AD057584B58440E47D0DB306269 + F4B594C252BB01D86188A4174CF83DA7 + A3E8F9A415EA6B4EE6C5A73F94B3CDE9 + 9F8388BFDED0AFC8A623AB19E88451AF + 84301FD5E050B69CDAC151BD8F79122B + 41CF6F88864A18BAA885D36B6A74B6E7 + CC29C18C6845C92F352F0A9AA0A5DD50 + 2334D3525881B0FC71AF944FFF83F4A9 + 4A63FEA4E26E824DBCE7C033387072CE + 3A1623876B97C45A6E62F5A642610867 + F02DFE2FE2C23360EEE38FFBF84289B7 + 9DE85EA93006920E748243EDB05A52CF + B7469EB5A7735E4879988709FB6D6306 + F5C20FAE8643FC37E5DAB35FC8E0760C + 379FE8A18FA9EC31F3A8D1632DEAF916 + 6AFACBCDEEA3E3D87D952EE865BC6311 + D7297223B4B80EF515962CAC2ED01364 + 5D289F515B2D21FE7103FDCFC79DD7D1 + 68E39DA0475AE6038CF94244A8594306 + D8647A12368A6610BA2E1ED18A6019A7 + 9EC16F5BDACCCAB693E1B7B7E9AD3C08 + 86FFE7DBB105BED0C915974F43F45401 + 9158173B644CA743E25753227C31BB29 + 50176038A1850B479C5C7B30505A3714 + 0438547B0FFFCC910522A74E1EAF8817 + + isa + PBXGroup + name + Specta + path + Specta + sourceTree + <group> + + 5F6FC4706E7444375E677294DFEEB5C6 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 60537EE95D37BD4B83D06371EA26F26F + + fileRef + BA43AAD4F36B401896012783FB24598D + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 607B9BFE50A5589F770B826188C13B37 + + buildConfigurationList + ACA8D778AB9D5DB29F13EDAF67C8506C + buildPhases + + 15B989952586B2C97574194BAA35FCF2 + F793BD5085A88507A1E97A8F9285B818 + 3330C60A3CFAE3307982DC8BEE50EE91 + + buildRules + + dependencies + + 683E3088258492DBD2DED5093A0D9DCF + A7A04C3C42FF256327226CE57120B00E + B5A5B1477AD2785798ED2926FCB2A09B + + isa + PBXNativeTarget + name + Pods-GradientButton_Example + productName + Pods-GradientButton_Example + productReference + 753CA9D4B3B0215E579A3344ABA3D39A + productType + com.apple.product-type.framework + + 60C8513D5E2EE8B210234D8BF8803350 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-GradientButton_Tests-umbrella.h + sourceTree + <group> + + 610249954D9E36ED0639D3B5DB4157F3 + + fileRef + B4694041CB63FF93725C2D65E908DF85 + isa + PBXBuildFile + + 613905463BB0D641E4C93417C8CFA5A4 + + fileRef + EF89F95CB4AB5469330A0B4EBA4ABB2B isa PBXBuildFile settings @@ -3722,35 +3114,20 @@ - 7F3DF237BED1CEF48265DC7976DADED7 + 61391AD7DC15FFD1A4C673FF65006F70 - buildConfigurationList - 30D0F22468C1B61E74D69D652950C90F - buildPhases - - 1C5B4E8ECE44037E81A85E03578E663E - 4637ADD1369BBCBF5C38C1DC5D900A58 - 2A61EA3FF11FFA402EF7CE4A58E6AC78 - - buildRules - - dependencies - - C116FA9612980C3F37D65BBB39D8B99B - 43778DA7BD4F5AACF67F36B559924E39 - + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXNativeTarget - name - Pods-GradientButton_Example - productName - Pods-GradientButton_Example - productReference - 71BDF1F3E8B40E814FC972FF2457A3E2 - productType - com.apple.product-type.framework + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 0D888F29E05E498D0CD91A51D28599A5 + remoteInfo + Expecta - 80156AEEDC4D129C5C54BFFED8633BF6 + 619CB768495D5BCCBA9582C5B4C34567 includeInIndex 1 @@ -3759,16 +3136,1104 @@ lastKnownFileType sourcecode.c.objc name - EXPMatchers+beGreaterThan.m + EXPMatchers+beSupersetOf.m path - Expecta/Matchers/EXPMatchers+beGreaterThan.m + Expecta/Matchers/EXPMatchers+beSupersetOf.m sourceTree <group> + 61E3DCC3BFC4664BF4E3DB33E6A1BFFB + + buildActionMask + 2147483647 + files + + 64687B36F9A8286FB739DCE7C29A215A + E095229D1FD15D5EAC247F5EFD25B01E + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 61EBB6E8E94C4A1F23CA25CF2F49B19A + + buildActionMask + 2147483647 + files + + 894686B4F56D73EFFC7DFC3607FCE3B1 + FAD03A1D29BFD90BCB7F04B02E6DED36 + E0C14077720B3EA3D3CD9FDE663FA6CA + 07794005619C9529F3F05B5283710891 + 613905463BB0D641E4C93417C8CFA5A4 + 6BBD83E39C1F2D6CC02CB98864CB3AD7 + 7F16975B59754CB8947EB2FC1A86B5A8 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 62FC5E3B413804768C4A5E2B6C4101C6 + + buildActionMask + 2147483647 + files + + 60537EE95D37BD4B83D06371EA26F26F + 96EA932B3F397059018EC0F939A3D609 + B19F2E828B200E5A345C39BC1668EFB6 + 27B97EDD517EE1DA44955F63ED7C182F + 562957229D9AEAA9039CCCF00426D5AE + D3A97742CACAE0C69D639B471125E6E6 + 97205ECF01FCEF6C26021D4A6C918B20 + C0F69C93D9F63907FCB1A4C03D372E23 + 2E8E1DB775E98A71556D1D20FE5300F1 + 022DD32C1475CD07C5D35FD04E7B4799 + C1C59177C9631753DCCB9F4EAC705748 + 1B668D9637D2CDD722343444E2B2A6F5 + 99DE2E96B25CA6AAD7F0695223E0B7CE + 385E0C8625F730CB397EBEEAF477AD4D + 98563873177CC5FBDD3458CF844194C9 + E95E9B817C6D9D281C5145EC0409DF01 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 631BC4705A6848F3655888C04DAE43BE + + baseConfigurationReference + 4D95A51236FF77A168DC13A9BC74E1B3 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + INFOPLIST_FILE + Target Support Files/Pods-GradientButton_Example/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.modulemap + MTL_ENABLE_DEBUG_INFO + NO + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PODS_ROOT + $(SRCROOT) + PRODUCT_NAME + Pods_GradientButton_Example + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 638BBBFBA1C9B0941DD8A1738171F8B5 + + buildActionMask + 2147483647 + files + + 5F6FC4706E7444375E677294DFEEB5C6 + 610249954D9E36ED0639D3B5DB4157F3 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 64687B36F9A8286FB739DCE7C29A215A + + fileRef + BF477E855584644C347FEA1531C7E4BF + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 65452ABA5E94B3141DA573763FA6F897 + + fileRef + 7B1E775E0DE67B55E2A06CBA02F0B545 + isa + PBXBuildFile + + 65BC31095CCDFC80CBF6BBA843751F23 + + fileRef + 9C6FC3617D3E61264061FFCD908348BD + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 66A27898E989A3FA5C15AA671C4536F0 + + fileRef + 8D05D40FF1ABB2834D105D0E4D32DA3A + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 67459AD239EF669A365519E06B45DCFE + + fileRef + 1BCE5472D3445B836C575438EA320A1F + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 67DA1B1AA0341806AC55857F7169CA92 + + includeInIndex + 1 + isa + PBXFileReference + path + FBSnapshotTestCase.modulemap + sourceTree + <group> + + 683E3088258492DBD2DED5093A0D9DCF + + isa + PBXTargetDependency + name + GradientButton + target + EDE65ED4BC6ABE064182269B382796C4 + targetProxy + FA21AFD252CB5EDBB99FF003EB48C60F + + 68A2624220512B6129D8320D2FAE2DB1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beKindOf.m + path + Expecta/Matchers/EXPMatchers+beKindOf.m + sourceTree + <group> + + 68E39DA0475AE6038CF94244A8594306 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SPTSpec.m + path + Specta/Specta/SPTSpec.m + sourceTree + <group> + + 691E96269133D753B21A9B771AF92AAD + + fileRef + 34F62CA447EDB22586C31C8C7ECDCABC + isa + PBXBuildFile + + 6A0FBE46C9F4D2A5B3C0703A684678A3 + + isa + PBXTargetDependency + name + GradientButton + target + EDE65ED4BC6ABE064182269B382796C4 + targetProxy + C99E9863F87608316C41DB2FD53CCD5B + + 6AFACBCDEEA3E3D87D952EE865BC6311 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTSharedExampleGroups.h + path + Specta/Specta/SPTSharedExampleGroups.h + sourceTree + <group> + + 6B016D2339B09AE90355D55AF6505274 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPBlockDefinedMatcher.h + path + Expecta/EXPBlockDefinedMatcher.h + sourceTree + <group> + + 6B8A84238CE703476738B5C6866A4DE6 + + fileRef + 7625370A81F8FA4FF8E821F6C6165153 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 6BBD83E39C1F2D6CC02CB98864CB3AD7 + + fileRef + 100012B8CA4CA7C6CC42CE20DD3A9A28 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Private + + + + 6BC6E5F3129FA58E5B7E948C1DDF2C1D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+contain.h + path + Expecta/Matchers/EXPMatchers+contain.h + sourceTree + <group> + + 6BDF08D2433E828BC3FD9F61B0E54E1F + + baseConfigurationReference + 7398F68721BE82551BB2562D61F2D4B8 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + INFOPLIST_FILE + Target Support Files/Pods-GradientButton_Tests/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.modulemap + MTL_ENABLE_DEBUG_INFO + NO + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PODS_ROOT + $(SRCROOT) + PRODUCT_NAME + Pods_GradientButton_Tests + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 6DA1374DD8B4F83EF2BF0CAC6674D066 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-GradientButton_Example-frameworks.sh + sourceTree + <group> + + 6E1D978790705E137FDE439AA68DD3AA + + fileRef + EAA34087B63B7774DADEBB85D9B4F4EE + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 6E1FA0578B4509D73363C50553E2E394 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+endWith.h + path + Expecta/Matchers/EXPMatchers+endWith.h + sourceTree + <group> + + 6EB3DB82821962E7F3E6A9B021E20A19 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + ALView+PureLayout.m + path + PureLayout/PureLayout/ALView+PureLayout.m + sourceTree + <group> + + 6EFC63A5CED45BB39FC79D87F2C47D6B + + fileRef + 4565C9C22E61D8545A590BA6C1276AA1 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 6F278423C8AE1DA47F35E374BB5B91EC + + fileRef + 619CB768495D5BCCBA9582C5B4C34567 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 6F8B7254FC3E5E43DD7FA139ACAD34D2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + FBSnapshotTestCasePlatform.m + path + FBSnapshotTestCase/FBSnapshotTestCasePlatform.m + sourceTree + <group> + + 6F9F503059D32B2A5712986E7E57854F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIImage+Diff.m + path + FBSnapshotTestCase/Categories/UIImage+Diff.m + sourceTree + <group> + + 70F9CEC358FF8F59CCA169242B3495D4 + + fileRef + CC29C18C6845C92F352F0A9AA0A5DD50 + isa + PBXBuildFile + + 7180349AD19B772695DF37291B0D8CA5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPExpect.m + path + Expecta/EXPExpect.m + sourceTree + <group> + + 720F0E07991EA27E9FCF97DB8740006D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatcherHelpers.m + path + Expecta/Matchers/EXPMatcherHelpers.m + sourceTree + <group> + + 731DDA8A2313B5569053EDFFA39009B9 + + buildActionMask + 2147483647 + files + + 691E96269133D753B21A9B771AF92AAD + 8AA2D2D0859851DBB6436478C1F9C783 + A2DE32828E3A20F8E65991C34EC7E368 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 73705CDA17DEE77B3A3F105F000F35C1 + + isa + PBXTargetDependency + name + FBSnapshotTestCase + target + E1E99BE24B4D5E362ECFB6580A5D5A8D + targetProxy + 02FDF0F2D799BC721DE6E26BA5DA0232 + + 7398F68721BE82551BB2562D61F2D4B8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-GradientButton_Tests.release.xcconfig + sourceTree + <group> + + 746DD3F2F1AADE59062C349327C566F3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beInTheRangeOf.m + path + Expecta/Matchers/EXPMatchers+beInTheRangeOf.m + sourceTree + <group> + + 753CA9D4B3B0215E579A3344ABA3D39A + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + Pods_GradientButton_Example.framework + path + Pods_GradientButton_Example.framework + sourceTree + BUILT_PRODUCTS_DIR + + 7586ED7740795B0F009F180D6512DA13 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + ExpectaObject+FBSnapshotTest.m + sourceTree + <group> + + 7625370A81F8FA4FF8E821F6C6165153 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + ExpectaObject+FBSnapshotTest.h + sourceTree + <group> + + 7659CBFCBD0D2149A424305373FEF6E2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+postNotification.h + path + Expecta/Matchers/EXPMatchers+postNotification.h + sourceTree + <group> + + 767FC058814156A5CB521D163FE5726A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+match.m + path + Expecta/Matchers/EXPMatchers+match.m + sourceTree + <group> + + 76A0BBAB9E137F7D226345BEE18371A6 + + baseConfigurationReference + 480DE7AE7ECE1F5650E1EEC5CF8DAA99 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/RZDataBinding/RZDataBinding-prefix.pch + INFOPLIST_FILE + Target Support Files/RZDataBinding/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/RZDataBinding/RZDataBinding.modulemap + MTL_ENABLE_DEBUG_INFO + YES + PRODUCT_NAME + RZDataBinding + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Debug + + 76CCABE79C04444450153424D7CE1DC1 + + fileRef + AC2C770935D2B4150EEE0B205739CADA + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 76D1C973CF83447D3744CD10AFC8DA94 + + baseConfigurationReference + 480DE7AE7ECE1F5650E1EEC5CF8DAA99 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/RZDataBinding/RZDataBinding-prefix.pch + INFOPLIST_FILE + Target Support Files/RZDataBinding/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/RZDataBinding/RZDataBinding.modulemap + MTL_ENABLE_DEBUG_INFO + NO + PRODUCT_NAME + RZDataBinding + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + 76D337327C10A7555447B69AA1562647 + + fileRef + 9BF27753BB0CAAA5EA7EDFCAE0DD8E90 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 76D514410DDA00454990598F46BE8696 + + fileRef + 910F3A20139A31040BEED23371B16174 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 772E21E2935E7117E62A76B7FCBDBBD4 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 774D3423011AB5E288DE4366B3E2E3F3 + + children + + 7625370A81F8FA4FF8E821F6C6165153 + 7586ED7740795B0F009F180D6512DA13 + 5B87B5FC838A0247A933651C114D73AA + 0CE35342C91CF2808B8A00BF0C25E7B8 + 7AEA58A4DBE49E83E2DF623EA5D1A0E5 + + isa + PBXGroup + name + Expecta+Snapshots + path + Expecta+Snapshots + sourceTree + <group> + + 775F059D5771456DC08DC5544650290A + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + 780DB43FAD69391144675F8540D9A713 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beNil.h + path + Expecta/Matchers/EXPMatchers+beNil.h + sourceTree + <group> + + 7873D46BC69CC746E6D9177632AC6435 + + buildActionMask + 2147483647 + files + + 22BFE48B07868273AF1262289AF48D8D + EDA5C2B13FF8C0DE5E42224B3F31B19F + 9F7B5B82CCAE5FA089979A7C9871F2A1 + 788F5DC9A25751889CAC8A433AA43369 + 9B9B17B790DF59972D55FE516A89FA00 + CFC0B1603E7582C1FE5D5D91E96FE177 + 276C5D9E27544784974A4F61502C0B9D + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 788F5DC9A25751889CAC8A433AA43369 + + fileRef + 98D81D28ED931EB48529F88482424BBE + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 79558B1F97ABE4AB8942DC18BEBD4B82 + + fileRef + CD5DCA790855AA314913D6C72388957E + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 79AA19899603DE6F2D8AAA5EDFDDEF34 + + fileRef + 98F183ADC3BC61F641CEE0C3563EDED8 + isa + PBXBuildFile + + 79C758527D11B18EE6A6D843FEAE5FF6 + + includeInIndex + 1 + isa + PBXFileReference + path + Pods-GradientButton_Tests.modulemap + sourceTree + <group> + + 7A211860F672261C1522DCDF1FFC9ED0 + + fileRef + B4694041CB63FF93725C2D65E908DF85 + isa + PBXBuildFile + + 7A32EDDC38E781F5077D3758D06F808D + + buildActionMask + 2147483647 + files + + 971C9A273111F13760F3F225BC23D837 + CC57108DD06F0B1F9574CE018274BB11 + 9646D3A5861BA349236E7BCA785A7272 + 91FC8DA2D1A120ACCF97B8BB657E0E6B + DABCF18EF593D1B8285CFF2ADAEF43FB + 06B08F43EA68354251FD06F520C2ADE0 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 7AEA58A4DBE49E83E2DF623EA5D1A0E5 + + children + + 1A6F037C257B12DE98C39387B8A150CD + 20D124EF05AE32370F86CD09560CCA7B + 34F62CA447EDB22586C31C8C7ECDCABC + 2F4314A180713D0D40AF1D7775C12908 + 910F3A20139A31040BEED23371B16174 + CE1D7A939A674CD3A33F3FFFC97ABD23 + + isa + PBXGroup + name + Support Files + path + ../Target Support Files/Expecta+Snapshots + sourceTree + <group> + + 7B035006D9ED19877F262FE81AF9D953 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beTruthy.h + path + Expecta/Matchers/EXPMatchers+beTruthy.h + sourceTree + <group> + + 7B1E775E0DE67B55E2A06CBA02F0B545 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIImage+Snapshot.m + path + FBSnapshotTestCase/Categories/UIImage+Snapshot.m + sourceTree + <group> + + 7B223B4E6EF14BA12DA113F7EE10B96C + + fileRef + 004B8B4DB509F5C34F1E87281B3D22EF + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 7D7FFE0F7D123A1CDFFA4F85F7043386 + + isa + PBXTargetDependency + name + PureLayout + target + 23031C93E56B55904F315E8034C218A0 + targetProxy + 49FACCF48F86E8A67E21C7FA60D05A8D + + 7DB346D0F39D3F0E887471402A8071AB + + children + + BA6428E9F66FD5A23C0A2E06ED26CD2F + BBDF8B40B41B1D6687EE70B9911CD9FE + 9F118796AD51B64836FBEC2CB79307D4 + 016E40BE048F626FBCE74743FA3ED994 + 1A05DD397ACFA98D84F5F9394D6645E4 + A72422E7362EFC4FD538DFE6D60B68FA + + isa + PBXGroup + sourceTree + <group> + + 7EDB63572ED8AEA22C229A190BE005A5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beInTheRangeOf.h + path + Expecta/Matchers/EXPMatchers+beInTheRangeOf.h + sourceTree + <group> + + 7F16975B59754CB8947EB2FC1A86B5A8 + + fileRef + 8D7704A3143D7A23637710CB6F5516BA + isa + PBXBuildFile + settings + + ATTRIBUTES + + Private + + + 805E425BBEF7A6133E32E1D30A073010 fileRef - 430444E6E86490E2572119A37E68341B + 7180349AD19B772695DF37291B0D8CA5 isa PBXBuildFile settings @@ -3780,42 +4245,27 @@ 80759058A6C4A0B835986DD9C54DCF46 fileRef - FD2B5E432A922FDD07DC97D3FF8FC30F + 9505F501D668FD302D1F04D160DFB941 isa PBXBuildFile - 8109BC06FFCED44A1EF9283AACC549C0 + 809F5FAA248A785D2721C79289C7037B - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - path - Specta.framework - sourceTree - BUILT_PRODUCTS_DIR - - 815FCECEE4FF630729054295EC5482B3 - - includeInIndex - 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc + wrapper.framework name - EXPDoubleTuple.m + UIKit.framework path - Expecta/EXPDoubleTuple.m + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/UIKit.framework sourceTree - <group> + DEVELOPER_DIR 817ACFD1566B6B600C2987269CD2E5CB baseConfigurationReference - 561534F9468BFFFCD27420D9028EAF1D + 20D124EF05AE32370F86CD09560CCA7B buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -3868,61 +4318,25 @@ name Release - 81EA667495423A08B3F880E68104D1EF - - buildActionMask - 2147483647 - files - - 03D38D6B6A25E74191E5101B8E9AAE3D - B77C0A902DF496895BD22068F33FD7B7 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 81F7DFE5DFEA25DC19F44E25AFD9017B + 825A492BC1056B06E2C71EF1A5BFA137 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - UIImage+Snapshot.h + EXPMatchers+beLessThan.m path - FBSnapshotTestCase/Categories/UIImage+Snapshot.h + Expecta/Matchers/EXPMatchers+beLessThan.m sourceTree <group> - 82205394EDBB22F5C7E6CE41C4E737E4 - - baseConfigurationReference - DB7083C49F8F1B1D5C6CCE97F6D03ADC - buildSettings - - ENABLE_STRICT_OBJC_MSGSEND - YES - PRODUCT_NAME - GradientButton - SDKROOT - iphoneos - SKIP_INSTALL - YES - WRAPPER_EXTENSION - bundle - - isa - XCBuildConfiguration - name - Debug - 82E05444D6EE3E8133AB04B420729C1D fileRef - 6D0C6649E2D25AE53519CD3D4CD09ADC + 5B87B5FC838A0247A933651C114D73AA isa PBXBuildFile settings @@ -3933,52 +4347,17 @@ - 8306A05F3FC954D6F3B4E35C4F6B2E24 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beginWith.h - path - Expecta/Matchers/EXPMatchers+beginWith.h - sourceTree - <group> - 8329271371047F27FD273F1F7AF61BD6 fileRef - 8109BC06FFCED44A1EF9283AACC549C0 + 203F527C128D03BF0A2BDE17181A5A20 isa PBXBuildFile - 83740C9D7B90CA3BE24F881C3D85F5FE - - children - - FEB36DA91AA655F244A3A65C2737019B - 214647B96EB8D7B1FA18DD92A6EA3917 - 5F9093C7E794724D47C617BE24557A5D - 5892291CEFA7A94FA402E6AA6A47B34D - 5C0D2BAE8C19CA6614F3CA94783F095D - 305597218253482DD97EA53544065F82 - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/Expecta - sourceTree - <group> - 837B593D7C1D01B4EA400247309D6AB0 fileRef - 5C0D2BAE8C19CA6614F3CA94783F095D + CF0CA26AB64CCBAA121E1C62F7FAD5C8 isa PBXBuildFile settings @@ -3989,18 +4368,18 @@ - 842BBF139CB39BB098C7EAE5246FBEC2 + 84301FD5E050B69CDAC151BD8F79122B includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - FBSnapshotTestCase.h + SpectaUtility.m path - FBSnapshotTestCase/FBSnapshotTestCase.h + Specta/Specta/SpectaUtility.m sourceTree <group> @@ -4047,10 +4426,30 @@ sourceTree <group> + 854FA67F630364D64CF8C27B67FF3EF7 + + children + + D9E73D35E9A99A157465A70695A9ED7C + 4544D69ECBC722AC1A22597746CDB093 + 2DF60F50CBCF1A0AD967AC0BF876D8BC + E00F5F899B8499A882532FC37474D117 + CF0CA26AB64CCBAA121E1C62F7FAD5C8 + 58F94E2B3A5E145C1332F5A442EF8488 + + isa + PBXGroup + name + Support Files + path + ../Target Support Files/Expecta + sourceTree + <group> + 85E31076D5530AEEB45ACF16B2B8A983 fileRef - 4DFBE5937DE9B4E2ADFCD9B2EBF09325 + B59AF37614E520610B69353BEE4AB718 isa PBXBuildFile settings @@ -4064,14 +4463,14 @@ 85E4C4DC8D9C4B4D8651D9C059B4CDC1 fileRef - 9B4FD1629D4BDD6C6A72FA9D69575981 + 47B2EFEFDE98CD6BAD693AA7772B4125 isa PBXBuildFile 85EB2F216487CB2E8F3FCCFBC4D69912 fileRef - 579F45E6A47205E79C183A91C534F864 + 7B035006D9ED19877F262FE81AF9D953 isa PBXBuildFile settings @@ -4082,20 +4481,7 @@ - 8775AA97F82B7910225CC126C2BBB599 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 87DC71BCE9F88907D4CA9EA6C6D4CD3A + 86FFE7DBB105BED0C915974F43F45401 includeInIndex 1 @@ -4104,75 +4490,24 @@ lastKnownFileType sourcecode.c.h name - NSObject+Expecta.h + XCTest+Private.h path - Expecta/NSObject+Expecta.h + Specta/Specta/XCTest+Private.h sourceTree <group> - 87FD5F0F682CDEB6A348CA448889E3EA + 8710BC7D69D7FC54EC9C4A5C9EBB779C - fileRef - C1EF7A5D7462BAA91E23F816C1B96180 isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 88387667A706D518348C8DAEDA057AAF - - fileRef - 309AE29D56F62AA38812FCD588D97505 - isa - PBXBuildFile - - 88654380107F1E7E2ECCFBC760B10073 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - B5522B4C786061CA9DFC8A4198028552 - remoteInfo - Expecta+Snapshots - - 886747D682B17CC3C7D2E71688B2D715 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - FBSnapshotTestCase.xcconfig - sourceTree - <group> - - 889BF0F0BDFADD543BF2FA019819EE36 - - children - - 9B4FD1629D4BDD6C6A72FA9D69575981 - 4F20195ACAEB452CA807A9D3CBD86779 - 6FBABDB5A34C49BE6A04BDFA99DA04D8 - 8109BC06FFCED44A1EF9283AACC549C0 - AE64418A2C8AC4ACEA9024349D63AC6E - - isa - PBXGroup + PBXTargetDependency name - Frameworks - sourceTree - <group> + RZDataBinding + target + D14EC4A64CAECC10346D0BFF449458AA + targetProxy + 498FB3DD9EDC3C04229AC905A873E7AF - 88B5C933CDFBD78AAD0546A4AF52B9D5 + 8755111838F68D75F46B3611A8DE91BA includeInIndex 1 @@ -4181,16 +4516,28 @@ lastKnownFileType sourcecode.c.objc name - EXPMatchers+beSupersetOf.m + EXPDoubleTuple.m path - Expecta/Matchers/EXPMatchers+beSupersetOf.m + Expecta/EXPDoubleTuple.m sourceTree <group> + 87FD5F0F682CDEB6A348CA448889E3EA + + fileRef + 68A2624220512B6129D8320D2FAE2DB1 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + 894686B4F56D73EFFC7DFC3607FCE3B1 fileRef - 842BBF139CB39BB098C7EAE5246FBEC2 + 30A36B11F34940495699E9C1D658F2AA isa PBXBuildFile settings @@ -4201,38 +4548,18 @@ - 89798485B53447DE77BDD20C695E90B5 + 89472CA34B4A5C7261072DF674BCAA79 - children + buildActionMask + 2147483647 + files - AA07840C0EE1A07210D7D9A95B28E2D6 - 561534F9468BFFFCD27420D9028EAF1D - 35F1FA87897C7070C74ECF8D2CE8DAF9 - 099A52678B3E80735A017D133E675C0B - B3E4CD3EBCF888648A5FDAC1B196AF58 - A2B5894FEB35480FC1B773A4D38D14DF + 105509F5FC8E0F5E497C81B8C6BC4E94 isa - PBXGroup - name - Support Files - path - ../Target Support Files/Expecta+Snapshots - sourceTree - <group> - - 89B4983E65DB1A8DD67F7A9D82A5CBBE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - ExpectaObject+FBSnapshotTest.m - sourceTree - <group> + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 89BF516BAE1C018E4CD565FA371F2474 @@ -4247,52 +4574,31 @@ remoteInfo Specta - 89BFC58884D390B7305188C6431351C0 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 1D01B491CB2A65D97C9A0D1477C75AE8 - remoteInfo - PureLayout - 8AA2D2D0859851DBB6436478C1F9C783 fileRef - 89B4983E65DB1A8DD67F7A9D82A5CBBE + 7586ED7740795B0F009F180D6512DA13 isa PBXBuildFile - 8AAA1981FD0C38B91AE527BE960EE881 + 8C324580510E4E46AE1ADC73F1CCD9A1 - includeInIndex - 1 + buildActionMask + 2147483647 + files + + A8B211A754206F36AC53AAC2E54DD090 + 42D48215DCEF6E739C9B576B54ED3F47 + isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTExample.h - path - Specta/Specta/SPTExample.h - sourceTree - <group> - - 8B4B49E45D6DB50E87DC39B63ADB5EA3 - - fileRef - 56D4C1D5295EE93E59623E6886DA016A - isa - PBXBuildFile + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 8C8C1B0D83FE6A4352F15154DB16372C fileRef - AA729BBF9CB238789CCA63E476AEA5CE + DC3BDBFF93B9D97B18D6E10511A7B0F6 isa PBXBuildFile settings @@ -4303,18 +4609,7 @@ - 8CADF593C95BE01C0B91DBC2C8884939 - - includeInIndex - 1 - isa - PBXFileReference - path - Specta.modulemap - sourceTree - <group> - - 8E64F0B58141D2A8C5B35D8B7E1D76E0 + 8D05D40FF1ABB2834D105D0E4D32DA3A includeInIndex 1 @@ -4323,27 +4618,27 @@ lastKnownFileType sourcecode.c.objc name - ALView+PureLayout.m + EXPMatchers+beIdenticalTo.m path - PureLayout/PureLayout/ALView+PureLayout.m + Expecta/Matchers/EXPMatchers+beIdenticalTo.m sourceTree <group> - 8E65FA35DBE8FC5DD791D1772637CC52 + 8D6453BF960A49E474C45C353DBD4D42 - fileRef - 512270DFF71CC24193ECDFCACC6B13FE + buildConfigurations + + 76A0BBAB9E137F7D226345BEE18371A6 + 76D1C973CF83447D3744CD10AFC8DA94 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release isa - PBXBuildFile + XCConfigurationList - 9048AD9B0E9D54ECA220ADEBB0902A2D - - fileRef - 563BDF7C8114F5105A8038CFD0803495 - isa - PBXBuildFile - - 90A24E859872FBF4996DB8FF2C72D641 + 8D7704A3143D7A23637710CB6F5516BA includeInIndex 1 @@ -4352,24 +4647,92 @@ lastKnownFileType sourcecode.c.h name - PureLayout+Internal.h + UIImage+Snapshot.h path - PureLayout/PureLayout/PureLayout+Internal.h + FBSnapshotTestCase/Categories/UIImage+Snapshot.h sourceTree <group> - 9106954FD71A00CE85BF2799C2328977 + 8E289B6B867E5364AC66B1749EFB670F includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc + sourcecode.c.h name - EXPMatchers+beInTheRangeOf.m + EXPMatchers+beginWith.h path - Expecta/Matchers/EXPMatchers+beInTheRangeOf.m + Expecta/Matchers/EXPMatchers+beginWith.h + sourceTree + <group> + + 8E65FA35DBE8FC5DD791D1772637CC52 + + fileRef + 35C84DB075E0B1A169C2248D82222611 + isa + PBXBuildFile + + 9048AD9B0E9D54ECA220ADEBB0902A2D + + fileRef + B7469EB5A7735E4879988709FB6D6306 + isa + PBXBuildFile + + 905E14FEA87A1E6F96197B938699A150 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Specta.xcconfig + sourceTree + <group> + + 910F3A20139A31040BEED23371B16174 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Expecta+Snapshots-umbrella.h + sourceTree + <group> + + 9124AE897FF09733C4AAE02FE59F78F4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + FBSnapshotTestCase-prefix.pch + sourceTree + <group> + + 9158173B644CA743E25753227C31BB29 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + XCTestCase+Specta.h + path + Specta/Specta/XCTestCase+Specta.h sourceTree <group> @@ -4396,7 +4759,7 @@ 918E06480F28F27361B19D19432F8538 fileRef - CB278C4D8E22AB0B2386C27A5DC84F44 + 34D0E4C17FE819BE03EDBE79A8BB4F35 isa PBXBuildFile settings @@ -4405,21 +4768,31 @@ -fno-objc-arc - 91A9DBBC7015AD2DCA8D0581F9BCEB2E + 91FC8DA2D1A120ACCF97B8BB657E0E6B - buildActionMask - 2147483647 - files - + fileRef + E5B859664D04F94C8E03F34507B888D6 isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 921E81E06AED9C5AD3847C9813411BD4 + + fileRef + 47707B826F3E0DADE315FC93F6E5147E + isa + PBXBuildFile 931D410B9F8ACB935883DF8C59F9C93E fileRef - FAD450F231B69F75615E743CE1ED2B4C + 1CF18B3365D2F4A5395A6C9F77DF02B7 isa PBXBuildFile settings @@ -4428,112 +4801,103 @@ -fno-objc-arc - 94A265E9347952785B38B2FBF2E14207 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - B55EF7CBD04F6E68616BF8F23147B659 - remoteInfo - GradientButton - - 94C22F2BC12C655B835B03C447C3A47E - - baseConfigurationReference - DB7083C49F8F1B1D5C6CCE97F6D03ADC - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_PREFIX_HEADER - Target Support Files/GradientButton/GradientButton-prefix.pch - INFOPLIST_FILE - Target Support Files/GradientButton/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MODULEMAP_FILE - Target Support Files/GradientButton/GradientButton.modulemap - MTL_ENABLE_DEBUG_INFO - NO - PRODUCT_NAME - GradientButton - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Release - - 94C47C87E397972CE98F75929F3B706C - - fileRef - C42C93ADD945A4372635BD32CAD3C814 - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - 957CBE35D3FC82EDC76EDF33D58CC14A + 93BD48BA57CC242119626726502ADCB9 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - SPTSharedExampleGroups.h + EXPMatchers+conformTo.m path - Specta/Specta/SPTSharedExampleGroups.h + Expecta/Matchers/EXPMatchers+conformTo.m sourceTree <group> - 9642FE3DC47F9341B29959065F861DEE + 9458BA2EA684F8DDCC7D4EC7493E1295 + explicitFileType + wrapper.framework + includeInIndex + 0 isa - PBXTargetDependency + PBXFileReference + path + FBSnapshotTestCase.framework + sourceTree + BUILT_PRODUCTS_DIR + + 94C47C87E397972CE98F75929F3B706C + + fileRef + 0716A369CAD7CF7E97AB966346E908D7 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + 9505F501D668FD302D1F04D160DFB941 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc name - PureLayout - target - 1D01B491CB2A65D97C9A0D1477C75AE8 - targetProxy - B562199A5D17CED4BF940537A2A82C5D + FBSnapshotTestController.m + path + FBSnapshotTestCase/FBSnapshotTestController.m + sourceTree + <group> + + 952452A080C6DA7715DDA27769BC3808 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + PureLayout.framework + path + PureLayout.framework + sourceTree + BUILT_PRODUCTS_DIR + + 953408BA91122B0FC4E50106032A5977 + + fileRef + 6EB3DB82821962E7F3E6A9B021E20A19 + isa + PBXBuildFile + + 95D1D95D6CD65EE9F6BF3498B1B9F7F8 + + fileRef + F219EAEB4CF63A63F45AACE80242A6B6 + isa + PBXBuildFile + + 9646D3A5861BA349236E7BCA785A7272 + + fileRef + D601451BE4846ACB9288B666CF8CF3A1 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + 966427BD32145AD621F074D1691342B8 @@ -4587,25 +4951,39 @@ runOnlyForDeploymentPostprocessing 0 - 96722169F2EE7FD1D3A8A151F68B4997 + 96861ED38BB205A76FEF8A8D15CA92D2 + explicitFileType + wrapper.framework includeInIndex - 1 + 0 isa PBXFileReference - lastKnownFileType - sourcecode.c.objc name - EXPMatchers+raise.m + GradientButton.framework path - Expecta/Matchers/EXPMatchers+raise.m + GradientButton.framework sourceTree - <group> + BUILT_PRODUCTS_DIR 96EA932B3F397059018EC0F939A3D609 fileRef - C58ECDACD8D2FD15B5D6F0D6276B0700 + F21C7827EFFB688F8504EC22C1828F61 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 971C9A273111F13760F3F225BC23D837 + + fileRef + 53612895B3EC96BC5D8B823C9C3F1204 isa PBXBuildFile settings @@ -4619,7 +4997,7 @@ 97205ECF01FCEF6C26021D4A6C918B20 fileRef - 4AE18936EDB988BC6D3A33128764D642 + 2334D3525881B0FC71AF944FFF83F4A9 isa PBXBuildFile settings @@ -4630,21 +5008,56 @@ - 9729E844E74D91FE6E7C118E2C792B42 + 97C80D0E82983897C7BE808030B24ACA - buildActionMask - 2147483647 - files - + includeInIndex + 1 isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 + PBXFileReference + path + RZDataBinding.modulemap + sourceTree + <group> + + 981700D2D7D9F32AC6B0067C450D2E7A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + PureLayoutDefines.h + path + PureLayout/PureLayout/PureLayoutDefines.h + sourceTree + <group> + + 9823F8532BD40766A20830D449428F4A + + children + + 560411251129B4C35BE9363443ADB297 + 43D0FD8922A4C4A6E26346B34E0F08EB + 4BFA67EF666D01C9FD4F4FB19D5602B8 + 9ED07AF15EAC6FCE90D6D4B1C53DFA48 + A18730EAEA74397D7265AF992C7710EF + 2FEC4922ACB1315148CFCA88F7BDEF6F + + isa + PBXGroup + name + Support Files + path + ../Target Support Files/PureLayout + sourceTree + <group> 98563873177CC5FBDD3458CF844194C9 fileRef - 543F7BDA4F5F79573CAA43601F700A67 + 86FFE7DBB105BED0C915974F43F45401 isa PBXBuildFile settings @@ -4658,14 +5071,44 @@ 98AFA0B27D72E0CFF085DC034564E77B fileRef - 714385F6C0F231D3EAACF74261753D5D + B4694041CB63FF93725C2D65E908DF85 isa PBXBuildFile + 98D81D28ED931EB48529F88482424BBE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + PureLayout+Internal.h + path + PureLayout/PureLayout/PureLayout+Internal.h + sourceTree + <group> + + 98F183ADC3BC61F641CEE0C3563EDED8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIApplication+StrictKeyWindow.m + path + FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m + sourceTree + <group> + 99DE2E96B25CA6AAD7F0695223E0B7CE fileRef - 0566C8B9ADE96B49FC01A2B3E52421BE + 5D289F515B2D21FE7103FDCFC79DD7D1 isa PBXBuildFile settings @@ -4676,10 +5119,98 @@ + 9A2297865EBBB0C6BB68FCD2DB24F5E6 + + children + + 6B016D2339B09AE90355D55AF6505274 + 3E928BBA74037E7CC66DA0F8A3B3B8DA + E96405AF0EFC8F2007F8678BD36F563F + 0242034FCCE3452F6F4FD5564A1653DA + 8755111838F68D75F46B3611A8DE91BA + DFF54CDD8654496309E28498CD156F21 + F719184209C892731ECCAE26C31DF09D + 0716A369CAD7CF7E97AB966346E908D7 + 020D61DCBF246CF222ED4F757106F448 + 3FBD69F837A72912345724E10F61174C + 1BCE5472D3445B836C575438EA320A1F + 7180349AD19B772695DF37291B0D8CA5 + EAA34087B63B7774DADEBB85D9B4F4EE + B03C6DFB4D4965A794F11B2AAAE8BB07 + 9C6FC3617D3E61264061FFCD908348BD + DC3BDBFF93B9D97B18D6E10511A7B0F6 + 720F0E07991EA27E9FCF97DB8740006D + B59AF37614E520610B69353BEE4AB718 + B4915E05E31A744B21FA6B2C1F2F68B8 + F17AE2DB18DFF42261FB6EA5A153EBC9 + DD40471C217E673F15E800E352590C12 + EF5ACB77A8865026316E5CEFE6C04F8D + 8E289B6B867E5364AC66B1749EFB670F + 082D2DBFF12A6677A034924E2EB3DA2F + 4565C9C22E61D8545A590BA6C1276AA1 + AD79C9F95C7D5D2D4125F362E5EAAE61 + 0AB7C1FA77859ECDB4474A0B84B18BBC + EB0431968659C05CCF9A6BCE469E2B55 + 109F56E0BCDA4ED3076434C1EFDAB653 + 8D05D40FF1ABB2834D105D0E4D32DA3A + 5B91C9F41EF2B221BD2D640D6BC425BC + 9BF27753BB0CAAA5EA7EDFCAE0DD8E90 + 7EDB63572ED8AEA22C229A190BE005A5 + 746DD3F2F1AADE59062C349327C566F3 + CD5DCA790855AA314913D6C72388957E + 68A2624220512B6129D8320D2FAE2DB1 + FC8D9D1838053461A38436576FA42801 + 825A492BC1056B06E2C71EF1A5BFA137 + 13E0AA7314710B18E5C0D554F6C8EBCB + D0ECAB8B2DCACA6AC44F79EB630E71CD + 780DB43FAD69391144675F8540D9A713 + CB6529ACE33191B81028B23D54DC0EC3 + 242D421BCCC21690FBC1791F46BC9572 + 430F541979308FE766D2350FCCC71A36 + AC2C770935D2B4150EEE0B205739CADA + 619CB768495D5BCCBA9582C5B4C34567 + 7B035006D9ED19877F262FE81AF9D953 + 0611617871D3A830320E9CCC712A045A + DAAC3825F4873678B88E032902430423 + 93BD48BA57CC242119626726502ADCB9 + 6BC6E5F3129FA58E5B7E948C1DDF2C1D + D5B2EC65D0A0CD6FF38B3D17F79E7892 + 6E1FA0578B4509D73363C50553E2E394 + 34D0E4C17FE819BE03EDBE79A8BB4F35 + FE4CDB4793F9377F7B58BE433BBD32EB + 50F099D833CB6D66F0C5FB940F9AD69E + CF768E61543452FFE9E5FED6B4ED4B68 + 39426D733844E4CADBCDCC1C8D484A37 + FC5FC883FC82297C23A081DA1BC1A057 + 767FC058814156A5CB521D163FE5726A + 7659CBFCBD0D2149A424305373FEF6E2 + 1CF18B3365D2F4A5395A6C9F77DF02B7 + F9E5BBA3D92FFB3BE31CA99BFCC8EACC + 1B9B23C4CCC881D23C4BFBF31A26DEEF + A8B60103507D1B3E384010DBDA9ABD97 + 4AEE316498EEE4C82503CF18BDFA9A98 + 3181C5A4F3F1853BE29AA998C2CF11F6 + 05A779189AC915EB6F7D7849CDFD8B16 + 1B9B98F264C093C7C55B7A912C411474 + 16D2B939AB1F36C58368A81401D4A1B8 + 004B8B4DB509F5C34F1E87281B3D22EF + 1012DC52A73DA4CA321CE5716F427185 + C1BA01BBCF38663C1BCF7388890C889F + 854FA67F630364D64CF8C27B67FF3EF7 + + isa + PBXGroup + name + Expecta + path + Expecta + sourceTree + <group> + 9B2E761A064459F77EA9870BEF03ACC3 fileRef - DD8F605551C2300C9C46FB3364564F6D + 7659CBFCBD0D2149A424305373FEF6E2 isa PBXBuildFile settings @@ -4690,23 +5221,24 @@ - 9B4FD1629D4BDD6C6A72FA9D69575981 + 9B9B17B790DF59972D55FE516A89FA00 - explicitFileType - wrapper.framework - includeInIndex - 0 + fileRef + 2FEC4922ACB1315148CFCA88F7BDEF6F isa - PBXFileReference - path - Expecta.framework - sourceTree - BUILT_PRODUCTS_DIR + PBXBuildFile + settings + + ATTRIBUTES + + Public + + 9BB9159FBA757600D3D4C0FF645F3911 fileRef - 9106954FD71A00CE85BF2799C2328977 + 746DD3F2F1AADE59062C349327C566F3 isa PBXBuildFile settings @@ -4715,6 +5247,66 @@ -fno-objc-arc + 9BF27753BB0CAAA5EA7EDFCAE0DD8E90 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beInstanceOf.m + path + Expecta/Matchers/EXPMatchers+beInstanceOf.m + sourceTree + <group> + + 9C3C117356E1598836F0BB397C419A2D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + PureLayout.h + path + PureLayout/PureLayout/PureLayout.h + sourceTree + <group> + + 9C65DD6DE88E9C99EC9558EF55F9FBFD + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + name + RZDataBinding.framework + path + RZDataBinding.framework + sourceTree + BUILT_PRODUCTS_DIR + + 9C6FC3617D3E61264061FFCD908348BD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatcher.h + path + Expecta/EXPMatcher.h + sourceTree + <group> + 9CA4A1684C5B62E1D02B3650AC47EF1C includeInIndex @@ -4728,136 +5320,180 @@ sourceTree <group> - 9DDD70271624DA9C4D658383A9FCC7ED + 9D9F65CDEFA3D586AC6C327E3400FDC8 - fileRef - 8E64F0B58141D2A8C5B35D8B7E1D76E0 + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXBuildFile - - 9FA8BF66C6BE1C7120E1E47AD378C8C6 - - children - - AA101E016C76302C06F4575172FDC9DE - F6EB583A0E0B95BC98422547435C1DB8 - B73FA83187F6E3585C08B5C189A6F033 - FB37123DB4D2486C30EA392F17BF7505 - 815FCECEE4FF630729054295EC5482B3 - 5AE13025CC5C6B218AAF479784CD9ED2 - AF51448F8D892B8D7E10576612FBA77A - C42C93ADD945A4372635BD32CAD3C814 - 63531BD7407ED90996601DCE8FCEFD55 - D7B03B244D464496A92ACED43DA0DE3D - FF49B4C3C61836DE302F437C919A7A05 - 430444E6E86490E2572119A37E68341B - 593892C8C11EDE0285489E134696F878 - DEEE8F25AEEDB29355650590026262C0 - 44C2BCB8ADDB4424AC3426DA52A88FD0 - AA729BBF9CB238789CCA63E476AEA5CE - 52B96B599CCF1E2C6EE96048EA5880E3 - 4DFBE5937DE9B4E2ADFCD9B2EBF09325 - 19C53BEC21D8B0E161B0702E54CF7D9D - 10782AE189DA5C3D8516751CF9C19A5E - 1AA72D353A2583EA748D45A0652D40A4 - 31480E56FB4A5AF08ADA95062BFEFC89 - 8306A05F3FC954D6F3B4E35C4F6B2E24 - FA9AA960F05653C47EB2662A7E0E3796 - DC7DF335401532E474FB05944C1ED485 - 80156AEEDC4D129C5C54BFFED8633BF6 - 7BD87D11D30651D5EB6E5F42D4FCDFFE - F65C9454F6F8DB1D7E3FFDE17F54D58C - 3649CB424097BF48E430598CDE474EEC - 4A483661BF65897902AB0A0CFCD975AE - 4BB793EEEA2972B9A2DB5CC84E5C7FC8 - 1509EB0EDB59BB6A235C075BDF27ACA5 - 70688D0A2ACC0A7F02D0F1235F0E8BF4 - 9106954FD71A00CE85BF2799C2328977 - BB4F841C6A0CF76946BB788A161240EA - C1EF7A5D7462BAA91E23F816C1B96180 - 2CD52C0184F0903B7EA8B033B01717A9 - 390F5EAD0FA0ACB91D06A90A974E0A45 - F0BE4B0FD430ED5364A83BE6EFAB44E3 - 3F639A935CAD81D124435F643E505794 - AF42AAF54B5A41D37200E11671FFA6E8 - D32A0E3BF4F5096301528945D03203B2 - 25BC55E750A529F4D0F46F5119E3EFB0 - ECF097833A853FF056370CCA06DA4831 - C3F844297B8662ADF09537912FAC73ED - 88B5C933CDFBD78AAD0546A4AF52B9D5 - 579F45E6A47205E79C183A91C534F864 - 6F7482216BDAA86DA901E47954D81943 - CE7DBAFD56D35A84CC36342276EA5A27 - 5723825DA3450735996AC90B937A4AEF - EF3299BF94C0392FCBAA98D2E58CB10E - 1A2536CA1A4C375065588D7CA7FFFD04 - 313C5B73A027A335880529469217DAC0 - CB278C4D8E22AB0B2386C27A5DC84F44 - 238F2FBD86752F42D840CC54A3F5A407 - 4016B648F56236C2BA14F6C65E94AFC0 - 65B4136A49BEA00E3874E067A148CFE2 - 289E592F6B702F82121F6BAC6F5CA8AA - AA7B81ED73344E500125187115387A8F - 5A5036265EC2BF776D08D8ED807B8000 - DD8F605551C2300C9C46FB3364564F6D - FAD450F231B69F75615E743CE1ED2B4C - AD498EF1F11DF000A23462687DB4F486 - 96722169F2EE7FD1D3A8A151F68B4997 - 510D07686732BBA3C4B870F02EAC7A30 - FB445B211C424686C720B085874E2EF7 - 17A1FCF90A9C0E52BA56CCF8B9DCF00C - C764B935846E8C662CCF7906D8A555DA - 10E1AB2290A940590A50E8D54F54A2F6 - 47C3908A5AAE0260FB6D95C74D65652D - 87DC71BCE9F88907D4CA9EA6C6D4CD3A - 4A4547E4EE9A69F8554ABE6EB6C8F6FA - DD4E5110B5ED80C99A3F9576C46C4672 - 83740C9D7B90CA3BE24F881C3D85F5FE - - isa - PBXGroup - name - Expecta - path - Expecta - sourceTree - <group> - - A19848361FB4BD8BE40DFFCF8D626CFC - - includeInIndex + PBXContainerItemProxy + proxyType 1 - isa - PBXFileReference - path - FBSnapshotTestCase.modulemap - sourceTree - <group> + remoteGlobalIDString + 23031C93E56B55904F315E8034C218A0 + remoteInfo + PureLayout - A2540F2F30D0D24D1BECFC5FA799995B - - fileRef - AADBF70B3B9D2D9143BFF2AC688B29D1 - isa - PBXBuildFile - - A2B5894FEB35480FC1B773A4D38D14DF + 9DE85EA93006920E748243EDB05A52CF includeInIndex 1 isa PBXFileReference lastKnownFileType - text.plist.xml + sourcecode.c.h + name + SPTExampleGroup.h path - Info.plist + Specta/Specta/SPTExampleGroup.h sourceTree <group> + 9E49090365C10E07D2766780B6AB89F6 + + fileRef + 25A8AF3A1686ABD63B5E963294E03BC7 + isa + PBXBuildFile + + 9EC16F5BDACCCAB693E1B7B7E9AD3C08 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SPTTestSuite.m + path + Specta/Specta/SPTTestSuite.m + sourceTree + <group> + + 9ED07AF15EAC6FCE90D6D4B1C53DFA48 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + PureLayout-dummy.m + sourceTree + <group> + + 9F02C0ABDE7E4B2DCE2A59FE2BFC449A + + children + + CB16151283AB5CF7E8C01410FC972C35 + + isa + PBXGroup + name + SwiftSupport + sourceTree + <group> + + 9F118796AD51B64836FBEC2CB79307D4 + + children + + 47B2EFEFDE98CD6BAD693AA7772B4125 + 9458BA2EA684F8DDCC7D4EC7493E1295 + CC13203AE44911E58D66DAA1492E3C57 + 198E8411704EB4CC123DBE909AAFD1E1 + 203F527C128D03BF0A2BDE17181A5A20 + 37AD1E0661BB14666F04591EFA3DAD40 + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + 9F7B5B82CCAE5FA089979A7C9871F2A1 + + fileRef + 3AC6D14C692F7F5556E221436216C84B + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + 9F8388BFDED0AFC8A623AB19E88451AF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SpectaUtility.h + path + Specta/Specta/SpectaUtility.h + sourceTree + <group> + + A0B3906A4737693F145ECCD46F4F93E3 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + A18730EAEA74397D7265AF992C7710EF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + PureLayout-prefix.pch + sourceTree + <group> + + A195E2A145A82A89C5E7BD5695E4A1A1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + FBSnapshotTestCase-dummy.m + sourceTree + <group> + + A2540F2F30D0D24D1BECFC5FA799995B + + fileRef + F02DFE2FE2C23360EEE38FFBF84289B7 + isa + PBXBuildFile + + A294AFC9469E1AC783CD01BA8C61BBF0 + + fileRef + A6A4CF0C22FD60A7E6AA68F5475D6191 + isa + PBXBuildFile + A2DE32828E3A20F8E65991C34EC7E368 fileRef - AC25E36ECB984C6D46E07D449F8E6AD3 + 0CE35342C91CF2808B8A00BF0C25E7B8 isa PBXBuildFile @@ -4874,34 +5510,47 @@ sourceTree <group> - A3E135FBE86323441576FB1FCD064FCA + A3E1851E38EFE040E51CA02C396A8681 - buildActionMask - 2147483647 - files - - 44E7E84D951A97D5C264F9DA0C48930D - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing + explicitFileType + wrapper.framework + includeInIndex 0 - - A3FF1BE536A60854A98AC50FFA9A20DD - isa - PBXTargetDependency + PBXFileReference name - GradientButton-GradientButton - target - ACB0252707747CD6901BDF7EF56B17D2 - targetProxy - 4C07DDFDBB2218284D2D391F446B477B + FBSnapshotTestCase.framework + path + FBSnapshotTestCase.framework + sourceTree + BUILT_PRODUCTS_DIR + + A3E6DBD63D935F66847F99D146B76F31 + + fileRef + 35C84DB075E0B1A169C2248D82222611 + isa + PBXBuildFile + + A3E8F9A415EA6B4EE6C5A73F94B3CDE9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SpectaTypes.h + path + Specta/Specta/SpectaTypes.h + sourceTree + <group> A40BD63BA2BF1E89CAE511B5324024F4 baseConfigurationReference - 886747D682B17CC3C7D2E71688B2D715 + B25491EE93C7C844784B85E48999A665 buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -4956,34 +5605,6 @@ name Debug - A42A11376484448290EACF251AF8DAC3 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 0D888F29E05E498D0CD91A51D28599A5 - remoteInfo - Expecta - - A45E76BFFFDE5D8C1CBF15F03770F18F - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - Expecta.framework - path - Expecta.framework - sourceTree - BUILT_PRODUCTS_DIR - A4F10EFA1F8DB252EDDB451D5BEEF1EB includeInIndex @@ -5021,77 +5642,21 @@ sourceTree <group> - A6922487AB8095FA4A248866B59E44EB + A6A4CF0C22FD60A7E6AA68F5475D6191 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - SPTCallSite.h + RZDBTransforms.m path - Specta/Specta/SPTCallSite.h + RZDataBinding/RZDBTransforms.m sourceTree <group> - A6DC9F7100C1D4A1C2DB723B66E5B97C - - baseConfigurationReference - 0CD0F5EFF1B3472519F5B4EE821A38E4 - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_PREFIX_HEADER - Target Support Files/PureLayout/PureLayout-prefix.pch - INFOPLIST_FILE - Target Support Files/PureLayout/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MODULEMAP_FILE - Target Support Files/PureLayout/PureLayout.modulemap - MTL_ENABLE_DEBUG_INFO - NO - PRODUCT_NAME - PureLayout - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Release - A70CDAD61F90AC503C7D04CC22DA2923 buildSettings @@ -5179,174 +5744,120 @@ sourceTree <group> + A75F86BB750765DC6D23BC64631EF0A3 + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 23031C93E56B55904F315E8034C218A0 + remoteInfo + PureLayout + + A7A04C3C42FF256327226CE57120B00E + + isa + PBXTargetDependency + name + PureLayout + target + 23031C93E56B55904F315E8034C218A0 + targetProxy + A75F86BB750765DC6D23BC64631EF0A3 + + A8B211A754206F36AC53AAC2E54DD090 + + fileRef + B08719CB100591D8543C357A3C177497 + isa + PBXBuildFile + + A8B60103507D1B3E384010DBDA9ABD97 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+raiseWithReason.h + path + Expecta/Matchers/EXPMatchers+raiseWithReason.h + sourceTree + <group> + A99BE4C31F44A5DC1A929F4FBEBCFB6A fileRef - 714385F6C0F231D3EAACF74261753D5D + B4694041CB63FF93725C2D65E908DF85 isa PBXBuildFile - AA01D298630B12AA0970C55ADF492FE2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Specta-umbrella.h - sourceTree - <group> - - AA07840C0EE1A07210D7D9A95B28E2D6 - - includeInIndex - 1 - isa - PBXFileReference - path - Expecta+Snapshots.modulemap - sourceTree - <group> - - AA101E016C76302C06F4575172FDC9DE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPBlockDefinedMatcher.h - path - Expecta/EXPBlockDefinedMatcher.h - sourceTree - <group> - - AA729BBF9CB238789CCA63E476AEA5CE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatcherHelpers.h - path - Expecta/Matchers/EXPMatcherHelpers.h - sourceTree - <group> - - AA7B81ED73344E500125187115387A8F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+match.h - path - Expecta/Matchers/EXPMatchers+match.h - sourceTree - <group> - - AA88731CDB66E53B948D8EB911666424 - - baseConfigurationReference - DB7083C49F8F1B1D5C6CCE97F6D03ADC - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_PREFIX_HEADER - Target Support Files/GradientButton/GradientButton-prefix.pch - INFOPLIST_FILE - Target Support Files/GradientButton/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MODULEMAP_FILE - Target Support Files/GradientButton/GradientButton.modulemap - MTL_ENABLE_DEBUG_INFO - YES - PRODUCT_NAME - GradientButton - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Debug - - AA9061FA90E874EA57D40F46C32D239E + AA9CCF22DDB380FE8518472292592E36 fileRef - 3DDC2F0DB66FDE2D99014751F0C471C6 + BA7765EBA82993CEEA58B51C29F61C8C isa PBXBuildFile - AADBF70B3B9D2D9143BFF2AC688B29D1 + AADE2657C93E3E560610852E86053541 - includeInIndex - 1 isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc + PBXTargetDependency name - SPTExample.m - path - Specta/Specta/SPTExample.m - sourceTree - <group> + Expecta+Snapshots + target + B5522B4C786061CA9DFC8A4198028552 + targetProxy + 5116061E8D8ACC89F0E48EC77E6D2999 - AB8B527EC7CBF66FBDA6A9FCF88D48CF + AB005C501864F49775D9946F8892DE7E buildActionMask 2147483647 files - 8B4B49E45D6DB50E87DC39B63ADB5EA3 + D8573876904B71B7E4FCF7D22BCE9E91 isa PBXFrameworksBuildPhase runOnlyForDeploymentPostprocessing 0 - AC25E36ECB984C6D46E07D449F8E6AD3 + AC2C770935D2B4150EEE0B205739CADA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beSupersetOf.h + path + Expecta/Matchers/EXPMatchers+beSupersetOf.h + sourceTree + <group> + + ACA8D778AB9D5DB29F13EDAF67C8506C + + buildConfigurations + + 38D9538A4E377632CC77B9D61B45A946 + 631BC4705A6848F3655888C04DAE43BE + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + AD79C9F95C7D5D2D4125F362E5EAAE61 includeInIndex 1 @@ -5354,71 +5865,17 @@ PBXFileReference lastKnownFileType sourcecode.c.objc + name + EXPMatchers+beGreaterThan.m path - EXPMatchers+FBSnapshotTest.m - sourceTree - <group> - - ACB0252707747CD6901BDF7EF56B17D2 - - buildConfigurationList - C8E680FDA93A1C34A82D1B4D98F88883 - buildPhases - - 9729E844E74D91FE6E7C118E2C792B42 - E591F2DE00131C85D23E377CA32D2222 - 91A9DBBC7015AD2DCA8D0581F9BCEB2E - - buildRules - - dependencies - - isa - PBXNativeTarget - name - GradientButton-GradientButton - productName - GradientButton-GradientButton - productReference - D1FCD1F639D9FE0EACA6E3B4729540E4 - productType - com.apple.product-type.bundle - - AD498EF1F11DF000A23462687DB4F486 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+raise.h - path - Expecta/Matchers/EXPMatchers+raise.h - sourceTree - <group> - - AE64418A2C8AC4ACEA9024349D63AC6E - - children - - 56D4C1D5295EE93E59623E6886DA016A - 512270DFF71CC24193ECDFCACC6B13FE - 6FB21B374A92060A3B57FDA3CCF76C16 - 714385F6C0F231D3EAACF74261753D5D - - isa - PBXGroup - name - iOS + Expecta/Matchers/EXPMatchers+beGreaterThan.m sourceTree <group> AF1F46668D4591602887998C6E9C10AD fileRef - 19C53BEC21D8B0E161B0702E54CF7D9D + B4915E05E31A744B21FA6B2C1F2F68B8 isa PBXBuildFile settings @@ -5429,66 +5886,23 @@ - AF42AAF54B5A41D37200E11671FFA6E8 + AFF8FA7277E684222F3B0F876DD25AD7 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h - name - EXPMatchers+beNil.h + text.plist.xml path - Expecta/Matchers/EXPMatchers+beNil.h - sourceTree - <group> - - AF51448F8D892B8D7E10576612FBA77A - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - ExpectaObject.h - path - Expecta/ExpectaObject.h - sourceTree - <group> - - AF8C7AABB8EDC41DEABCC801FFAA14BF - - children - - 842BBF139CB39BB098C7EAE5246FBEC2 - 4A1945C578AE9863DF4709C5146FE0FA - C6D339A119A34B655E8DE532BBC89A6F - E9D1E93F3E752196DBFC7B2395F786F0 - 45DBE2AC97069295566B610BA43E1E64 - FD2B5E432A922FDD07DC97D3FF8FC30F - FE823448FDFC8473EFC2E2B8AA5031AF - 2EADC0ADCD9557C3556E0462C3D2D7B0 - 4A026DAB1C5101359301AAF6344F1141 - C88FF39B204A688A5CA53D7F95933D61 - 165168466D5225B91F0D97489203BBB0 - DC4C8469E5635D5BE9F94C35A9733E2E - 81F7DFE5DFEA25DC19F44E25AFD9017B - 74DEBEE8BF56372341C3AA49FA816F98 - - isa - PBXGroup - name - Core + Info.plist sourceTree <group> AFFC8900E52BBEC72059334132F3A8F3 fileRef - 63531BD7407ED90996601DCE8FCEFD55 + 020D61DCBF246CF222ED4F757106F448 isa PBXBuildFile settings @@ -5499,12 +5913,20 @@ - B02951FE2FBF616CAF09DB18887357D6 + B03C6DFB4D4965A794F11B2AAAE8BB07 - fileRef - 56D4C1D5295EE93E59623E6886DA016A + includeInIndex + 1 isa - PBXBuildFile + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPFloatTuple.m + path + Expecta/EXPFloatTuple.m + sourceTree + <group> B08719CB100591D8543C357A3C177497 @@ -5519,47 +5941,10 @@ sourceTree <group> - B087D0F769F0EED0E2712C2C67DA5A35 - - fileRef - 6FBABDB5A34C49BE6A04BDFA99DA04D8 - isa - PBXBuildFile - - B15EEA9276D9956571A6630492A235C4 - - buildActionMask - 2147483647 - files - - B02951FE2FBF616CAF09DB18887357D6 - B087D0F769F0EED0E2712C2C67DA5A35 - F5975AEFF83D354C3EEACA22EECF2253 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - B19A9279E73679D3F9F1DFAEA13E347C - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - SPTExampleGroup.h - path - Specta/Specta/SPTExampleGroup.h - sourceTree - <group> - B19F2E828B200E5A345C39BC1668EFB6 fileRef - 45EBC5857C0FBA732752E48E9359EDD8 + 241B7AD057584B58440E47D0DB306269 isa PBXBuildFile settings @@ -5570,21 +5955,6 @@ - B1F58814CB86568AC5E71CAA0E263CDE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.swift - name - SwiftSupport.swift - path - FBSnapshotTestCase/SwiftSupport.swift - sourceTree - <group> - B239BD93C67DE976C7F3A1AD982A0A58 buildActionMask @@ -5632,7 +6002,33 @@ runOnlyForDeploymentPostprocessing 0 - B3E4CD3EBCF888648A5FDAC1B196AF58 + B25491EE93C7C844784B85E48999A665 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + FBSnapshotTestCase.xcconfig + sourceTree + <group> + + B4694041CB63FF93725C2D65E908DF85 + + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + XCTest.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/XCTest.framework + sourceTree + DEVELOPER_DIR + + B4915E05E31A744B21FA6B2C1F2F68B8 includeInIndex 1 @@ -5640,8 +6036,10 @@ PBXFileReference lastKnownFileType sourcecode.c.h + name + EXPMatchers+beCloseTo.h path - Expecta+Snapshots-umbrella.h + Expecta/Matchers/EXPMatchers+beCloseTo.h sourceTree <group> @@ -5683,53 +6081,11 @@ productName Expecta+Snapshots productReference - E89E7A7FD93F0ABA7BDD524F28E34566 + 1D6B67441A2CB78F95A2A991257417A6 productType com.apple.product-type.framework - B55EF7CBD04F6E68616BF8F23147B659 - - buildConfigurationList - BD418BC446F78403479DAE338008AAF3 - buildPhases - - 81EA667495423A08B3F880E68104D1EF - B15EEA9276D9956571A6630492A235C4 - D0B9B457D8894F8FBB6DC724B78AF92A - 5AA3BA782E969DB5EE9646254C07396B - - buildRules - - dependencies - - A3FF1BE536A60854A98AC50FFA9A20DD - 9642FE3DC47F9341B29959065F861DEE - - isa - PBXNativeTarget - name - GradientButton - productName - GradientButton - productReference - E46754C29353C0E78F154AB26AC66891 - productType - com.apple.product-type.framework - - B562199A5D17CED4BF940537A2A82C5D - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 1D01B491CB2A65D97C9A0D1477C75AE8 - remoteInfo - PureLayout - - B73FA83187F6E3585C08B5C189A6F033 + B59AF37614E520610B69353BEE4AB718 includeInIndex 1 @@ -5738,23 +6094,42 @@ lastKnownFileType sourcecode.c.h name - EXPDefines.h + EXPMatchers.h path - Expecta/EXPDefines.h + Expecta/Matchers/EXPMatchers.h sourceTree <group> - B77C0A902DF496895BD22068F33FD7B7 + B5A5B1477AD2785798ED2926FCB2A09B - fileRef - A65822AA0B88145340ED61E83A78E65D isa - PBXBuildFile + PBXTargetDependency + name + RZDataBinding + target + D14EC4A64CAECC10346D0BFF449458AA + targetProxy + 350BA1646674514AF9D57DACFAB383B4 + + B7469EB5A7735E4879988709FB6D6306 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SPTExampleGroup.m + path + Specta/Specta/SPTExampleGroup.m + sourceTree + <group> B84431CF8C64F363A334AA7089F6C134 fileRef - DD4E5110B5ED80C99A3F9576C46C4672 + C1BA01BBCF38663C1BCF7388890C889F isa PBXBuildFile settings @@ -5763,24 +6138,10 @@ -fno-objc-arc - B91E760AE54877F1A203E9D97B645410 - - fileRef - BF477E855584644C347FEA1531C7E4BF - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - BA12B131F10BCE3BE6E9A02FC908FE9D fileRef - 10782AE189DA5C3D8516751CF9C19A5E + F17AE2DB18DFF42261FB6EA5A153EBC9 isa PBXBuildFile settings @@ -5789,6 +6150,19 @@ -fno-objc-arc + BA43AAD4F36B401896012783FB24598D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Specta-umbrella.h + sourceTree + <group> + BA6428E9F66FD5A23C0A2E06ED26CD2F includeInIndex @@ -5806,18 +6180,29 @@ xcLanguageSpecificationIdentifier xcode.lang.ruby - BB4F841C6A0CF76946BB788A161240EA + BA75D64F0854F1077DB2284C94F1A771 + + buildActionMask + 2147483647 + files + + isa + PBXResourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + BA7765EBA82993CEEA58B51C29F61C8C includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - EXPMatchers+beKindOf.h + RZDBCoalesce.m path - Expecta/Matchers/EXPMatchers+beKindOf.h + RZDataBinding/RZDBCoalesce.m sourceTree <group> @@ -5834,36 +6219,25 @@ sourceTree <group> - BC01A025FF944E626FB52EA7A04807BF - - buildActionMask - 2147483647 - files - - 24DE684A55A36B881CB7377E7CCA43B1 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - BC4E6D745DD948298DA344813F4F67D4 + BC39775C796A091CF8214D510BE01186 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc + name + UIImage+Compare.m path - PureLayout-umbrella.h + FBSnapshotTestCase/Categories/UIImage+Compare.m sourceTree <group> BC55C8365AEFF8217F6A567607754854 fileRef - 815FCECEE4FF630729054295EC5482B3 + 8755111838F68D75F46B3611A8DE91BA isa PBXBuildFile settings @@ -5872,24 +6246,43 @@ -fno-objc-arc - BD418BC446F78403479DAE338008AAF3 + BC6E48997BF7C368A7F25A142AE08217 - buildConfigurations + buildConfigurationList + CA35B9B79200C472F0E8523B6A4FE8B8 + buildPhases - AA88731CDB66E53B948D8EB911666424 - 94C22F2BC12C655B835B03C447C3A47E + CBC9ABD79C1FC7B5901707B3FCB2E4D4 + 32D4DC37DEE8F3BD09ADFE39E3ABC581 + 1BF4AC3AC294C5F9E23A72B4745BA18A + + buildRules + + dependencies + + E17E1E1E557EDA146467265C93AAD3F1 + AADE2657C93E3E560610852E86053541 + 73705CDA17DEE77B3A3F105F000F35C1 + 6A0FBE46C9F4D2A5B3C0703A684678A3 + 7D7FFE0F7D123A1CDFFA4F85F7043386 + 1FCC8360263E515A2AA49A1C9D63E417 + 13F3482AB2EC618C80BB27554D43C107 - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release isa - XCConfigurationList + PBXNativeTarget + name + Pods-GradientButton_Tests + productName + Pods-GradientButton_Tests + productReference + EC975684854193C83A3D8947DE37F4F2 + productType + com.apple.product-type.framework BEFFE9FFE52E9A0833A7D2D8FB67EB4D fileRef - ECF097833A853FF056370CCA06DA4831 + 430F541979308FE766D2350FCCC71A36 isa PBXBuildFile settings @@ -5911,46 +6304,7 @@ sourceTree <group> - C0F69C93D9F63907FCB1A4C03D372E23 - - fileRef - 8AAA1981FD0C38B91AE527BE960EE881 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - C116FA9612980C3F37D65BBB39D8B99B - - isa - PBXTargetDependency - name - GradientButton - target - B55EF7CBD04F6E68616BF8F23147B659 - targetProxy - 94A265E9347952785B38B2FBF2E14207 - - C1C59177C9631753DCCB9F4EAC705748 - - fileRef - 4DBFEEB0166000625503662CDE93CDF3 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - C1EF7A5D7462BAA91E23F816C1B96180 + BF54BC4373AB470E0CC616F398D3F6A0 includeInIndex 1 @@ -5959,12 +6313,55 @@ lastKnownFileType sourcecode.c.objc name - EXPMatchers+beKindOf.m + FBSnapshotTestCase.m path - Expecta/Matchers/EXPMatchers+beKindOf.m + FBSnapshotTestCase/FBSnapshotTestCase.m sourceTree <group> + C0F69C93D9F63907FCB1A4C03D372E23 + + fileRef + 3A1623876B97C45A6E62F5A642610867 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + C1BA01BBCF38663C1BCF7388890C889F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + NSValue+Expecta.m + path + Expecta/NSValue+Expecta.m + sourceTree + <group> + + C1C59177C9631753DCCB9F4EAC705748 + + fileRef + 379FE8A18FA9EC31F3A8D1632DEAF916 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + C21F82D5D54D991B251BC3DB5968D6B0 includeInIndex @@ -6002,115 +6399,62 @@ sourceTree <group> - C3F844297B8662ADF09537912FAC73ED + C41FA284F1960715AC8054ABE996AE56 - includeInIndex - 1 + baseConfigurationReference + DB7083C49F8F1B1D5C6CCE97F6D03ADC + buildSettings + + ENABLE_STRICT_OBJC_MSGSEND + YES + PRODUCT_NAME + GradientButton + SDKROOT + iphoneos + SKIP_INSTALL + YES + WRAPPER_EXTENSION + bundle + isa - PBXFileReference - lastKnownFileType - sourcecode.c.h + XCBuildConfiguration name - EXPMatchers+beSupersetOf.h - path - Expecta/Matchers/EXPMatchers+beSupersetOf.h - sourceTree - <group> + Release - C42C93ADD945A4372635BD32CAD3C814 + C787295E3E6A59B347F5105AC60CFE61 + explicitFileType + wrapper.framework includeInIndex - 1 + 0 isa PBXFileReference - lastKnownFileType - sourcecode.c.objc name - ExpectaObject.m + Expecta.framework path - Expecta/ExpectaObject.m + Expecta.framework sourceTree - <group> + BUILT_PRODUCTS_DIR - C58ECDACD8D2FD15B5D6F0D6276B0700 + C99E9863F87608316C41DB2FD53CCD5B - includeInIndex - 1 + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - Specta.h - path - Specta/Specta/Specta.h - sourceTree - <group> - - C67A01B644DD8AC9FAB6D7E50DCB62FF - - includeInIndex + PBXContainerItemProxy + proxyType 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Specta-prefix.pch - sourceTree - <group> + remoteGlobalIDString + EDE65ED4BC6ABE064182269B382796C4 + remoteInfo + GradientButton - C6D339A119A34B655E8DE532BBC89A6F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - FBSnapshotTestCasePlatform.h - path - FBSnapshotTestCase/FBSnapshotTestCasePlatform.h - sourceTree - <group> - - C764B935846E8C662CCF7906D8A555DA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+respondTo.m - path - Expecta/Matchers/EXPMatchers+respondTo.m - sourceTree - <group> - - C88FF39B204A688A5CA53D7F95933D61 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIImage+Compare.m - path - FBSnapshotTestCase/Categories/UIImage+Compare.m - sourceTree - <group> - - C8E680FDA93A1C34A82D1B4D98F88883 + CA35B9B79200C472F0E8523B6A4FE8B8 buildConfigurations - 82205394EDBB22F5C7E6CE41C4E737E4 - 528AF420E761AC2CCD10B4D65D7A1ABC + F31D98E8BFEBF9455380B426E75C6C24 + 6BDF08D2433E828BC3FD9F61B0E54E1F defaultConfigurationIsVisible 0 @@ -6119,112 +6463,22 @@ isa XCConfigurationList - CB278C4D8E22AB0B2386C27A5DC84F44 + CB16151283AB5CF7E8C01410FC972C35 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc + sourcecode.swift name - EXPMatchers+endWith.m + SwiftSupport.swift path - Expecta/Matchers/EXPMatchers+endWith.m + FBSnapshotTestCase/SwiftSupport.swift sourceTree <group> - CC4EC6D3BB6C4AAB71B02968CCEB66EA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - XCTestCase+Specta.m - path - Specta/Specta/XCTestCase+Specta.m - sourceTree - <group> - - CE3F4ECBB0BC095577D66AE50C8E604C - - fileRef - DEEE8F25AEEDB29355650590026262C0 - isa - PBXBuildFile - settings - - COMPILER_FLAGS - -fno-objc-arc - - - CE7DBAFD56D35A84CC36342276EA5A27 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+conformTo.h - path - Expecta/Matchers/EXPMatchers+conformTo.h - sourceTree - <group> - - D0370DE86B87E489F9AF431610178DD3 - - children - - 43E396376F0A58FC93901CB23B161BC3 - 8CADF593C95BE01C0B91DBC2C8884939 - 2C6E94DA05F91DF35F74319DC6F0DF33 - 703612D1CEA30E0B8C9E02D238F7196E - C67A01B644DD8AC9FAB6D7E50DCB62FF - AA01D298630B12AA0970C55ADF492FE2 - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/Specta - sourceTree - <group> - - D0B9B457D8894F8FBB6DC724B78AF92A - - buildActionMask - 2147483647 - files - - DD854404FE25C7DCC1D9D658998CD99E - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - D1FCD1F639D9FE0EACA6E3B4729540E4 - - explicitFileType - wrapper.cfbundle - includeInIndex - 0 - isa - PBXFileReference - name - GradientButton.bundle - path - GradientButton.bundle - sourceTree - BUILT_PRODUCTS_DIR - - D32A0E3BF4F5096301528945D03203B2 + CB6529ACE33191B81028B23D54DC0EC3 includeInIndex 1 @@ -6239,10 +6493,304 @@ sourceTree <group> + CBC9ABD79C1FC7B5901707B3FCB2E4D4 + + buildActionMask + 2147483647 + files + + CF7E2529271A5855B6FD77DB39C1E4BC + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + CC13203AE44911E58D66DAA1492E3C57 + + explicitFileType + wrapper.framework + includeInIndex + 0 + isa + PBXFileReference + path + PureLayout.framework + sourceTree + BUILT_PRODUCTS_DIR + + CC29C18C6845C92F352F0A9AA0A5DD50 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SPTCallSite.m + path + Specta/Specta/SPTCallSite.m + sourceTree + <group> + + CC57108DD06F0B1F9574CE018274BB11 + + fileRef + 47A47D8055A664F130F003182D001C8F + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + CD5DCA790855AA314913D6C72388957E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beKindOf.h + path + Expecta/Matchers/EXPMatchers+beKindOf.h + sourceTree + <group> + + CDFA54763C5FA072A53DA67C96370E92 + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + D14EC4A64CAECC10346D0BFF449458AA + remoteInfo + RZDataBinding + + CE1D7A939A674CD3A33F3FFFC97ABD23 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + CE3F4ECBB0BC095577D66AE50C8E604C + + fileRef + B03C6DFB4D4965A794F11B2AAAE8BB07 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fno-objc-arc + + + CE559A4F019355E1315085F2EFA10AC8 + + baseConfigurationReference + DB7083C49F8F1B1D5C6CCE97F6D03ADC + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/GradientButton/GradientButton-prefix.pch + INFOPLIST_FILE + Target Support Files/GradientButton/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/GradientButton/GradientButton.modulemap + MTL_ENABLE_DEBUG_INFO + NO + PRODUCT_NAME + GradientButton + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Release + + CF0CA26AB64CCBAA121E1C62F7FAD5C8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Expecta-umbrella.h + sourceTree + <group> + + CF768E61543452FFE9E5FED6B4ED4B68 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+haveCountOf.h + path + Expecta/Matchers/EXPMatchers+haveCountOf.h + sourceTree + <group> + + CF7E2529271A5855B6FD77DB39C1E4BC + + fileRef + D46BED7AC4ACF810A9B012637DFC1857 + isa + PBXBuildFile + + CF9693AA8FD2EC41F955660871D595A8 + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 00ADDBCA9E516B429C7877EB5AED2DCE + remoteInfo + Specta + + CFC0B1603E7582C1FE5D5D91E96FE177 + + fileRef + 9C3C117356E1598836F0BB397C419A2D + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + D0ECAB8B2DCACA6AC44F79EB630E71CD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+beLessThanOrEqualTo.m + path + Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m + sourceTree + <group> + + D14EC4A64CAECC10346D0BFF449458AA + + buildConfigurationList + 8D6453BF960A49E474C45C353DBD4D42 + buildPhases + + DB697477BD4D33314F5A0A16E1C8586E + 89472CA34B4A5C7261072DF674BCAA79 + 7A32EDDC38E781F5077D3758D06F808D + + buildRules + + dependencies + + isa + PBXNativeTarget + name + RZDataBinding + productName + RZDataBinding + productReference + 9C65DD6DE88E9C99EC9558EF55F9FBFD + productType + com.apple.product-type.framework + + D17A2796D69F9BDEC37CC8D25BF6138A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + D372CF80334F616774F0A45CF95A3EC2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + NSObject+RZDataBinding.m + path + RZDataBinding/NSObject+RZDataBinding.m + sourceTree + <group> + D3A97742CACAE0C69D639B471125E6E6 fileRef - A6922487AB8095FA4A248866B59E44EB + 41CF6F88864A18BAA885D36B6A74B6E7 isa PBXBuildFile settings @@ -6279,7 +6827,7 @@ mainGroup 7DB346D0F39D3F0E887471402A8071AB productRefGroup - 246ADE196BE06B55EAF1A0CEA777A91D + 1A05DD397ACFA98D84F5F9394D6645E4 projectDirPath projectReferences @@ -6291,11 +6839,12 @@ 0D888F29E05E498D0CD91A51D28599A5 B5522B4C786061CA9DFC8A4198028552 E1E99BE24B4D5E362ECFB6580A5D5A8D - B55EF7CBD04F6E68616BF8F23147B659 - ACB0252707747CD6901BDF7EF56B17D2 - 7F3DF237BED1CEF48265DC7976DADED7 - F0C08841B3D9D3A98F45EB21BD252E6C - 1D01B491CB2A65D97C9A0D1477C75AE8 + EDE65ED4BC6ABE064182269B382796C4 + F6C9BBFE5027FF658937CF14A3B94902 + 607B9BFE50A5589F770B826188C13B37 + BC6E48997BF7C368A7F25A142AE08217 + 23031C93E56B55904F315E8034C218A0 + D14EC4A64CAECC10346D0BFF449458AA 00ADDBCA9E516B429C7877EB5AED2DCE @@ -6312,6 +6861,51 @@ sourceTree <group> + D5B2EC65D0A0CD6FF38B3D17F79E7892 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + EXPMatchers+contain.m + path + Expecta/Matchers/EXPMatchers+contain.m + sourceTree + <group> + + D601451BE4846ACB9288B666CF8CF3A1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RZDataBinding.h + path + RZDataBinding/RZDataBinding.h + sourceTree + <group> + + D6676E16DABB6E44DE00FCF93EDA9F8F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + UIApplication+StrictKeyWindow.h + path + FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h + sourceTree + <group> + D6FC6CE27EE2216BF4704E0827DFBEBE isa @@ -6323,7 +6917,7 @@ targetProxy 845DA643BAC094D83AA08D33F1BFD783 - D7B03B244D464496A92ACED43DA0DE3D + D7297223B4B80EF515962CAC2ED01364 includeInIndex 1 @@ -6332,30 +6926,16 @@ lastKnownFileType sourcecode.c.objc name - ExpectaSupport.m + SPTSharedExampleGroups.m path - Expecta/ExpectaSupport.m + Specta/Specta/SPTSharedExampleGroups.m sourceTree <group> - D7B6758B7935045A5B12D204BA25B1D7 - - buildConfigurations - - 1D7261AA9D1143D237186FA65716169E - A6DC9F7100C1D4A1C2DB723B66E5B97C - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - D83677C54D2226C67886A525B0B46FBE fileRef - 3F639A935CAD81D124435F643E505794 + D0ECAB8B2DCACA6AC44F79EB630E71CD isa PBXBuildFile settings @@ -6377,10 +6957,32 @@ sourceTree <group> + D8573876904B71B7E4FCF7D22BCE9E91 + + fileRef + EF39DAE3A3F010E51BB503B39B619EA2 + isa + PBXBuildFile + + D8647A12368A6610BA2E1ED18A6019A7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTTestSuite.h + path + Specta/Specta/SPTTestSuite.h + sourceTree + <group> + D95ABB670BF106714613BF606E7FF6DC baseConfigurationReference - 214647B96EB8D7B1FA18DD92A6EA3917 + 4544D69ECBC722AC1A22597746CDB093 buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -6436,7 +7038,7 @@ D9D9F52BC6BE0344E53A83433CE5C963 baseConfigurationReference - 214647B96EB8D7B1FA18DD92A6EA3917 + 4544D69ECBC722AC1A22597746CDB093 buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -6489,10 +7091,50 @@ name Release + D9E73D35E9A99A157465A70695A9ED7C + + includeInIndex + 1 + isa + PBXFileReference + path + Expecta.modulemap + sourceTree + <group> + + DAAC3825F4873678B88E032902430423 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+conformTo.h + path + Expecta/Matchers/EXPMatchers+conformTo.h + sourceTree + <group> + + DABCF18EF593D1B8285CFF2ADAEF43FB + + fileRef + 1E3425F719FD01633DA625B705703623 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + DB30F82FB1BE083D9471B965FB500CA2 fileRef - 5723825DA3450735996AC90B937A4AEF + 93BD48BA57CC242119626726502ADCB9 isa PBXBuildFile settings @@ -6501,6 +7143,22 @@ -fno-objc-arc + DB697477BD4D33314F5A0A16E1C8586E + + buildActionMask + 2147483647 + files + + 537F85BC8D7991BDC957158224F58C5B + 95D1D95D6CD65EE9F6BF3498B1B9F7F8 + AA9CCF22DDB380FE8518472292592E36 + A294AFC9469E1AC783CD01BA8C61BBF0 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + DB7083C49F8F1B1D5C6CCE97F6D03ADC includeInIndex @@ -6514,18 +7172,18 @@ sourceTree <group> - DC4C8469E5635D5BE9F94C35A9733E2E + DC3BDBFF93B9D97B18D6E10511A7B0F6 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc + sourcecode.c.h name - UIImage+Diff.m + EXPMatcherHelpers.h path - FBSnapshotTestCase/Categories/UIImage+Diff.m + Expecta/Matchers/EXPMatcherHelpers.h sourceTree <group> @@ -6543,7 +7201,7 @@ isa XCConfigurationList - DC7DF335401532E474FB05944C1ED485 + DD40471C217E673F15E800E352590C12 includeInIndex 1 @@ -6552,88 +7210,65 @@ lastKnownFileType sourcecode.c.h name - EXPMatchers+beGreaterThan.h + EXPMatchers+beFalsy.h path - Expecta/Matchers/EXPMatchers+beGreaterThan.h - sourceTree - <group> - - DD4E5110B5ED80C99A3F9576C46C4672 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - NSValue+Expecta.m - path - Expecta/NSValue+Expecta.m + Expecta/Matchers/EXPMatchers+beFalsy.h sourceTree <group> DD674CE28CE2C5E9F538461C76AB6BD9 fileRef - CC4EC6D3BB6C4AAB71B02968CCEB66EA + 50176038A1850B479C5C7B30505A3714 isa PBXBuildFile - DD854404FE25C7DCC1D9D658998CD99E + DFF54CDD8654496309E28498CD156F21 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + Expecta.h + path + Expecta/Expecta.h + sourceTree + <group> + + E00F5F899B8499A882532FC37474D117 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Expecta-prefix.pch + sourceTree + <group> + + E095229D1FD15D5EAC247F5EFD25B01E fileRef - D1FCD1F639D9FE0EACA6E3B4729540E4 + 567328B7B3CD2B2EFE43EF99A2858862 isa PBXBuildFile - - DD8F605551C2300C9C46FB3364564F6D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPMatchers+postNotification.h - path - Expecta/Matchers/EXPMatchers+postNotification.h - sourceTree - <group> - - DDE582482FAF1CEB39F0B9126CC59D6D - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - ExpectaObject+FBSnapshotTest.h - sourceTree - <group> - - DEEE8F25AEEDB29355650590026262C0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPFloatTuple.m - path - Expecta/EXPFloatTuple.m - sourceTree - <group> + settings + + ATTRIBUTES + + Public + + E0A077DFB064B79685B810CCEFB2F1EF fileRef - C764B935846E8C662CCF7906D8A555DA + 05A779189AC915EB6F7D7849CDFD8B16 isa PBXBuildFile settings @@ -6645,7 +7280,7 @@ E0AAF49134A0505DF00E20E7B62087E1 fileRef - 3649CB424097BF48E430598CDE474EEC + 109F56E0BCDA4ED3076434C1EFDAB653 isa PBXBuildFile settings @@ -6659,7 +7294,7 @@ E0C14077720B3EA3D3CD9FDE663FA6CA fileRef - 45DBE2AC97069295566B610BA43E1E64 + FF8650E6D401FCC064B973FB2A81F359 isa PBXBuildFile settings @@ -6683,20 +7318,16 @@ sourceTree <group> - E172DFC29EE8C2A36AEC06644DCCA25D + E17E1E1E557EDA146467265C93AAD3F1 - includeInIndex - 1 isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc + PBXTargetDependency name - SPTSharedExampleGroups.m - path - Specta/Specta/SPTSharedExampleGroups.m - sourceTree - <group> + Expecta + target + 0D888F29E05E498D0CD91A51D28599A5 + targetProxy + 61391AD7DC15FFD1A4C673FF65006F70 E1E99BE24B4D5E362ECFB6580A5D5A8D @@ -6719,14 +7350,14 @@ productName FBSnapshotTestCase productReference - F23C0AC512452DA89C68035DE6FFC93E + A3E1851E38EFE040E51CA02C396A8681 productType com.apple.product-type.framework E1EC4532663CA75DE5BD00CB0A56814D fileRef - 5AE13025CC5C6B218AAF479784CD9ED2 + DFF54CDD8654496309E28498CD156F21 isa PBXBuildFile settings @@ -6737,159 +7368,21 @@ - E2A7D3FA8FED9DAF6BC709B458B46525 - - children - - C58ECDACD8D2FD15B5D6F0D6276B0700 - 45EBC5857C0FBA732752E48E9359EDD8 - 567FED50899A681C87568B30C6A8DDF2 - 0E225E66B94E712DC093C6724AD11CFD - 68FDF6EB112C4423747393766720207C - 749800021466D47EDC1F64E037BF45CC - A6922487AB8095FA4A248866B59E44EB - F2326EBC2CEBEDD1AC39E41341CE4A96 - 4AE18936EDB988BC6D3A33128764D642 - 4F85577F3A8EFCC75870860E9CFCD164 - 8AAA1981FD0C38B91AE527BE960EE881 - AADBF70B3B9D2D9143BFF2AC688B29D1 - B19A9279E73679D3F9F1DFAEA13E347C - 563BDF7C8114F5105A8038CFD0803495 - 2BC4279D7351FD3A726A6EF02FC8ED19 - 4DBFEEB0166000625503662CDE93CDF3 - 957CBE35D3FC82EDC76EDF33D58CC14A - E172DFC29EE8C2A36AEC06644DCCA25D - 0566C8B9ADE96B49FC01A2B3E52421BE - 20327CEB6D3F13297BDAB7FE6026920E - 416F8ABB7F7E98CB081B7F19F9EB2F92 - 58380708EFDF326D68D6060E486CB90D - 543F7BDA4F5F79573CAA43601F700A67 - 03F0E7D7379464D80A5585C3D68EF9BF - CC4EC6D3BB6C4AAB71B02968CCEB66EA - D0370DE86B87E489F9AF431610178DD3 - - isa - PBXGroup - name - Specta - path - Specta - sourceTree - <group> - - E3CB665E7978D3A27C3461E4A59F8AA2 + E5B859664D04F94C8E03F34507B888D6 includeInIndex 1 isa PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RZDBCoalesce.h path - PureLayout.modulemap + RZDataBinding/RZDBCoalesce.h sourceTree <group> - E3EC83EAAC1FD4CF8AECB3DA2AC78697 - - baseConfigurationReference - 4D95A51236FF77A168DC13A9BC74E1B3 - buildSettings - - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - CURRENT_PROJECT_VERSION - 1 - DEFINES_MODULE - YES - DYLIB_COMPATIBILITY_VERSION - 1 - DYLIB_CURRENT_VERSION - 1 - DYLIB_INSTALL_NAME_BASE - @rpath - ENABLE_STRICT_OBJC_MSGSEND - YES - INFOPLIST_FILE - Target Support Files/Pods-GradientButton_Example/Info.plist - INSTALL_PATH - $(LOCAL_LIBRARY_DIR)/Frameworks - IPHONEOS_DEPLOYMENT_TARGET - 8.0 - LD_RUNPATH_SEARCH_PATHS - - $(inherited) - @executable_path/Frameworks - @loader_path/Frameworks - - MACH_O_TYPE - staticlib - MODULEMAP_FILE - Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.modulemap - MTL_ENABLE_DEBUG_INFO - NO - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PODS_ROOT - $(SRCROOT) - PRODUCT_NAME - Pods_GradientButton_Example - SDKROOT - iphoneos - SKIP_INSTALL - YES - TARGETED_DEVICE_FAMILY - 1,2 - VERSIONING_SYSTEM - apple-generic - VERSION_INFO_PREFIX - - - isa - XCBuildConfiguration - name - Release - - E4110F57C5164B449E872F18F4175803 - - fileRef - BC4E6D745DD948298DA344813F4F67D4 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - E46754C29353C0E78F154AB26AC66891 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - GradientButton.framework - path - GradientButton.framework - sourceTree - BUILT_PRODUCTS_DIR - - E591F2DE00131C85D23E377CA32D2222 - - buildActionMask - 2147483647 - files - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - E6B836B352B13C63D3C0FA0E500C98A4 buildActionMask @@ -6907,7 +7400,7 @@ E735386085CE344F6A01178CF4763852 fileRef - AF42AAF54B5A41D37200E11671FFA6E8 + 780DB43FAD69391144675F8540D9A713 isa PBXBuildFile settings @@ -6918,36 +7411,10 @@ - E775851ECE551C7F9B544F85529918C0 - - isa - PBXTargetDependency - name - GradientButton - target - B55EF7CBD04F6E68616BF8F23147B659 - targetProxy - E9EC9F77B3ADCEA53943BA5FDC3556F3 - - E89E7A7FD93F0ABA7BDD524F28E34566 - - explicitFileType - wrapper.framework - includeInIndex - 0 - isa - PBXFileReference - name - Expecta_Snapshots.framework - path - Expecta_Snapshots.framework - sourceTree - BUILT_PRODUCTS_DIR - E95E9B817C6D9D281C5145EC0409DF01 fileRef - 03F0E7D7379464D80A5585C3D68EF9BF + 9158173B644CA743E25753227C31BB29 isa PBXBuildFile settings @@ -6958,7 +7425,52 @@ - E9D1E93F3E752196DBFC7B2395F786F0 + E96405AF0EFC8F2007F8678BD36F563F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPDefines.h + path + Expecta/EXPDefines.h + sourceTree + <group> + + EAA34087B63B7774DADEBB85D9B4F4EE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPFloatTuple.h + path + Expecta/EXPFloatTuple.h + sourceTree + <group> + + EAD347186D86104EE9A678A16E3AE792 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RZDBTransforms.h + path + RZDataBinding/RZDBTransforms.h + sourceTree + <group> + + EB0431968659C05CCF9A6BCE469E2B55 includeInIndex 1 @@ -6967,36 +7479,12 @@ lastKnownFileType sourcecode.c.objc name - FBSnapshotTestCasePlatform.m + EXPMatchers+beGreaterThanOrEqualTo.m path - FBSnapshotTestCase/FBSnapshotTestCasePlatform.m + Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m sourceTree <group> - E9EC9F77B3ADCEA53943BA5FDC3556F3 - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - B55EF7CBD04F6E68616BF8F23147B659 - remoteInfo - GradientButton - - EC1E78418B23B94E7815F597691EB02B - - isa - PBXTargetDependency - name - Expecta - target - 0D888F29E05E498D0CD91A51D28599A5 - targetProxy - A42A11376484448290EACF251AF8DAC3 - EC411278DB721B088DB05C58A2EAAA7A children @@ -7021,25 +7509,69 @@ sourceTree <group> - ECF097833A853FF056370CCA06DA4831 + EC975684854193C83A3D8947DE37F4F2 + explicitFileType + wrapper.framework includeInIndex - 1 + 0 isa PBXFileReference - lastKnownFileType - sourcecode.c.objc name - EXPMatchers+beSubclassOf.m + Pods_GradientButton_Tests.framework path - Expecta/Matchers/EXPMatchers+beSubclassOf.m + Pods_GradientButton_Tests.framework sourceTree - <group> + BUILT_PRODUCTS_DIR + + EDA5C2B13FF8C0DE5E42224B3F31B19F + + fileRef + 4164D7FCF962A114376CCE647185AAD0 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + EDE65ED4BC6ABE064182269B382796C4 + + buildConfigurationList + 30C54C635A9BD7DD7B85E4B345E915E4 + buildPhases + + 8C324580510E4E46AE1ADC73F1CCD9A1 + FC7C1017751BA83391233931BAE8E450 + 2206B87A233A560C22D117F08F1ABA74 + 61E3DCC3BFC4664BF4E3DB33E6A1BFFB + + buildRules + + dependencies + + 08B2DD6FD7F09CFF5471EBD10D04780A + 121DC6EB0F3399FD0F73E59EA442E866 + 8710BC7D69D7FC54EC9C4A5C9EBB779C + + isa + PBXNativeTarget + name + GradientButton + productName + GradientButton + productReference + 96861ED38BB205A76FEF8A8D15CA92D2 + productType + com.apple.product-type.framework EF229B5B773CB72AE6A3F61EC5423310 baseConfigurationReference - 2C6E94DA05F91DF35F74319DC6F0DF33 + 905E14FEA87A1E6F96197B938699A150 buildSettings CODE_SIGN_IDENTITY[sdk=iphoneos*] @@ -7092,25 +7624,38 @@ name Release - EF3299BF94C0392FCBAA98D2E58CB10E + EF39DAE3A3F010E51BB503B39B619EA2 + + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + Foundation.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework + sourceTree + DEVELOPER_DIR + + EF5ACB77A8865026316E5CEFE6C04F8D includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.h + sourcecode.c.objc name - EXPMatchers+contain.h + EXPMatchers+beFalsy.m path - Expecta/Matchers/EXPMatchers+contain.h + Expecta/Matchers/EXPMatchers+beFalsy.m sourceTree <group> EF6497EE123F6BC0C1B09717437C5908 fileRef - 47C3908A5AAE0260FB6D95C74D65652D + 16D2B939AB1F36C58368A81401D4A1B8 isa PBXBuildFile settings @@ -7119,7 +7664,7 @@ -fno-objc-arc - F0BE4B0FD430ED5364A83BE6EFAB44E3 + EF89F95CB4AB5469330A0B4EBA4ABB2B includeInIndex 1 @@ -7128,48 +7673,31 @@ lastKnownFileType sourcecode.c.h name - EXPMatchers+beLessThanOrEqualTo.h + UIImage+Compare.h path - Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h + FBSnapshotTestCase/Categories/UIImage+Compare.h sourceTree <group> - F0C08841B3D9D3A98F45EB21BD252E6C + F02DFE2FE2C23360EEE38FFBF84289B7 - buildConfigurationList - 10223120EC72253E8C2A011647319874 - buildPhases - - 0923AB1E2B0C2F829217978D85C5F71A - AB8B527EC7CBF66FBDA6A9FCF88D48CF - A3E135FBE86323441576FB1FCD064FCA - - buildRules - - dependencies - - EC1E78418B23B94E7815F597691EB02B - 6DE29EBB0D8FD75A69974857C9976D99 - 129E54BA5B6CB0AAD7070AB10AA84C5D - E775851ECE551C7F9B544F85529918C0 - 01BFA75E9A1AAD1773C62C0B384DA09E - 41CBE5038A13F11BABB5ACB518E690CE - + includeInIndex + 1 isa - PBXNativeTarget + PBXFileReference + lastKnownFileType + sourcecode.c.objc name - Pods-GradientButton_Tests - productName - Pods-GradientButton_Tests - productReference - 03D9ECD289487969E2EFBE25E1DEFDDC - productType - com.apple.product-type.framework + SPTExample.m + path + Specta/Specta/SPTExample.m + sourceTree + <group> F0DDF02A078B917997FF025BB33BB842 fileRef - CE7DBAFD56D35A84CC36342276EA5A27 + DAAC3825F4873678B88E032902430423 isa PBXBuildFile settings @@ -7183,7 +7711,7 @@ F12D57414A73406831CC032A7170DBFF fileRef - FA9AA960F05653C47EB2662A7E0E3796 + 082D2DBFF12A6677A034924E2EB3DA2F isa PBXBuildFile settings @@ -7192,14 +7720,7 @@ -fno-objc-arc - F1E3108F4AF8125466B50E2E15321D72 - - fileRef - 0DB88079AA812102CC021B10E7F545CC - isa - PBXBuildFile - - F2326EBC2CEBEDD1AC39E41341CE4A96 + F17AE2DB18DFF42261FB6EA5A153EBC9 includeInIndex 1 @@ -7208,69 +7729,33 @@ lastKnownFileType sourcecode.c.objc name - SPTCallSite.m + EXPMatchers+beCloseTo.m path - Specta/Specta/SPTCallSite.m + Expecta/Matchers/EXPMatchers+beCloseTo.m sourceTree <group> - F23C0AC512452DA89C68035DE6FFC93E + F1E3108F4AF8125466B50E2E15321D72 + + fileRef + A195E2A145A82A89C5E7BD5695E4A1A1 + isa + PBXBuildFile + + F219EAEB4CF63A63F45AACE80242A6B6 - explicitFileType - wrapper.framework includeInIndex - 0 + 1 isa PBXFileReference - name - FBSnapshotTestCase.framework + lastKnownFileType + sourcecode.c.objc path - FBSnapshotTestCase.framework + RZDataBinding-dummy.m sourceTree - BUILT_PRODUCTS_DIR + <group> - F2A5E2F188A4E10DCEE5D2EC297A070F - - containerPortal - D41D8CD98F00B204E9800998ECF8427E - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 00ADDBCA9E516B429C7877EB5AED2DCE - remoteInfo - Specta - - F36D2964E4E647FCCD245D5DA4C67520 - - fileRef - 54493E6647B30E3C5BEEFB40F581FF54 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - F41209A94070904A00BDF24ACB6336B6 - - fileRef - 1AA72D353A2583EA748D45A0652D40A4 - isa - PBXBuildFile - settings - - ATTRIBUTES - - Public - - - - F42F0DA116857769307897100F7DA2CA + F21C7827EFFB688F8504EC22C1828F61 includeInIndex 1 @@ -7279,60 +7764,91 @@ lastKnownFileType sourcecode.c.h name - NSArray+PureLayout.h + Specta.h path - PureLayout/PureLayout/NSArray+PureLayout.h + Specta/Specta/Specta.h sourceTree <group> - F4E58516B444895CAA6C6360A6D37C8D + F2DD1CEC71534B6F5DA18C3CA4F679CC - fileRef - E9D1E93F3E752196DBFC7B2395F786F0 + buildActionMask + 2147483647 + files + isa - PBXBuildFile + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 - F5975AEFF83D354C3EEACA22EECF2253 + F31D98E8BFEBF9455380B426E75C6C24 - fileRef - 512270DFF71CC24193ECDFCACC6B13FE + baseConfigurationReference + 348002B05BCBB2BFBFD9EB26FDE1E22B + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + INFOPLIST_FILE + Target Support Files/Pods-GradientButton_Tests/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MACH_O_TYPE + staticlib + MODULEMAP_FILE + Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.modulemap + MTL_ENABLE_DEBUG_INFO + YES + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PODS_ROOT + $(SRCROOT) + PRODUCT_NAME + Pods_GradientButton_Tests + SDKROOT + iphoneos + SKIP_INSTALL + YES + SWIFT_OPTIMIZATION_LEVEL + -Onone + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + isa - PBXBuildFile - - F65C9454F6F8DB1D7E3FFDE17F54D58C - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc + XCBuildConfiguration name - EXPMatchers+beGreaterThanOrEqualTo.m - path - Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m - sourceTree - <group> + Debug - F6EB583A0E0B95BC98422547435C1DB8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPBlockDefinedMatcher.m - path - Expecta/EXPBlockDefinedMatcher.m - sourceTree - <group> - - F75CB2A727F678C9A848A3A11EA7979B + F41209A94070904A00BDF24ACB6336B6 fileRef - 65B4136A49BEA00E3874E067A148CFE2 + DD40471C217E673F15E800E352590C12 isa PBXBuildFile settings @@ -7343,6 +7859,166 @@ + F45A4E4F32594DA98D7B281BCF92EEBC + + baseConfigurationReference + 4BFA67EF666D01C9FD4F4FB19D5602B8 + buildSettings + + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + CURRENT_PROJECT_VERSION + 1 + DEFINES_MODULE + YES + DYLIB_COMPATIBILITY_VERSION + 1 + DYLIB_CURRENT_VERSION + 1 + DYLIB_INSTALL_NAME_BASE + @rpath + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_PREFIX_HEADER + Target Support Files/PureLayout/PureLayout-prefix.pch + INFOPLIST_FILE + Target Support Files/PureLayout/Info.plist + INSTALL_PATH + $(LOCAL_LIBRARY_DIR)/Frameworks + IPHONEOS_DEPLOYMENT_TARGET + 8.0 + LD_RUNPATH_SEARCH_PATHS + + $(inherited) + @executable_path/Frameworks + @loader_path/Frameworks + + MODULEMAP_FILE + Target Support Files/PureLayout/PureLayout.modulemap + MTL_ENABLE_DEBUG_INFO + YES + PRODUCT_NAME + PureLayout + SDKROOT + iphoneos + SKIP_INSTALL + YES + TARGETED_DEVICE_FAMILY + 1,2 + VERSIONING_SYSTEM + apple-generic + VERSION_INFO_PREFIX + + + isa + XCBuildConfiguration + name + Debug + + F4B594C252BB01D86188A4174CF83DA7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SpectaDSL.m + path + Specta/Specta/SpectaDSL.m + sourceTree + <group> + + F4E58516B444895CAA6C6360A6D37C8D + + fileRef + 6F8B7254FC3E5E43DD7FA139ACAD34D2 + isa + PBXBuildFile + + F5C20FAE8643FC37E5DAB35FC8E0760C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SPTExcludeGlobalBeforeAfterEach.h + path + Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h + sourceTree + <group> + + F6C9BBFE5027FF658937CF14A3B94902 + + buildConfigurationList + 3400C8FFE5EBD507C5FE7E737AC3201E + buildPhases + + F2DD1CEC71534B6F5DA18C3CA4F679CC + 58A651CCF65DFF56F38A294ECCD2482B + BA75D64F0854F1077DB2284C94F1A771 + + buildRules + + dependencies + + isa + PBXNativeTarget + name + GradientButton-GradientButton + productName + GradientButton-GradientButton + productReference + 47707B826F3E0DADE315FC93F6E5147E + productType + com.apple.product-type.bundle + + F719184209C892731ECCAE26C31DF09D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + ExpectaObject.h + path + Expecta/ExpectaObject.h + sourceTree + <group> + + F75CB2A727F678C9A848A3A11EA7979B + + fileRef + CF768E61543452FFE9E5FED6B4ED4B68 + isa + PBXBuildFile + settings + + ATTRIBUTES + + Public + + + + F793BD5085A88507A1E97A8F9285B818 + + buildActionMask + 2147483647 + files + + A0B3906A4737693F145ECCD46F4F93E3 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + F88B7DFF95FB42AED41D26AF77459756 includeInIndex @@ -7356,38 +8032,51 @@ sourceTree <group> - F890E1326443FD6C451595F103347DE3 + F9E5BBA3D92FFB3BE31CA99BFCC8EACC includeInIndex 1 isa PBXFileReference lastKnownFileType - text.plist.xml + sourcecode.c.h + name + EXPMatchers+raise.h path - Info.plist + Expecta/Matchers/EXPMatchers+raise.h sourceTree <group> - FA9AA960F05653C47EB2662A7E0E3796 + FA21AFD252CB5EDBB99FF003EB48C60F - includeInIndex - 1 + containerPortal + D41D8CD98F00B204E9800998ECF8427E isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+beginWith.m - path - Expecta/Matchers/EXPMatchers+beginWith.m - sourceTree - <group> + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + EDE65ED4BC6ABE064182269B382796C4 + remoteInfo + GradientButton + + FAC8086AC6F1D28CB4EC3F418BC2666A + + containerPortal + D41D8CD98F00B204E9800998ECF8427E + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F6C9BBFE5027FF658937CF14A3B94902 + remoteInfo + GradientButton-GradientButton FAD03A1D29BFD90BCB7F04B02E6DED36 fileRef - C6D339A119A34B655E8DE532BBC89A6F + 53224FD87A08E521400DBDAF087B50D0 isa PBXBuildFile settings @@ -7398,50 +8087,12 @@ - FAD450F231B69F75615E743CE1ED2B4C + FB2A2B40435FDDF3D9394864AADA4172 - includeInIndex - 1 + fileRef + 198E8411704EB4CC123DBE909AAFD1E1 isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+postNotification.m - path - Expecta/Matchers/EXPMatchers+postNotification.m - sourceTree - <group> - - FB37123DB4D2486C30EA392F17BF7505 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - EXPDoubleTuple.h - path - Expecta/EXPDoubleTuple.h - sourceTree - <group> - - FB445B211C424686C720B085874E2EF7 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - EXPMatchers+raiseWithReason.m - path - Expecta/Matchers/EXPMatchers+raiseWithReason.m - sourceTree - <group> + PBXBuildFile FB45FFD90572718D82AB9092B750F0CA @@ -7514,7 +8165,7 @@ FC20596ABFE14A61F171A29FD03275E7 fileRef - 1A2536CA1A4C375065588D7CA7FFFD04 + D5B2EC65D0A0CD6FF38B3D17F79E7892 isa PBXBuildFile settings @@ -7526,7 +8177,7 @@ FC45858927D3B6A0F922C4B697B04A38 fileRef - 5A5036265EC2BF776D08D8ED807B8000 + 767FC058814156A5CB521D163FE5726A isa PBXBuildFile settings @@ -7535,25 +8186,56 @@ -fno-objc-arc - FD2B5E432A922FDD07DC97D3FF8FC30F + FC5FC883FC82297C23A081DA1BC1A057 includeInIndex 1 isa PBXFileReference lastKnownFileType - sourcecode.c.objc + sourcecode.c.h name - FBSnapshotTestController.m + EXPMatchers+match.h path - FBSnapshotTestCase/FBSnapshotTestController.m + Expecta/Matchers/EXPMatchers+match.h + sourceTree + <group> + + FC7C1017751BA83391233931BAE8E450 + + buildActionMask + 2147483647 + files + + 309850D7024CFA540462DBA0C89C4E51 + 3EF4997CF38133FAC3AEBE0DCE27E93C + A3E6DBD63D935F66847F99D146B76F31 + FB2A2B40435FDDF3D9394864AADA4172 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + FC8D9D1838053461A38436576FA42801 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + EXPMatchers+beLessThan.h + path + Expecta/Matchers/EXPMatchers+beLessThan.h sourceTree <group> FD2D4497BC41412128C2D87C1BDE7398 fileRef - 8306A05F3FC954D6F3B4E35C4F6B2E24 + 8E289B6B867E5364AC66B1749EFB670F isa PBXBuildFile settings @@ -7564,14 +8246,7 @@ - FE5E8CE045BE9FB310D15708F38A5EEB - - fileRef - E172DFC29EE8C2A36AEC06644DCCA25D - isa - PBXBuildFile - - FE823448FDFC8473EFC2E2B8AA5031AF + FE4CDB4793F9377F7B58BE433BBD32EB includeInIndex 1 @@ -7580,16 +8255,23 @@ lastKnownFileType sourcecode.c.h name - UIApplication+StrictKeyWindow.h + EXPMatchers+equal.h path - FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h + Expecta/Matchers/EXPMatchers+equal.h sourceTree <group> + FE5E8CE045BE9FB310D15708F38A5EEB + + fileRef + D7297223B4B80EF515962CAC2ED01364 + isa + PBXBuildFile + FE8E34356D24F6759A8B010ED2F5707B fileRef - FB445B211C424686C720B085874E2EF7 + 4AEE316498EEE4C82503CF18BDFA9A98 isa PBXBuildFile settings @@ -7598,18 +8280,7 @@ -fno-objc-arc - FEB36DA91AA655F244A3A65C2737019B - - includeInIndex - 1 - isa - PBXFileReference - path - Expecta.modulemap - sourceTree - <group> - - FF49B4C3C61836DE302F437C919A7A05 + FF8650E6D401FCC064B973FB2A81F359 includeInIndex 1 @@ -7618,9 +8289,9 @@ lastKnownFileType sourcecode.c.h name - EXPExpect.h + FBSnapshotTestController.h path - Expecta/EXPExpect.h + FBSnapshotTestCase/FBSnapshotTestController.h sourceTree <group> diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/GradientButton.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/GradientButton.xcscheme index 3662b87..212c527 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/GradientButton.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/GradientButton.xcscheme @@ -14,7 +14,7 @@ buildForArchiving = "YES"> diff --git a/Example/Pods/RZDataBinding/LICENSE b/Example/Pods/RZDataBinding/LICENSE new file mode 100644 index 0000000..7f7b62c --- /dev/null +++ b/Example/Pods/RZDataBinding/LICENSE @@ -0,0 +1,22 @@ + +Copyright 2014 Raizlabs and other contributors +http://raizlabs.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Example/Pods/RZDataBinding/README.md b/Example/Pods/RZDataBinding/README.md new file mode 100644 index 0000000..0fe6faa --- /dev/null +++ b/Example/Pods/RZDataBinding/README.md @@ -0,0 +1,172 @@ +# RZDataBinding + +[![Version](https://img.shields.io/cocoapods/v/RZDataBinding.svg?style=flat)](http://cocoadocs.org/docsets/RZDataBinding) + +

+ +

+## Overview +RZDataBinding is a framework designed to help maintain data integrity in your iOS or OS X app. It is built using the standard Key-Value Observation (KVO) framework, but is safer and provides additional functionality. Like KVO, RZDataBinding helps to avoid endless delegate chains by establishing direct callbacks for when an object changes state. + +## Installation +Install using [CocoaPods](http://cocoapods.org) (recommended) by adding the following line to your Podfile: + +`pod "RZDataBinding"` + +Alternatively, download the repository and add the contents of the RZDataBinding directory to your project. + +## Demo Project +An example project is available in the Example directory. You can quickly check it out with + +`pod try RZDataBinding` + +Or download the zip from github and run it manually. + +

+ +

+ +The demo shows a basic usage of RZDataBinding, but is by no means the canonical or most advanced use case. + +##Usage +**Register a callback for when the keypath of an object changes:** +``` obj-c +// Register a selector to be called on a given target whenever keyPath changes on the receiver. +// Action must take either zero or exactly one parameter, an NSDictionary. +// If the method has a parameter, the dictionary will contain values for the appropriate +// RZDBChangeKeys. If keys are absent, they can be assumed to be nil. Values will not be NSNull. +- (void)rz_addTarget:(id)target + action:(SEL)action + forKeyPathChange:(NSString *)keyPath; +``` + +**Bind values of two objects together either directly or with a function:** +``` obj-c +// Binds the value of a given key of the receiver to the value of a key path of another object. +// When the key path of the object changes, the bound key of the receiver is also changed. +- (void)rz_bindKey:(NSString *)key + toKeyPath:(NSString *)foreignKeyPath + ofObject:(id)object; + +// Same as the above method, but the binding function is first applied +// to the changed value before setting the value of the bound key. +// If nil, the identity function is assumed, making it identical to regular rz_bindKey. +- (void)rz_bindKey:(NSString *)key + toKeyPath:(NSString *)foreignKeyPath + ofObject:(id)object + withFunction:(RZDBKeyBindingFunction)bindingFunction; +``` +Targets can be removed and keys unbound with corresponding removal methods, but unlike with standard KVO, you are not obligated to do so. RZDataBinding will automatically cleanup observers before objects are deallocated. + +## Why not use plain KVO? +Consider the following code, which calls `nameChanged:` when a user object's name changes, and reload a collection view when the user's preferences change: + +**Using KVO:** +``` obj-c +static void* const MyKVOContext = (void *)&MyKVOContext; + +- (void)setupKVO +{ + [self.user addObserver:self + forKeyPath:@"name" + options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew + context:MyKVOContext]; + + [self.user addObserver:self + forKeyPath:@"preferences" + options:kNilOptions + context:MyKVOContext]; +} + +- (void)observeValueForKeyPath:(NSString *)keyPath + ofObject:(id)object change:(NSDictionary *)change + context:(void *)context +{ + if ( context == MyKVOContext ) { + if ( [object isEqual:self.user] ) { + if ( [keyPath isEqualToString:@"name"] ) { + [self nameChanged:change]; + } + else if ( [keyPath isEqualToString:@"preferences"] ) { + [self.collectionView reloadData]; + } + } + } + else { + [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; + } +} + +- (void)dealloc +{ + [self.user removeObserver:self forKeyPath:@"name" context:MyKVOContext]; + [self.user removeObserver:self forKeyPath:@"preferences" context:MyKVOContext]; +} +``` + +**Using RZDataBinding:** +``` obj-c +- (void)setupKVO +{ + [self.user rz_addTarget:self + action:@selector(nameChanged:) + forKeyPathChange:@"name"]; + + [self.user rz_addTarget:self.collectionView + action:@selector(reloadData) + forKeyPathChange:@"preferences"]; +} +``` +Aside from the obvious reduction in code, the RZDataBinding implementation demonstrates several other wins: + +1. No need to manage different KVO contexts and check which object/keypath changed +2. No need to implement an instance method, meaning *any* object can be added as a target +3. No need to teardown before deallocation (standard KVO crashes if you fail to do this) + +## Safe Keypaths + +RZDataBinding also provides [several convenience macros](RZDataBinding/RZDBMacros.h) to create type-safe keypaths. When running in `DEBUG` mode, invalid keypaths will generate a compiler error: + +``` obj-c +// Creates the keypath @"text", ensuring it exists on objects of type UILabel +RZDB_KP(UILabel, text); + +// Creates @"layer.cornerRadius", ensuring the keypath exists on myView +RZDB_KP_OBJ(myView, layer.cornerRadius); + +// Creates @"session.user.name", ensuring the keypath exists on self +RZDB_KP_SELF(session.user.name); +``` + +You should *always* use these macros instead of literal strings, because of the additional type checks they provide. Note that in production these macros simplify to literal string generation to avoid any additional overhead. + +## Callback Coalescing (Advanced) + +RZDataBinding also provides a coalescing mechanism for fine-tuning areas of your application that receive or send a high number of KVO notifications, which may incur a performance cost. For example, a complex view might trigger an expensive layout operation whenever one of several properties changes. Or, some work may require changing properties several times before they settle to final values. In these cases, it may be beneficial to have RZDataBinding treat a block of work as an "atomic" event. That is, supported callbacks should be coalesced and sent once, when the work completes. + +[`RZDBCoalesce`](RZDataBinding/RZDBCoalesce.h) provides a block interface: + +``` obj-c +[RZDBCoalesce coalesceBlock:^{ + // Callbacks within this block are coalesced, + // and sent only once, after the block completes +}]; +``` + +Callbacks are not coalesced by default, even within an `RZDBCoalesce` event. The `rz_addTarget:action:` methods can opt in to support coalescing by specifying a coalesce proxy as the callback target: + +``` obj-c +[object rz_addTarget:[self rz_coalesceProxy] + action:@selector(expensiveCallback) + forKeyPathChange:RZDB_KP_OBJ(object, key.path)]; +``` + +In this example, the intended target is `self`, but if a coalesce event is in progress these messages will be coalesced and deferred until the event completes. Note that only `rz_addTarget:action:` callbacks may support coalescing; bindings established with the `rz_bindKey:` methods will never be coalesced. + +## Author +Rob Visentin, rob.visentin@raizlabs.com + +## License +RZDataBinding is available under the MIT license. See the LICENSE file for more info. diff --git a/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.h b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.h new file mode 100644 index 0000000..c3793bb --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.h @@ -0,0 +1,192 @@ +// +// NSObject+RZDataBinding.h +// +// Created by Rob Visentin on 9/17/14. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "RZDBTransforms.h" + +#pragma mark - Constants and Definitions + +/** + * The value for this key is the object that changed. This key is always present. + */ +OBJC_EXTERN NSString* const kRZDBChangeKeyObject; + +/** + * If present, the value for this key is the previous value on a key path change. + */ +OBJC_EXTERN NSString* const kRZDBChangeKeyOld; + +/** + * If present, the value for this key is the new value on a key path change, or the exisiting value for the key path for the initial call. + */ +OBJC_EXTERN NSString* const kRZDBChangeKeyNew; + +/** + * The value for this key is the key path that changed value. This key is always present. + */ +OBJC_EXTERN NSString* const kRZDBChangeKeyKeyPath; + +/** + * Set this to 1 (recommended) to enable automatic cleanup of observers on object deallocation. + * If enabled, it is safe to observe or bind to weak references, and there is no need to call rz_removeTarget + * or rz_unbindKey before targets or observed objects are deallocated. To achieve automatic cleanup, + * RZDB swizzles the dealloc method to ensure observers are properly invalidated. There are other ways of implementing similar + * behavior, but this has been found to be both the safest and most reliable in production. + * + * If set to 0 (not recommended), objects MUST remove themselves as targets and unbind their keys from any observed objects before being deallocated. + * Failure to do so will result in crashes (just like standard KVO). Additionally, you should not add a target to or bind keys to + * objects without first establishing a strong reference. Otherwise, the foreign object might be deallocated before the observer, causing in a crash. + * If you choose to disable global automatic cleanup by setting this to 0, you must cleanup observers manually. + * + * @see rz_cleanupObservers + */ +#ifndef RZDB_AUTOMATIC_CLEANUP +#define RZDB_AUTOMATIC_CLEANUP 1 +#endif + +#pragma mark - NSObject+RZDataBinding interface + +@interface NSObject (RZDataBinding) + +/** + * Register a selector to be called on a given target whenever keyPath changes on the receiver. The selector is not called immediately. + * + * @param target The object on which to call the action selector. Must be non-nil. This object is not retained. + * @param action The selector to call on the target. Must not be NULL. The method must take either zero or exactly one parameter, an NSDictionary, and have a void return type. If the method has an NSDictionary parameter, the dictionary will contain values for the appropriate RZDBChangeKeys. If keys are absent, they can be assumed to be nil. Values will not be NSNull. + * @param keyPath The key path of the receiver for which changes should trigger an action. Must be KVC compliant. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath; + +/** + * Register a selector to be called on a given target whenever keyPath changes on the receiver. + * + * @param target The object on which to call the action selector. Must be non-nil. This object is not retained. + * @param action The selector to call on the target. Must not be NULL. The method must take either zero or exactly one parameter, an NSDictionary, and have a void return type. If the method has an NSDictionary parameter, the dictionary will contain values for the appropriate RZDBChangeKeys. If keys are absent, they can be assumed to be nil. Values will not be NSNull. + * @param keyPath The key path of the receiver for which changes should trigger an action. Must be KVC compliant. + * @param callImmediately If YES, the action is also called immediately before this method returns. In this case the change dictionary, if present, will not contain a value for kRZDBChangeKeyOld. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath callImmediately:(BOOL)callImmediately; + +/** + * A convenience method that calls rz_addTarget:action:forKeyPathChange: for each keyPath in the keyPaths array. + * + * @param target The object on which to call the action selector. Must be non-nil. This object is not retained. + * @param action The selector to call on the target. Must not be NULL. See rz_addTarget documentation for more details. + * @param keyPaths An array of key paths that should trigger an action. Each key path must be KVC compliant. + * + * @note The action is not called immediately. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChanges:(NSArray *)keyPaths; + +/** + * A convenience method that calls rz_addTarget:action:forKeyPathChange: for each keyPath in the keyPaths array. + * + * @param target The object on which to call the action selector. Must be non-nil. This object is not retained. + * @param action The selector to call on the target. Must not be NULL. See rz_addTarget documentation for more details. + * @param keyPaths An array of key paths that should trigger an action. Each key path must be KVC compliant. + * @param callImmediately If YES, the action is also called immediately before this method returns. If the action takes no arguments, it will be called once. If the action takes a change dictonary parameter, it will be called once for each keypath, with the appropriate change dict. Note that in this case the dictionary will not contain a value for kRZDBChangeKeyOld. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChanges:(NSArray *)keyPaths callImmediately:(BOOL)callImmediately; + +/** + * Removes previously registered target/action pairs so that the actions are no longer called when the receiver changes value for keyPath. + * + * @param target The target to remove. Must be non-nil. + * @param action The action to remove. Pass NULL to remove all actions registered for the target. + * @param keyPath The key path to remove the target/action pair for. + * + * @note If RZDB_AUTOMATIC_CLEANUP is enabled, then there is obligation to call this method before either the target or receiver are deallocated. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_removeTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath; + +/** + * Binds the value of a given key of the receiver to the value of a key path of another object. When the key path of the object changes, the bound key of the receiver is set to the same value. The receiver's value for the key will match the value for the object's foreign key path before this method returns. + * + * @param key The receiver's key whose value should be bound to the value of a foreign key path. Must be KVC compliant. + * @param foreignKeyPath A key path of another object to which the receiver's key value should be bound. Must be KVC compliant. + * @param object An object with a key path that the receiver should bind to. + * + * @note If binding a primitive-type key to a keypath that may hit a nil object, you MUST use + * rz_bindKey:toKeyPath:ofObject:withTransform: instead. This is because attempting to set a nil + * value to a primitive-type using KVC causes a crash. In this case it may be helpful to use + * one of the default RZDBTransforms. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_bindKey:(NSString *)key toKeyPath:(NSString *)foreignKeyPath ofObject:(id)object; + +/** + * Binds the value of a given key of the receiver to the value of a key path of another object. When the key path of the object changes, the binding transform is invoked and the bound key of the receiver is set to the transform's return value. The receiver's value for the key will be set before this method returns. + * + * @param key The receiver's key whose value should be bound to the value of a foreign key path. Must be KVC compliant. + * @param foreignKeyPath A key path of another object to which the receiver's key value should be bound. Must be KVC compliant. + * @param object An object with a key path that the receiver should bind to. + * @param bindingTransform The transform to apply to changed values before setting the value of the bound key. If nil, the identity transform is assumed, making this method identical to regular rz_bindKey:. + * You may use the constant RZDBTransforms provided for convenience. + * + * @see RZDB_KP macro for creating keypaths, and RZDBTransforms for constant transforms. + */ +- (void)rz_bindKey:(NSString *)key toKeyPath:(NSString *)foreignKeyPath ofObject:(id)object withTransform:(RZDBKeyBindingTransform)bindingTransform; + +/** + * Unbinds the given key of the receiver from the key path of another object. + * + * @param key The key to unbind. + * @param foreignKeyPath The key path that the key should be unbound from. + * @param object The object that the receiver should be unbound from. + * + * @note If RZDB_AUTOMATIC_CLEANUP is enabled, then there is no obligation to call this method before either the receiver or the foreign object are deallocated. + * + * @see RZDB_KP macro for creating keypaths. + */ +- (void)rz_unbindKey:(NSString *)key fromKeyPath:(NSString *)foreignKeyPath ofObject:(id)object; + +#if !RZDB_AUTOMATIC_CLEANUP +/** + * Removes all callbacks and bindings both to and from the receiver. + * This method essentially resets the receiver to a pristine state with respect to RZDataBinding. + * + * If RZDB_AUTOMATIC_CLEANUP is not enabled, you MUST call this method on any + * observing or observed object it is deallocated. Failure to do so will result in a crash (just like standard KVO). + * + * @note This method breaks all bindings and callbacks on the receiver, including those created + * by other clients. Therefore it is only safe to call this method from the receiver's dealloc method. + */ +- (void)rz_cleanupObservers; +#endif + +@end diff --git a/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m new file mode 100644 index 0000000..057e38f --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m @@ -0,0 +1,515 @@ +// +// NSObject+RZDataBinding.m +// +// Created by Rob Visentin on 9/17/14. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import +#import + +#import "NSObject+RZDataBinding.h" +#import "RZDBMacros.h" + +@class RZDBObserver; +@class RZDBObserverContainer; + +// public change keys +NSString* const kRZDBChangeKeyObject = @"RZDBChangeObject"; +NSString* const kRZDBChangeKeyOld = @"RZDBChangeOld"; +NSString* const kRZDBChangeKeyNew = @"RZDBChangeNew"; +NSString* const kRZDBChangeKeyKeyPath = @"RZDBChangeKeyPath"; + +// private change keys +static NSString* const kRZDBChangeKeyBoundKey = @"_RZDBChangeBoundKey"; +static NSString* const kRZDBChangeKeyBindingTransformKey = @"_RZDBChangeBindingTransform"; + +static void* const kRZDBSwizzledDeallocKey = (void *)&kRZDBSwizzledDeallocKey; + +static void* const kRZDBKVOContext = (void *)&kRZDBKVOContext; + +#define RZDBNotNull(obj) ((obj) != nil && ![(obj) isEqual:[NSNull null]]) + +#pragma mark - RZDataBinding_Private interface + +// methods used to implement RZDB_AUTOMATIC_CLEANUP +BOOL rz_requiresDeallocSwizzle(Class class); +void rz_swizzleDeallocIfNeeded(Class class); + +@interface NSObject (RZDataBinding_Private) + +- (NSMutableArray *)rz_registeredObservers; +- (void)rz_setRegisteredObservers:(NSMutableArray *)registeredObservers; + +- (RZDBObserverContainer *)rz_dependentObservers; +- (void)rz_setDependentObservers:(RZDBObserverContainer *)dependentObservers; + +- (void)rz_addTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey bindingTransform:(RZDBKeyBindingTransform)bindingTransform forKeyPath:(NSString *)keyPath withOptions:(NSKeyValueObservingOptions)options; +- (void)rz_removeTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey forKeyPath:(NSString *)keyPath; +- (void)rz_observeBoundKeyChange:(NSDictionary *)change; +- (void)rz_setBoundKey:(NSString *)key withValue:(id)value transform:(RZDBKeyBindingTransform)transform; + +@end + +#pragma mark - RZDBObserver interface + +@interface RZDBObserver : NSObject; + +@property (assign, nonatomic) __unsafe_unretained NSObject *observedObject; +@property (copy, nonatomic) NSString *keyPath; +@property (copy, nonatomic) NSString *boundKey; +@property (assign, nonatomic) NSKeyValueObservingOptions observationOptions; + +@property (assign, nonatomic) __unsafe_unretained id target; +@property (assign, nonatomic) SEL action; +@property (strong, nonatomic) NSMethodSignature *methodSignature; + +@property (copy, nonatomic) RZDBKeyBindingTransform bindingTransform; + +- (instancetype)initWithObservedObject:(NSObject *)observedObject keyPath:(NSString *)keyPath observationOptions:(NSKeyValueObservingOptions)observingOptions; + +- (void)setTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey bindingTransform:(RZDBKeyBindingTransform)bindingTransform; + +- (void)invalidate; + +@end + +#pragma mark - RZDBObserverContainer interface + +@interface RZDBObserverContainer : NSObject + +@property (strong, nonatomic) NSHashTable *observers; + +- (void)addObserver:(RZDBObserver *)observer; +- (void)removeObserver:(RZDBObserver *)observer; + +@end + +#pragma mark - RZDataBinding implementation + +@implementation NSObject (RZDataBinding) + +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath +{ + [self rz_addTarget:target action:action forKeyPathChange:keyPath callImmediately:NO]; +} + +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath callImmediately:(BOOL)callImmediately +{ + NSParameterAssert(target); + NSParameterAssert(action); + + NSKeyValueObservingOptions observationOptions = kNilOptions; + + if ( [target methodSignatureForSelector:action].numberOfArguments > 2 ) { + observationOptions |= NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld; + } + + if ( callImmediately ) { + observationOptions |= NSKeyValueObservingOptionInitial; + } + + [self rz_addTarget:target action:action boundKey:nil bindingTransform:nil forKeyPath:keyPath withOptions:observationOptions]; +} + +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChanges:(NSArray *)keyPaths +{ + [self rz_addTarget:target action:action forKeyPathChanges:keyPaths callImmediately:NO]; +} + +- (void)rz_addTarget:(id)target action:(SEL)action forKeyPathChanges:(NSArray *)keyPaths callImmediately:(BOOL)callImmediately +{ + BOOL callMultiple = NO; + + if ( callImmediately ) { + callMultiple = [target methodSignatureForSelector:action].numberOfArguments > 2; + } + + [keyPaths enumerateObjectsUsingBlock:^(NSString *keyPath, NSUInteger idx, BOOL *stop) { + [self rz_addTarget:target action:action forKeyPathChange:keyPath callImmediately:callMultiple]; + }]; + + if ( callImmediately && !callMultiple ) { + ((void(*)(id, SEL))objc_msgSend)(target, action); + } +} + +- (void)rz_removeTarget:(id)target action:(SEL)action forKeyPathChange:(NSString *)keyPath +{ + [self rz_removeTarget:target action:action boundKey:nil forKeyPath:keyPath]; +} + +- (void)rz_bindKey:(NSString *)key toKeyPath:(NSString *)foreignKeyPath ofObject:(id)object +{ + [self rz_bindKey:key toKeyPath:foreignKeyPath ofObject:object withTransform:nil]; +} + +- (void)rz_bindKey:(NSString *)key toKeyPath:(NSString *)foreignKeyPath ofObject:(id)object withTransform:(RZDBKeyBindingTransform)bindingTransform +{ + NSParameterAssert(key); + NSParameterAssert(foreignKeyPath); + + if ( object != nil ) { + @try { + id val = [object valueForKeyPath:foreignKeyPath]; + + [self rz_setBoundKey:key withValue:val transform:bindingTransform]; + } + @catch (NSException *exception) { + [NSException raise:NSInvalidArgumentException format:@"RZDataBinding cannot bind key:%@ to key path:%@ of object:%@. Reason: %@", key, foreignKeyPath, [object description], exception.reason]; + } + + [object rz_addTarget:self action:@selector(rz_observeBoundKeyChange:) boundKey:key bindingTransform:bindingTransform forKeyPath:foreignKeyPath withOptions:NSKeyValueObservingOptionNew]; + } +} + +- (void)rz_unbindKey:(NSString *)key fromKeyPath:(NSString *)foreignKeyPath ofObject:(id)object +{ + [object rz_removeTarget:self action:@selector(rz_observeBoundKeyChange:) boundKey:key forKeyPath:foreignKeyPath]; +} + +@end + +#pragma mark - RZDataBinding_Private implementation + +@implementation NSObject (RZDataBinding_Private) + +- (NSMutableArray *)rz_registeredObservers +{ + return objc_getAssociatedObject(self, @selector(rz_registeredObservers)); +} + +- (void)rz_setRegisteredObservers:(NSMutableArray *)registeredObservers +{ + objc_setAssociatedObject(self, @selector(rz_registeredObservers), registeredObservers, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (RZDBObserverContainer *)rz_dependentObservers +{ + return objc_getAssociatedObject(self, @selector(rz_dependentObservers)); +} + +- (void)rz_setDependentObservers:(RZDBObserverContainer *)dependentObservers +{ + objc_setAssociatedObject(self, @selector(rz_dependentObservers), dependentObservers, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (void)rz_addTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey bindingTransform:(RZDBKeyBindingTransform)bindingTransform forKeyPath:(NSString *)keyPath withOptions:(NSKeyValueObservingOptions)options +{ + NSMutableArray *registeredObservers = nil; + RZDBObserverContainer *dependentObservers = nil; + + RZDBObserver *observer = [[RZDBObserver alloc] initWithObservedObject:self keyPath:keyPath observationOptions:options]; + + [observer setTarget:target action:action boundKey:boundKey bindingTransform:bindingTransform]; + + @synchronized (self) { + registeredObservers = [self rz_registeredObservers]; + + if ( registeredObservers == nil ) { + registeredObservers = [NSMutableArray array]; + [self rz_setRegisteredObservers:registeredObservers]; + } + + [registeredObservers addObject:observer]; + } + + @synchronized (target) { + dependentObservers = [target rz_dependentObservers]; + + if ( dependentObservers == nil ) { + dependentObservers = [[RZDBObserverContainer alloc] init]; + [target rz_setDependentObservers:dependentObservers]; + } + + [dependentObservers addObserver:observer]; + } + +#if RZDB_AUTOMATIC_CLEANUP + rz_swizzleDeallocIfNeeded([self class]); + rz_swizzleDeallocIfNeeded([target class]); +#endif +} + +- (void)rz_removeTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey forKeyPath:(NSString *)keyPath +{ + @synchronized (self) { + NSMutableArray *registeredObservers = [self rz_registeredObservers]; + + [registeredObservers enumerateObjectsUsingBlock:^(RZDBObserver *observer, NSUInteger idx, BOOL *stop) { + BOOL targetsEqual = (target == observer.target); + BOOL actionsEqual = (action == NULL || action == observer.action); + BOOL boundKeysEqual = (boundKey == observer.boundKey || [boundKey isEqualToString:observer.boundKey]); + BOOL keyPathsEqual = [keyPath isEqualToString:observer.keyPath]; + + BOOL allEqual = (targetsEqual && actionsEqual && boundKeysEqual && keyPathsEqual); + + if ( allEqual ) { + [observer invalidate]; + } + }]; + } +} + +- (void)rz_observeBoundKeyChange:(NSDictionary *)change +{ + NSString *boundKey = change[kRZDBChangeKeyBoundKey]; + + if ( boundKey != nil ) { + id value = change[kRZDBChangeKeyNew]; + + [self rz_setBoundKey:boundKey withValue:value transform:change[kRZDBChangeKeyBindingTransformKey]]; + } +} + +- (void)rz_setBoundKey:(NSString *)key withValue:(id)value transform:(RZDBKeyBindingTransform)transform +{ + id currentValue = [self valueForKey:key]; + + if ( transform != nil ) { + value = transform(value); + } + + if ( currentValue != value && ![currentValue isEqual:value] ) { + [self setValue:value forKey:key]; + } +} + +- (void)rz_cleanupObservers +{ + NSMutableArray *registeredObservers = [self rz_registeredObservers]; + RZDBObserverContainer *dependentObservers = [self rz_dependentObservers]; + + [[registeredObservers copy] enumerateObjectsUsingBlock:^(RZDBObserver *obs, NSUInteger idx, BOOL *stop) { + [obs invalidate]; + }]; + + [[dependentObservers.observers allObjects] enumerateObjectsUsingBlock:^(RZDBObserver *obs, NSUInteger idx, BOOL *stop) { + [obs invalidate]; + }]; +} + +@end + +#pragma mark - RZDBObserver implementation + +@implementation RZDBObserver + +- (instancetype)initWithObservedObject:(NSObject *)observedObject keyPath:(NSString *)keyPath observationOptions:(NSKeyValueObservingOptions)observingOptions +{ + self = [super init]; + if ( self != nil ) { + _observedObject = observedObject; + _keyPath = keyPath; + _observationOptions = observingOptions; + } + + return self; +} + +- (void)setTarget:(id)target action:(SEL)action boundKey:(NSString *)boundKey bindingTransform:(RZDBKeyBindingTransform)bindingTransform +{ + self.target = target; + self.action = action; + self.methodSignature = [target methodSignatureForSelector:action]; + + self.boundKey = boundKey; + self.bindingTransform = bindingTransform; + + [self.observedObject addObserver:self forKeyPath:self.keyPath options:self.observationOptions context:kRZDBKVOContext]; +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + if ( context == kRZDBKVOContext ) { + if ( self.methodSignature.numberOfArguments > 2 ) { + NSDictionary *changeDict = [self changeDictForKVOChange:change]; + + ((void(*)(id, SEL, NSDictionary *))objc_msgSend)(self.target, self.action, changeDict); + } + else { + ((void(*)(id, SEL))objc_msgSend)(self.target, self.action); + } + } +} + +- (NSDictionary *)changeDictForKVOChange:(NSDictionary *)kvoChange +{ + NSMutableDictionary *changeDict = [NSMutableDictionary dictionary]; + + if ( self.observedObject != nil ) { + changeDict[kRZDBChangeKeyObject] = self.observedObject; + } + + if ( RZDBNotNull(kvoChange[NSKeyValueChangeOldKey]) ) { + changeDict[kRZDBChangeKeyOld] = kvoChange[NSKeyValueChangeOldKey]; + } + + if ( RZDBNotNull(kvoChange[NSKeyValueChangeNewKey]) ) { + changeDict[kRZDBChangeKeyNew] = kvoChange[NSKeyValueChangeNewKey]; + } + + if ( self.keyPath != nil ) { + changeDict[kRZDBChangeKeyKeyPath] = self.keyPath; + } + + if ( self.boundKey != nil ) { + changeDict[kRZDBChangeKeyBoundKey] = self.boundKey; + } + + if ( self.bindingTransform != nil ) { + changeDict[kRZDBChangeKeyBindingTransformKey] = self.bindingTransform; + } + + return [changeDict copy]; +} + +- (void)invalidate +{ + [[self.target rz_dependentObservers] removeObserver:self]; + [[self.observedObject rz_registeredObservers] removeObject:self]; + + // KVO throws an exception when removing an observer that was never added. + // This should never be a problem given how things are setup, but make sure to avoid a crash. + @try { + [self.observedObject removeObserver:self forKeyPath:self.keyPath context:kRZDBKVOContext]; + } + @catch (__unused NSException *exception) { + RZDBLog(@"RZDataBinding attempted to remove an observer from object:%@, but the observer was never added. This shouldn't have happened, but won't affect anything going forward.", self.observedObject); + } + + self.observedObject = nil; + self.target = nil; + self.action = NULL; + self.methodSignature = nil; +} + +@end + +#pragma mark - RZDBObserverContainer implementation + +@implementation RZDBObserverContainer + +- (instancetype)init +{ + self = [super init]; + if ( self != nil ) { + _observers = [NSHashTable weakObjectsHashTable]; + } + return self; +} + +- (void)addObserver:(RZDBObserver *)observer +{ + @synchronized (self) { + [self.observers addObject:observer]; + } +} + +- (void)removeObserver:(RZDBObserver *)observer +{ + @synchronized (self) { + [self.observers removeObject:observer]; + } +} + +@end + +// a class doesn't need dealloc swizzled if it or a superclass has been swizzled already +BOOL rz_requiresDeallocSwizzle(Class class) +{ + BOOL swizzled = NO; + + for ( Class currentClass = class; !swizzled && currentClass != nil; currentClass = class_getSuperclass(currentClass) ) { + swizzled = [objc_getAssociatedObject(currentClass, kRZDBSwizzledDeallocKey) boolValue]; + } + + return !swizzled; +} + +// In order for automatic cleanup to work, observers must be removed before deallocation. +// This method ensures that rz_cleanupObservers is called in the dealloc of classes of objects +// that are used in RZDataBinding. +void rz_swizzleDeallocIfNeeded(Class class) +{ + static SEL deallocSEL = NULL; + static SEL cleanupSEL = NULL; + + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + deallocSEL = sel_getUid("dealloc"); + cleanupSEL = sel_getUid("rz_cleanupObservers"); + }); + + @synchronized (class) { + if ( !rz_requiresDeallocSwizzle(class) ) { + // dealloc swizzling already resolved + return; + } + + objc_setAssociatedObject(class, kRZDBSwizzledDeallocKey, @(YES), OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + + Method dealloc = NULL; + + // search instance methods of the class (does not search superclass methods) + unsigned int n; + Method *methods = class_copyMethodList(class, &n); + + for ( unsigned int i = 0; i < n; i++ ) { + if ( method_getName(methods[i]) == deallocSEL ) { + dealloc = methods[i]; + break; + } + } + + free(methods); + + if ( dealloc == NULL ) { + Class superclass = class_getSuperclass(class); + + // class does not implement dealloc, so implement it directly + class_addMethod(class, deallocSEL, imp_implementationWithBlock(^(__unsafe_unretained id self) { + + // cleanup RZDB observers + ((void(*)(id, SEL))objc_msgSend)(self, cleanupSEL); + + // ARC automatically calls super when dealloc is implemented in code, + // but when provided our own dealloc IMP we have to call through to super manually + struct objc_super superStruct = (struct objc_super){ self, superclass }; + ((void (*)(struct objc_super*, SEL))objc_msgSendSuper)(&superStruct, deallocSEL); + + }), method_getTypeEncoding(dealloc)); + } + else { + // class implements dealloc, so extend the existing implementation + __block IMP deallocIMP = method_setImplementation(dealloc, imp_implementationWithBlock(^(__unsafe_unretained id self) { + // cleanup RZDB observers + ((void(*)(id, SEL))objc_msgSend)(self, cleanupSEL); + + // invoke the original dealloc IMP + ((void(*)(id, SEL))deallocIMP)(self, deallocSEL); + })); + } +} diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h new file mode 100644 index 0000000..4e71f28 --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h @@ -0,0 +1,111 @@ +// +// RZDBCoalesce.h +// +// Created by Rob Visentin on 4/1/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#pragma mark - NSObject+RZDBCoalesce interface + +/** + * Provides an interface for supporting coalesced data binding callbacks. + */ +@interface NSObject (RZDBCoalesce) + +/** + * Returns a proxy object that will participate in coalescing events. + * + * Use [target rz_coalesceProxy] as the target of the rz_addTarget:action: methods to support + * coalescing for a target/action pair. If the callback occurs during a an RZDBCoalesce event, it will be + * coalesced and deferred until the end RZDBCoalesce is committed. + * + * @note You should generally not call methods on the coalesce proxy directly. + * The proxy will treat any 0-arg or 1-dictionary-arg methods with void return type as RZDB callbacks, + * and coalesce them accordingly. + * + * @see RZDBCoalesce for how to begin/end coalesce events. + * + * @return A proxy object to use as a data binding target in the rz_addTarget:action: methods. + */ +- (id)rz_coalesceProxy; + +@end + +#pragma mark - RZDBCoalesce interface + +/** + * There may be chunks of work that should be completed "atomically" with respect to RZDataBinding. + * That is, actions registered using the rz_addTarget:action: methods that support coalescing + * will be fired once, when the work is completed. + * + * The RZDBCoalesce object provides class methods to manage coalescing events. + * + * Coalescing is an advanced feature that should generally only be used if you encounter a performance issue, + * or find some other requirement for it. + * + * @see NSObject+RZDBCoalesce for how to support coalesced callbacks. + */ +@interface RZDBCoalesce : NSObject + +/** + * Begin coalescing events for the current thread. + * Changes that occur during the coalesce that would trigger actions registered to coalesce proxies with + * the rz_addTarget:action: methods are instead coalesced and executed once when the coalesce ends. + * + * Every call to +begin MUST be balanced by a call to +commit on the same thread. + * It is fine to begin a coalesce while already coalescing-- + * the coalesce will simply not end until both matching commits are hit. + * + * @note Bindings that occur during a coalesce still occur immediately. + * + * @see NSObject+RZDBCoalesce for how to support coalesced callbacks. + */ ++ (void)begin; + +/** + * Commit the current coalesce, sending the coalesced change callbacks. + * If this commit closes a nested coalesce, callbacks are not sent until the outermost coalesce is committed. + * + * Calling this method from outside a coalesce has no effect. + */ ++ (void)commit; + +/** + * Convenience method that first calls +begin, then executes the block, then calls +commit. + * You should prefer this method where possible to avoid programmer error (i.e. forgetting to call +commit). + * + * @param coalesceBlock The block to execute inside a coalesce. Must be non-nil. + * + * @see NSObject+RZDBCoalesce for how to support coalesced callbacks. + */ ++ (void)coalesceBlock:(void (^)())coalesceBlock; + +/** + * Cannot instantiate RZDBCoalesce directly. Use the class methods instead. + */ +- (instancetype)init __attribute__((unavailable("Cannot instantiate RZDBCoalesce directly. Use the class methods instead."))); + +@end diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m new file mode 100644 index 0000000..48d7bdc --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m @@ -0,0 +1,297 @@ +// +// RZDBCoalesce.m +// +// Created by Rob Visentin on 4/1/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import +#import + +#import "RZDBCoalesce.h" + +#import "NSObject+RZDataBinding.h" + +static NSString* const kRZDBCoalesceStorageKey = @"RZDBCoalesce"; + +#pragma mark - RZDBNotification interface + +@interface RZDBNotification : NSObject + +@property (weak, nonatomic) id target; +@property (assign, nonatomic) SEL action; + +@property (strong, nonatomic) NSMutableDictionary *changeDict; + ++ (instancetype)notificationWithInvocation:(NSInvocation *)invocation; + +- (void)send; + +@end + +#pragma mark - RZDBCoalesceProxy interface + +@interface RZDBCoalesceProxy : NSProxy + +@property (assign, nonatomic) __unsafe_unretained id representedObject; + ++ (instancetype)proxyForObject:(id)object; + +@end + +#pragma mark - RZDBCoalesce private interface + +@interface RZDBCoalesce () + +@property (assign, nonatomic) NSInteger beginCount; +@property (strong, nonatomic, readonly) NSMutableArray *notifications; + +@end + +#pragma mark - RZDBCoalesce implementation + +@implementation RZDBCoalesce + ++ (void)begin +{ + RZDBCoalesce *current = [self currentCoalesce]; + + if ( current == nil ) { + [self setCurrentCoalesce:[[self alloc] init]]; + } + else { + current.beginCount++; + } +} + ++ (void)commit +{ + RZDBCoalesce *current = [self currentCoalesce]; + current.beginCount--; + + if ( current.beginCount == 0 ) { + [self setCurrentCoalesce:nil]; + [current.notifications enumerateObjectsUsingBlock:^(RZDBNotification *notification, NSUInteger idx, BOOL *stop) { + [notification send]; + }]; + } +} + ++ (void)coalesceBlock:(void (^)())coalesceBlock +{ + NSParameterAssert(coalesceBlock); + + [RZDBCoalesce begin]; + coalesceBlock(); + [RZDBCoalesce commit]; +} + +#pragma mark - private methods + ++ (RZDBCoalesce *)currentCoalesce +{ + return [NSThread currentThread].threadDictionary[kRZDBCoalesceStorageKey]; +} + ++ (void)setCurrentCoalesce:(RZDBCoalesce *)current +{ + if ( current != nil ) { + [NSThread currentThread].threadDictionary[kRZDBCoalesceStorageKey] = current; + } + else { + [[NSThread currentThread].threadDictionary removeObjectForKey:kRZDBCoalesceStorageKey]; + } +} + +- (instancetype)init +{ + self = [super init]; + if ( self ) { + _beginCount = 1; + _notifications = [NSMutableArray array]; + } + + return self; +} + +- (void)addNotification:(RZDBNotification *)notification +{ + NSUInteger existingIdx = [self.notifications indexOfObjectPassingTest:^BOOL(RZDBNotification *existing, NSUInteger idx, BOOL *stop) { + return [notification isEqual:existing]; + }]; + + if ( existingIdx != NSNotFound ) { + RZDBNotification *existing = self.notifications[existingIdx]; + + if ( notification.changeDict[kRZDBChangeKeyNew] != nil ) { + existing.changeDict[kRZDBChangeKeyNew] = notification.changeDict[kRZDBChangeKeyNew]; + } + else { + [existing.changeDict removeObjectForKey:kRZDBChangeKeyNew]; + } + } + else { + [self.notifications addObject:notification]; + } +} + +@end + +#pragma mark - RZDBNotification implementation + +@implementation RZDBNotification + ++ (instancetype)notificationWithInvocation:(NSInvocation *)invocation +{ + RZDBNotification *notification = nil; + + NSMethodSignature *methodSig = invocation.methodSignature; + + // rzdb callbacks must have void return type, and + // if there are any arguments, the first and only argument must be a dictionary + if ( methodSig.methodReturnLength == 0 && (methodSig.numberOfArguments == 2 || methodSig.numberOfArguments == 3) ) { + notification = [[self alloc] init]; + notification.target = invocation.target; + notification.action = invocation.selector; + + if ( methodSig.numberOfArguments == 3 && strcmp([methodSig getArgumentTypeAtIndex:2], @encode(id)) == 0 ) { + __unsafe_unretained id arg1; + [invocation getArgument:&arg1 atIndex:2]; + + if ( [arg1 isKindOfClass:[NSDictionary class]] ) { + notification.changeDict = [arg1 mutableCopy]; + } + else { + notification = nil; + } + } + } + + return notification; +} + +- (BOOL)isEqual:(id)object +{ + BOOL equal = [super isEqual:object]; + + if ( !equal && [object isKindOfClass:[RZDBNotification class]] ) { + RZDBNotification *other = (RZDBNotification *)object; + + equal = (self.target == other.target) && + (self.action == other.action) && + (self.changeDict == other.changeDict || + (self.changeDict[kRZDBChangeKeyObject] == other.changeDict[kRZDBChangeKeyObject] && + [self.changeDict[kRZDBChangeKeyKeyPath] isEqualToString:other.changeDict[kRZDBChangeKeyKeyPath]] + ) + ); + } + + return equal; +} + +- (void)send +{ + if ( self.target != nil && self.action != NULL ) { + if ( self.changeDict != nil ) { + ((void(*)(id, SEL, NSDictionary *))objc_msgSend)(self.target, self.action, [self.changeDict copy]); + } + else { + ((void(*)(id, SEL))objc_msgSend)(self.target, self.action); + } + } +} + +@end + +#pragma mark - NSObject+RZDBCoalesce implementation + +@implementation NSObject (RZDBCoalesce) + +- (id)rz_coalesceProxy +{ + @synchronized (self) { + id proxy = objc_getAssociatedObject(self, _cmd); + + if ( proxy == nil ) { + proxy = [RZDBCoalesceProxy proxyForObject:self]; + objc_setAssociatedObject(self, _cmd, proxy, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } + + return proxy; + } +} + +@end + +#pragma mark - RZDBCoalesceProxy implementation + +@implementation RZDBCoalesceProxy + ++ (instancetype)proxyForObject:(id)object +{ + RZDBCoalesceProxy *proxy = [self alloc]; + proxy.representedObject = object; + + return proxy; +} + +- (Class)class +{ + return [self.representedObject class]; +} + +- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel +{ + return [self.representedObject methodSignatureForSelector:sel]; +} + +- (void)forwardInvocation:(NSInvocation *)invocation +{ + invocation.target = self.representedObject; + + RZDBCoalesce *currentCoalesce = [RZDBCoalesce currentCoalesce]; + + if ( currentCoalesce != nil ) { + // notificaton will be non-nil for a valid RZDataBinding callback + RZDBNotification *notification = [RZDBNotification notificationWithInvocation:invocation]; + + if ( notification != nil ) { + [currentCoalesce addNotification:notification]; + } + else { + [invocation invoke]; + } + } + else { + [invocation invoke]; + } +} + +- (void)doesNotRecognizeSelector:(SEL)aSelector +{ + [self.representedObject doesNotRecognizeSelector:aSelector]; +} + +@end + diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBMacros.h b/Example/Pods/RZDataBinding/RZDataBinding/RZDBMacros.h new file mode 100644 index 0000000..0a7fff6 --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBMacros.h @@ -0,0 +1,103 @@ +// +// RZDBMacros.h +// +// Created by Rob Visentin on 3/18/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef __RZDBMacros__ +#define __RZDBMacros__ + +//////////////////////////////////////// +//// //// +//// Logging //// +//// //// +//////////////////////////////////////// + +/** + * The method that should be used to log errors in RZDataBinding that are non-fatal, + * but may be useful in debugging. You might choose for example to `#define RZDBLog DDLogInfo`. + * The method defined must take exactly two parameters, a format string, and a variable list of arguments. + * By default, log messages are sent using NSLog. + */ +#ifndef RZDBLog +#define RZDBLog NSLog +#endif + +//////////////////////////////////////// +//// //// +//// Key Path creation Macros //// +//// //// +//////////////////////////////////////// + +/** + * Convenience macros for creating keypaths. An invalid keypath will throw a compile-time error when compiling in debug mode. + * + * The first parameter of these macros is used only for compile-time validation of the keypath. + * + * @return An NSString containing the keypath. + * + * @example RZDB_KP(NSObject, description.length) -> @"description.length" + * RZDB_KP_OBJ(MyLabel, text) -> @"text" + * RZDB_KP_SELF(user.firstName) -> @"user.firstName" + */ +#if DEBUG +#define RZDB_KP(Classname, keypath) ({\ +Classname *_rzdb_keypath_obj; \ +__unused __typeof(_rzdb_keypath_obj.keypath) _rzdb_keypath_prop; \ +@#keypath; \ +}) + +#define RZDB_KP_OBJ(object, keypath) ({\ +__typeof(object) _rzdb_keypath_obj; \ +__unused __typeof(_rzdb_keypath_obj.keypath) _rzdb_keypath_prop; \ +@#keypath; \ +}) + +#define RZDB_KP_PROTOCOL(ProtocolName, keypath) ({\ +id _rzdb_keypath_obj; \ +__unused __typeof(_rzdb_keypath_obj.keypath) _rzdb_keypath_prop; \ +@#keypath; \ +}) +#else +#define RZDB_KP(Classname, keypath) (@#keypath) +#define RZDB_KP_OBJ(self, keypath) (@#keypath) +#define RZDB_KP_PROTOCOL(ProtocolName, keypath) (@#keypath) +#endif + +/** + * @note This macro will implicitly retain self from within blocks while running in debug mode. + * The safe way to generate a keypath on self from within a block + * is to define a weak reference to self outside the block, and then use RZDB_KP_OBJ(weakSelf, keypath). + */ +#define RZDB_KP_SELF(keypath) RZDB_KP_OBJ(self, keypath) + +/** + * Concatenate two keypath strings. + * + * keypath1 and keypath2 must be NSStrings like, for example, the ones created by the other RZDB keypath generation macros. + * The result is another NSString concatenating the two keypaths, but there is no implicit check that the key path exists. + */ +#define RZDB_KP_CONCAT(keypath1, keypath2) [keypath1 stringByAppendingFormat:@".%@", keypath2] + +#endif /** __RZDBMacros__ defined */ diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.h b/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.h new file mode 100644 index 0000000..c298b6a --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.h @@ -0,0 +1,81 @@ +// +// RZDataBinding.h +// +// Created by Rob Visentin on 4/7/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +#pragma mark - Definitions + +/** + * A transform that takes a value as a parameter and returns an object. + * + * @param value The value that just changed on a foreign object for a bound key path. + * + * @return The value to set for the bound key. Ideally the returned value should depend solely on the input value. + */ +typedef id (^RZDBKeyBindingTransform)(id value); + +#pragma mark - Convenience Constants + +/** + * If value is nil, returns @(0), otherwise returns value. + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBNilToZeroTransform; + +/** + * If value is nil, returns @(1), otherwise returns value. + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBNilToOneTransform; + +/** + * If value is nil, returns NSValue with CGSizeZero, otherwise returns value. + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBNilToCGSizeZeroTransform; + +/** + * If value is nil, returns NSValue with CGRectZero, otherwise returns value. + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBNilToCGRectZeroTransform; + +/** + * If value is nil, returns NSValue with CGRectNull, otherwise returns value. + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBNilToCGRectNullTransform; + +/** + * Returns @(![value boolValue]) + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBLogicalNegateTransform; + +/** + * Returns @(1.0 - [value doubleValue]) + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBOneMinusTransform; + +/** + * Returns @(~[value longLongValue]) + */ +OBJC_EXTERN RZDBKeyBindingTransform const kRZDBBitwiseComplementTransform; diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.m b/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.m new file mode 100644 index 0000000..0d374a8 --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBTransforms.m @@ -0,0 +1,71 @@ +// +// RZDataBinding.m +// +// Created by Rob Visentin on 4/7/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import + +#import "RZDBTransforms.h" + +RZDBKeyBindingTransform const kRZDBNilToZeroTransform = ^(id value) { + return (value == nil) ? @(0) : value; +}; + +RZDBKeyBindingTransform const kRZDBNilToOneTransform = ^(id value) { + return (value == nil) ? @(1) : value; +}; + +RZDBKeyBindingTransform const kRZDBNilToCGSizeZeroTransform = ^(id value) { + if ( value == nil ) { + value = [NSValue valueWithBytes:&CGSizeZero objCType:@encode(CGSize)]; + } + return value; +}; + +RZDBKeyBindingTransform const kRZDBNilToCGRectZeroTransform = ^(id value) { + if ( value == nil ) { + value = [NSValue valueWithBytes:&CGRectZero objCType:@encode(CGRect)]; + } + return value; +}; + +RZDBKeyBindingTransform const kRZDBNilToCGRectNullTransform = ^(id value) { + if ( value == nil ) { + value = [NSValue valueWithBytes:&CGRectNull objCType:@encode(CGRect)]; + } + return value; +}; + +RZDBKeyBindingTransform const kRZDBLogicalNegateTransform = ^(id value) { + return @(![value boolValue]); +}; + +RZDBKeyBindingTransform const kRZDBOneMinusTransform = ^(id value) { + return @(1.0 - [value doubleValue]); +}; + +RZDBKeyBindingTransform const kRZDBBitwiseComplementTransform = ^(id value) { + return @(~[value longLongValue]); +}; diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDataBinding.h b/Example/Pods/RZDataBinding/RZDataBinding/RZDataBinding.h new file mode 100644 index 0000000..f648066 --- /dev/null +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDataBinding.h @@ -0,0 +1,31 @@ +// +// RZDataBinding.h +// +// Created by Rob Visentin on 4/7/15. + +// Copyright 2014 Raizlabs and other contributors +// http://raizlabs.com/ +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#import "RZDBMacros.h" +#import "RZDBTransforms.h" +#import "RZDBCoalesce.h" +#import "NSObject+RZDataBinding.h" diff --git a/Example/Pods/Target Support Files/GradientButton/Info.plist b/Example/Pods/Target Support Files/GradientButton/Info.plist index c7c5924..31581ff 100644 --- a/Example/Pods/Target Support Files/GradientButton/Info.plist +++ b/Example/Pods/Target Support Files/GradientButton/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.2.0 + 0.2.5 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.markdown index 5562eda..2d54d9c 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.markdown @@ -36,4 +36,30 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## RZDataBinding + + +Copyright 2014 Raizlabs and other contributors +http://raizlabs.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.plist index 2675829..6249a69 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-acknowledgements.plist @@ -56,6 +56,36 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier + + FooterText + +Copyright 2014 Raizlabs and other contributors +http://raizlabs.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Title + RZDataBinding + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-frameworks.sh index 7a8781b..de027c4 100755 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example-frameworks.sh @@ -86,8 +86,10 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "Pods-GradientButton_Example/GradientButton.framework" install_framework "Pods-GradientButton_Example/PureLayout.framework" + install_framework "Pods-GradientButton_Example/RZDataBinding.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "Pods-GradientButton_Example/GradientButton.framework" install_framework "Pods-GradientButton_Example/PureLayout.framework" + install_framework "Pods-GradientButton_Example/RZDataBinding.framework" fi diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.debug.xcconfig index fa2c9ce..cee607b 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.debug.xcconfig @@ -1,6 +1,6 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/RZDataBinding.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" -framework "RZDataBinding" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.release.xcconfig index fa2c9ce..cee607b 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Example/Pods-GradientButton_Example.release.xcconfig @@ -1,6 +1,6 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/RZDataBinding.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "GradientButton" -framework "PureLayout" -framework "RZDataBinding" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.markdown index 4883bdb..fc540a9 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.markdown @@ -37,6 +37,32 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## RZDataBinding + + +Copyright 2014 Raizlabs and other contributors +http://raizlabs.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + ## Expecta Copyright (c) 2011-2015 Specta Team - https://github.com/specta diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.plist index 06cbc24..e7e09c6 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-acknowledgements.plist @@ -56,6 +56,36 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier + + FooterText + +Copyright 2014 Raizlabs and other contributors +http://raizlabs.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Title + RZDataBinding + Type + PSGroupSpecifier + FooterText Copyright (c) 2011-2015 Specta Team - https://github.com/specta diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-frameworks.sh index f745d19..dec665c 100755 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests-frameworks.sh @@ -86,6 +86,7 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "Pods-GradientButton_Tests/GradientButton.framework" install_framework "Pods-GradientButton_Tests/PureLayout.framework" + install_framework "Pods-GradientButton_Tests/RZDataBinding.framework" install_framework "Pods-GradientButton_Tests/Expecta.framework" install_framework "Pods-GradientButton_Tests/Expecta_Snapshots.framework" install_framework "Pods-GradientButton_Tests/FBSnapshotTestCase.framework" @@ -94,6 +95,7 @@ fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "Pods-GradientButton_Tests/GradientButton.framework" install_framework "Pods-GradientButton_Tests/PureLayout.framework" + install_framework "Pods-GradientButton_Tests/RZDataBinding.framework" install_framework "Pods-GradientButton_Tests/Expecta.framework" install_framework "Pods-GradientButton_Tests/Expecta_Snapshots.framework" install_framework "Pods-GradientButton_Tests/FBSnapshotTestCase.framework" diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.debug.xcconfig index 6ea824d..aaa4810 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.debug.xcconfig @@ -1,8 +1,8 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "GradientButton" -framework "PureLayout" -framework "Specta" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/RZDataBinding.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "GradientButton" -framework "PureLayout" -framework "RZDataBinding" -framework "Specta" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.release.xcconfig index 6ea824d..aaa4810 100644 --- a/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-GradientButton_Tests/Pods-GradientButton_Tests.release.xcconfig @@ -1,8 +1,8 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "GradientButton" -framework "PureLayout" -framework "Specta" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/GradientButton.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/RZDataBinding.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "GradientButton" -framework "PureLayout" -framework "RZDataBinding" -framework "Specta" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-GradientButton_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/RZDataBinding/Info.plist b/Example/Pods/Target Support Files/RZDataBinding/Info.plist new file mode 100644 index 0000000..1151db3 --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.0.3 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-dummy.m b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-dummy.m new file mode 100644 index 0000000..381d4cb --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_RZDataBinding : NSObject +@end +@implementation PodsDummy_RZDataBinding +@end diff --git a/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-prefix.pch b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-umbrella.h b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-umbrella.h new file mode 100644 index 0000000..b70100b --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding-umbrella.h @@ -0,0 +1,11 @@ +#import + +#import "NSObject+RZDataBinding.h" +#import "RZDataBinding.h" +#import "RZDBCoalesce.h" +#import "RZDBMacros.h" +#import "RZDBTransforms.h" + +FOUNDATION_EXPORT double RZDataBindingVersionNumber; +FOUNDATION_EXPORT const unsigned char RZDataBindingVersionString[]; + diff --git a/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.modulemap b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.modulemap new file mode 100644 index 0000000..4119535 --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.modulemap @@ -0,0 +1,6 @@ +framework module RZDataBinding { + umbrella header "RZDataBinding-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.xcconfig b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.xcconfig new file mode 100644 index 0000000..bd25314 --- /dev/null +++ b/Example/Pods/Target Support Files/RZDataBinding/RZDataBinding.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/RZDataBinding" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/GradientButton.podspec b/GradientButton.podspec index 7e7c473..b2bab29 100644 --- a/GradientButton.podspec +++ b/GradientButton.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "GradientButton" -s.version = "0.2.0" +s.version = "0.2.5" s.summary = "GradientButton is a UIBUtton subclassing with gradient support" # This description is used to generate tags and improve search results. @@ -35,4 +35,6 @@ s.resource_bundles = { # s.public_header_files = 'Pod/Classes/**/*.h' s.frameworks = 'QuartzCore' s.dependency 'PureLayout' +s.dependency 'RZDataBinding' + end diff --git a/Pod/Classes/GradientButton.m b/Pod/Classes/GradientButton.m index dd6b3f2..2e7c698 100644 --- a/Pod/Classes/GradientButton.m +++ b/Pod/Classes/GradientButton.m @@ -8,6 +8,7 @@ #import "GradientButton.h" #import "PureLayout.h" +#import @interface GradientButton() @@ -28,6 +29,8 @@ _colors = [[NSMutableArray alloc] init]; _cgColors = [[NSMutableArray alloc] init]; + + [self rz_addTarget:self action:@selector(valueChanged:) forKeyPathChange:@"bounds"]; } return self; } @@ -37,6 +40,8 @@ if (self) { _colors = [[NSMutableArray alloc] init]; _cgColors = [[NSMutableArray alloc] init]; + + [self rz_addTarget:self action:@selector(valueChanged:) forKeyPathChange:@"bounds"]; } return self; } @@ -46,6 +51,8 @@ if (self) { _colors = [[NSMutableArray alloc] init]; _cgColors = [[NSMutableArray alloc] init]; + + [self rz_addTarget:self action:@selector(valueChanged:) forKeyPathChange:@"bounds"]; } return self; } @@ -109,12 +116,19 @@ }); } +/* + NSString* const kRZDBChangeKeyObject = @"RZDBChangeObject"; + NSString* const kRZDBChangeKeyOld = @"RZDBChangeOld"; + NSString* const kRZDBChangeKeyNew = @"RZDBChangeNew"; + NSString* const kRZDBChangeKeyKeyPath = @"RZDBChangeKeyPath"; + */ -- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context -{ - if (object == self && [keyPath isEqualToString:@"bounds"]) { +- (void) valueChanged:(NSDictionary *) value { + if ([value objectForKey:kRZDBChangeKeyNew]) { if(_gradientLayer) { - [self setbackgroundLayerWithColors:_colors startPoint:_startPoint]; + dispatch_async(dispatch_get_main_queue(), ^{ + [self setbackgroundLayerWithColors:_colors startPoint:_startPoint]; + }); } } }