diff --git a/Bitrise.xcodeproj/project.pbxproj b/Bitrise.xcodeproj/project.pbxproj index db95fd40..b22b8e90 100644 --- a/Bitrise.xcodeproj/project.pbxproj +++ b/Bitrise.xcodeproj/project.pbxproj @@ -20,7 +20,6 @@ 0E42CADF20EC7A800033CD03 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0E42CADE20EC7A800033CD03 /* Assets.xcassets */; }; 0E42CAE220EC7A800033CD03 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0E42CAE020EC7A800033CD03 /* Main.storyboard */; }; 0E42CAE520EC7A800033CD03 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CAE420EC7A800033CD03 /* main.m */; }; - 0E42CAF020EC7A800033CD03 /* BitriseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CAEF20EC7A800033CD03 /* BitriseTests.m */; }; 0E42CAFF20EC7BB40033CD03 /* BRMainController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CAFE20EC7BB40033CD03 /* BRMainController.m */; }; 0E42CB0320EC89550033CD03 /* BRAppCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CB0220EC89550033CD03 /* BRAppCellView.m */; }; 0E42CB0620EC896B0033CD03 /* BRBuildCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CB0520EC896B0033CD03 /* BRBuildCellView.m */; }; @@ -28,7 +27,6 @@ 0E42CB0E20EC8AFD0033CD03 /* bitrise.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CB0C20EC8AFD0033CD03 /* bitrise.xcdatamodeld */; }; 0E51715C21D2074E000D470E /* BRBuildMenuController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E51715B21D2074E000D470E /* BRBuildMenuController.m */; }; 0E51715F21D20E96000D470E /* BRActionDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E51715E21D20E96000D470E /* BRActionDispatcher.m */; }; - 0E51716421D2AE29000D470E /* BRRequestBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E51716321D2AE29000D470E /* BRRequestBuilder.m */; }; 0E5C720E20F90A5B00E5A082 /* BRObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5C720D20F90A5B00E5A082 /* BRObserver.m */; }; 0E73597720EDF0A0007E15A7 /* BRContainerBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E73597620EDF0A0007E15A7 /* BRContainerBuilder.m */; }; 0E73597A20EDF5D5007E15A7 /* BRAccountsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E73597920EDF5D5007E15A7 /* BRAccountsViewController.m */; }; @@ -50,6 +48,18 @@ 0E93B70520F09A85001A6C15 /* BRSyncCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E93B70420F09A85001A6C15 /* BRSyncCommand.m */; }; 0E93B70920F0D110001A6C15 /* BRBuildInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E93B70820F0D110001A6C15 /* BRBuildInfo.m */; }; 0E93B70D20F0F9BB001A6C15 /* BRAccount+Mapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E93B70C20F0F9BB001A6C15 /* BRAccount+Mapping.m */; }; + 0EB3ED4A21E336BD003F0364 /* BRStorageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED4921E336BD003F0364 /* BRStorageTests.m */; }; + 0EB3ED4B21E33976003F0364 /* BRStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E93B6F620F0837B001A6C15 /* BRStorage.m */; }; + 0EB3ED4D21E33A1D003F0364 /* bitrise.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 0E42CB0C20EC8AFD0033CD03 /* bitrise.xcdatamodeld */; }; + 0EB3ED4E21E3453F003F0364 /* BRAccount+Mapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E93B70C20F0F9BB001A6C15 /* BRAccount+Mapping.m */; }; + 0EB3ED4F21E3453F003F0364 /* BRBuild+Mapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EFD891420F1FDE10023FCCE /* BRBuild+Mapping.m */; }; + 0EB3ED5021E3453F003F0364 /* BRApp+Mapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EFD893C20F4893B0023FCCE /* BRApp+Mapping.m */; }; + 0EB3ED5521E617FB003F0364 /* BRAPIRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED5421E617FA003F0364 /* BRAPIRequest.m */; }; + 0EB3ED5821E619F7003F0364 /* BRRebuildRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED5721E619F7003F0364 /* BRRebuildRequest.m */; }; + 0EB3ED7021E7B7F4003F0364 /* BRAbortRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED6F21E7B7F4003F0364 /* BRAbortRequest.m */; }; + 0EB3ED7321E7BC92003F0364 /* BRBuildsRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED7221E7BC92003F0364 /* BRBuildsRequest.m */; }; + 0EB3ED7621E88E8C003F0364 /* BRAppsRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED7521E88E8C003F0364 /* BRAppsRequest.m */; }; + 0EB3ED7921E890E1003F0364 /* BRAccountRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3ED7821E890E1003F0364 /* BRAccountRequest.m */; }; 0ECFF27721CD186E005EC4A4 /* BRSyncResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ECFF27621CD186E005EC4A4 /* BRSyncResult.m */; }; 0ECFF27A21CD1C10005EC4A4 /* BRSyncDiff.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ECFF27921CD1C10005EC4A4 /* BRSyncDiff.m */; }; 0EDC5DE321BBBB0A00AD41FE /* ASQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EDC5DDF21BBBB0A00AD41FE /* ASQueue.m */; }; @@ -109,7 +119,6 @@ 0E42CAE420EC7A800033CD03 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 0E42CAE620EC7A800033CD03 /* Bitrise.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Bitrise.entitlements; sourceTree = ""; }; 0E42CAEB20EC7A800033CD03 /* BitriseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BitriseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 0E42CAEF20EC7A800033CD03 /* BitriseTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BitriseTests.m; sourceTree = ""; }; 0E42CAF120EC7A800033CD03 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0E42CAFD20EC7BB40033CD03 /* BRMainController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRMainController.h; sourceTree = ""; }; 0E42CAFE20EC7BB40033CD03 /* BRMainController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRMainController.m; sourceTree = ""; }; @@ -125,8 +134,6 @@ 0E51715B21D2074E000D470E /* BRBuildMenuController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRBuildMenuController.m; sourceTree = ""; }; 0E51715D21D20E96000D470E /* BRActionDispatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRActionDispatcher.h; sourceTree = ""; }; 0E51715E21D20E96000D470E /* BRActionDispatcher.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRActionDispatcher.m; sourceTree = ""; }; - 0E51716221D2AE29000D470E /* BRRequestBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRRequestBuilder.h; sourceTree = ""; }; - 0E51716321D2AE29000D470E /* BRRequestBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRRequestBuilder.m; sourceTree = ""; }; 0E5C720C20F90A5B00E5A082 /* BRObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRObserver.h; sourceTree = ""; }; 0E5C720D20F90A5B00E5A082 /* BRObserver.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRObserver.m; sourceTree = ""; }; 0E73597520EDF0A0007E15A7 /* BRContainerBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRContainerBuilder.h; sourceTree = ""; }; @@ -171,6 +178,19 @@ 0E93B70C20F0F9BB001A6C15 /* BRAccount+Mapping.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "BRAccount+Mapping.m"; sourceTree = ""; }; 0E9F413320FEF8BF0083D646 /* BRCommand.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRCommand.h; sourceTree = ""; }; 0E9F413720FEFA6A0083D646 /* BRMacro.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRMacro.h; sourceTree = ""; }; + 0EB3ED4921E336BD003F0364 /* BRStorageTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRStorageTests.m; sourceTree = ""; }; + 0EB3ED5321E617FA003F0364 /* BRAPIRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRAPIRequest.h; sourceTree = ""; }; + 0EB3ED5421E617FA003F0364 /* BRAPIRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRAPIRequest.m; sourceTree = ""; }; + 0EB3ED5621E619F7003F0364 /* BRRebuildRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRRebuildRequest.h; sourceTree = ""; }; + 0EB3ED5721E619F7003F0364 /* BRRebuildRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRRebuildRequest.m; sourceTree = ""; }; + 0EB3ED6E21E7B7F3003F0364 /* BRAbortRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRAbortRequest.h; sourceTree = ""; }; + 0EB3ED6F21E7B7F4003F0364 /* BRAbortRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRAbortRequest.m; sourceTree = ""; }; + 0EB3ED7121E7BC92003F0364 /* BRBuildsRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRBuildsRequest.h; sourceTree = ""; }; + 0EB3ED7221E7BC92003F0364 /* BRBuildsRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRBuildsRequest.m; sourceTree = ""; }; + 0EB3ED7421E88E8B003F0364 /* BRAppsRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRAppsRequest.h; sourceTree = ""; }; + 0EB3ED7521E88E8C003F0364 /* BRAppsRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRAppsRequest.m; sourceTree = ""; }; + 0EB3ED7721E890E1003F0364 /* BRAccountRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRAccountRequest.h; sourceTree = ""; }; + 0EB3ED7821E890E1003F0364 /* BRAccountRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRAccountRequest.m; sourceTree = ""; }; 0ECFF27521CD186E005EC4A4 /* BRSyncResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRSyncResult.h; sourceTree = ""; }; 0ECFF27621CD186E005EC4A4 /* BRSyncResult.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRSyncResult.m; sourceTree = ""; }; 0ECFF27821CD1C10005EC4A4 /* BRSyncDiff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRSyncDiff.h; sourceTree = ""; }; @@ -290,7 +310,7 @@ 0E42CAEE20EC7A800033CD03 /* BitriseTests */ = { isa = PBXGroup; children = ( - 0E42CAEF20EC7A800033CD03 /* BitriseTests.m */, + 0EB3ED4821E3369D003F0364 /* Storage */, 0E42CAF120EC7A800033CD03 /* Info.plist */, ); path = BitriseTests; @@ -433,6 +453,7 @@ 0E8E9B5020F07FF400494DEB /* Networking */ = { isa = PBXGroup; children = ( + 0EB3ED5221E617E3003F0364 /* Requests */, 0E93B6FF20F08ECD001A6C15 /* Commands */, 0E8E9B5320F0819E00494DEB /* BRBitriseAPI.h */, 0E8E9B5420F0819E00494DEB /* BRBitriseAPI.m */, @@ -440,8 +461,6 @@ 0E5C720D20F90A5B00E5A082 /* BRObserver.m */, 0E51715D21D20E96000D470E /* BRActionDispatcher.h */, 0E51715E21D20E96000D470E /* BRActionDispatcher.m */, - 0E51716221D2AE29000D470E /* BRRequestBuilder.h */, - 0E51716321D2AE29000D470E /* BRRequestBuilder.m */, ); path = Networking; sourceTree = ""; @@ -495,6 +514,33 @@ path = Tools; sourceTree = ""; }; + 0EB3ED4821E3369D003F0364 /* Storage */ = { + isa = PBXGroup; + children = ( + 0EB3ED4921E336BD003F0364 /* BRStorageTests.m */, + ); + path = Storage; + sourceTree = ""; + }; + 0EB3ED5221E617E3003F0364 /* Requests */ = { + isa = PBXGroup; + children = ( + 0EB3ED5321E617FA003F0364 /* BRAPIRequest.h */, + 0EB3ED5421E617FA003F0364 /* BRAPIRequest.m */, + 0EB3ED5621E619F7003F0364 /* BRRebuildRequest.h */, + 0EB3ED5721E619F7003F0364 /* BRRebuildRequest.m */, + 0EB3ED6E21E7B7F3003F0364 /* BRAbortRequest.h */, + 0EB3ED6F21E7B7F4003F0364 /* BRAbortRequest.m */, + 0EB3ED7121E7BC92003F0364 /* BRBuildsRequest.h */, + 0EB3ED7221E7BC92003F0364 /* BRBuildsRequest.m */, + 0EB3ED7421E88E8B003F0364 /* BRAppsRequest.h */, + 0EB3ED7521E88E8C003F0364 /* BRAppsRequest.m */, + 0EB3ED7721E890E1003F0364 /* BRAccountRequest.h */, + 0EB3ED7821E890E1003F0364 /* BRAccountRequest.m */, + ); + path = Requests; + sourceTree = ""; + }; 0EDC5DDE21BBBB0A00AD41FE /* Queue */ = { isa = PBXGroup; children = ( @@ -741,7 +787,6 @@ files = ( 0E30344621CEDDD0001757C0 /* BRSettingsMenuController.m in Sources */, 0E93B70920F0D110001A6C15 /* BRBuildInfo.m in Sources */, - 0E51716421D2AE29000D470E /* BRRequestBuilder.m in Sources */, 0E73598720EF93B8007E15A7 /* BRViewController.m in Sources */, 0EE1B85E21B4363D005D5140 /* NSSet+FRP.m in Sources */, 0EEF655720F5B2AB0012C45D /* BRCellBuilder.m in Sources */, @@ -757,6 +802,7 @@ 0EE1B85D21B4363D005D5140 /* NSHashTable+FRP.m in Sources */, 0E30344921CEE218001757C0 /* BRAutorun.m in Sources */, 0E3C0B0B2117609900F2EA35 /* BRAbortCommand.m in Sources */, + 0EB3ED5821E619F7003F0364 /* BRRebuildRequest.m in Sources */, 0EFD891520F1FDE10023FCCE /* BRBuild+Mapping.m in Sources */, 0EE1B85C21B4363D005D5140 /* NSDictionary+FRP.m in Sources */, 0E3C0B0521175F0A00F2EA35 /* BRBuildActionHandler.m in Sources */, @@ -766,12 +812,14 @@ 0EDC5DE321BBBB0A00AD41FE /* ASQueue.m in Sources */, 0E42CAFF20EC7BB40033CD03 /* BRMainController.m in Sources */, 0E8E9B5520F0819E00494DEB /* BRBitriseAPI.m in Sources */, + 0EB3ED7021E7B7F4003F0364 /* BRAbortRequest.m in Sources */, 0EDC5DE421BBBB0A00AD41FE /* ASOperation.m in Sources */, 0E93B70D20F0F9BB001A6C15 /* BRAccount+Mapping.m in Sources */, 0EFD893D20F4893B0023FCCE /* BRApp+Mapping.m in Sources */, 0E3C0B022117008200F2EA35 /* BRBuildStateInfo.m in Sources */, 0E42CB0E20EC8AFD0033CD03 /* bitrise.xcdatamodeld in Sources */, 0E73597720EDF0A0007E15A7 /* BRContainerBuilder.m in Sources */, + 0EB3ED7921E890E1003F0364 /* BRAccountRequest.m in Sources */, 0EF766C021E2637900E64E0C /* BRAboutViewController.m in Sources */, 0E42CB0320EC89550033CD03 /* BRAppCellView.m in Sources */, 0EE1B86021B4363D005D5140 /* NSArray+FRP.m in Sources */, @@ -783,6 +831,8 @@ 0E7A18BE21CCE5B10096E1E6 /* BREnvironment.m in Sources */, 0E8DFB4721D7A05C00E7E5AC /* BRManagingAppCellView.m in Sources */, 0E51715C21D2074E000D470E /* BRBuildMenuController.m in Sources */, + 0EB3ED7321E7BC92003F0364 /* BRBuildsRequest.m in Sources */, + 0EB3ED5521E617FB003F0364 /* BRAPIRequest.m in Sources */, 0EFD891820F201400023FCCE /* BRAppInfo.m in Sources */, 0E93B6F720F0837B001A6C15 /* BRStorage.m in Sources */, 0E51715F21D20E96000D470E /* BRActionDispatcher.m in Sources */, @@ -794,6 +844,7 @@ 0E5C720E20F90A5B00E5A082 /* BRObserver.m in Sources */, 0E93B6FE20F085E8001A6C15 /* BRAccountInfo.m in Sources */, 0E3C0B132117627700F2EA35 /* BRCommand.m in Sources */, + 0EB3ED7621E88E8C003F0364 /* BRAppsRequest.m in Sources */, 0E3C0B0E211760AC00F2EA35 /* BRDownloadLogsCommand.m in Sources */, 0E3C0B082117607A00F2EA35 /* BRRebuildCommand.m in Sources */, ); @@ -803,8 +854,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0EB3ED4A21E336BD003F0364 /* BRStorageTests.m in Sources */, + 0EB3ED5021E3453F003F0364 /* BRApp+Mapping.m in Sources */, + 0EB3ED4E21E3453F003F0364 /* BRAccount+Mapping.m in Sources */, + 0EB3ED4B21E33976003F0364 /* BRStorage.m in Sources */, + 0EB3ED4D21E33A1D003F0364 /* bitrise.xcdatamodeld in Sources */, 0EDE7D0921B9346200A39CC4 /* BRSyncEngine.m in Sources */, - 0E42CAF020EC7A800033CD03 /* BitriseTests.m in Sources */, + 0EB3ED4F21E3453F003F0364 /* BRBuild+Mapping.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -980,9 +1036,10 @@ baseConfigurationReference = 74C0A871342AC9F3D945FEB5 /* Pods-BitriseTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KUDGTPXKVD; + DEVELOPMENT_TEAM = AM5334753U; INFOPLIST_FILE = BitriseTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -991,6 +1048,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = BR.BitriseTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Bitrise.app/Contents/MacOS/Bitrise"; }; name = Debug; @@ -1000,9 +1058,10 @@ baseConfigurationReference = 1933E73DED40E2A87EF04BC3 /* Pods-BitriseTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Mac Developer"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = KUDGTPXKVD; + DEVELOPMENT_TEAM = AM5334753U; INFOPLIST_FILE = BitriseTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1011,6 +1070,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = BR.BitriseTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Bitrise.app/Contents/MacOS/Bitrise"; }; name = Release; diff --git a/Bitrise.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist b/Bitrise.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist index 317cd9a0..399bdb3f 100644 --- a/Bitrise.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Bitrise.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,10 +12,21 @@ Bitrise.xcscheme_^#shared#^_ orderHint - 4 + 6 SuppressBuildableAutocreation - + + 0E42CAD420EC7A7E0033CD03 + + primary + + + 0E42CAEA20EC7A800033CD03 + + primary + + + diff --git a/Bitrise.xcworkspace/xcuserdata/zardoz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Bitrise.xcworkspace/xcuserdata/zardoz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 6db452c9..68afcdd6 100644 --- a/Bitrise.xcworkspace/xcuserdata/zardoz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Bitrise.xcworkspace/xcuserdata/zardoz.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -20,7 +20,7 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Bitrise/Controller/BRAccountsViewController.m" - timestampString = "568489294.475219" + timestampString = "568921711.3448499" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "131" @@ -29,21 +29,5 @@ landmarkType = "7"> - - - - diff --git a/Bitrise/Container/BRContainerBuilder.h b/Bitrise/Container/BRContainerBuilder.h index 5983450f..a60e8e35 100644 --- a/Bitrise/Container/BRContainerBuilder.h +++ b/Bitrise/Container/BRContainerBuilder.h @@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_BEGIN @interface BRContainerBuilder : NSObject - (NSPersistentContainer *)buildContainer; +- (NSPersistentContainer *)buildContainerOfType:(NSString *)type; @end diff --git a/Bitrise/Container/BRContainerBuilder.m b/Bitrise/Container/BRContainerBuilder.m index 97121dff..9b3fa093 100644 --- a/Bitrise/Container/BRContainerBuilder.m +++ b/Bitrise/Container/BRContainerBuilder.m @@ -11,6 +11,10 @@ @implementation BRContainerBuilder - (NSPersistentContainer *)buildContainer { + return [self buildContainerOfType:NSSQLiteStoreType]; +} + +- (NSPersistentContainer *)buildContainerOfType:(NSString *)type { NSPersistentContainer *container = [NSPersistentContainer persistentContainerWithName:@"bitrise"]; NSPersistentStoreDescription *storeDescription = [NSPersistentStoreDescription new]; NSURL *documentsURL = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]; @@ -27,7 +31,7 @@ - (NSPersistentContainer *)buildContainer { } storeDescription.URL = [appDirectoryURL URLByAppendingPathComponent:@"bitrise.sqlite"]; - storeDescription.type = NSSQLiteStoreType; + storeDescription.type = type; storeDescription.shouldInferMappingModelAutomatically = YES; storeDescription.shouldMigrateStoreAutomatically = YES; container.persistentStoreDescriptions = @[storeDescription]; diff --git a/Bitrise/Container/BRDependencyContainer.m b/Bitrise/Container/BRDependencyContainer.m index 654f141e..3404cc11 100644 --- a/Bitrise/Container/BRDependencyContainer.m +++ b/Bitrise/Container/BRDependencyContainer.m @@ -54,7 +54,7 @@ - (BRBitriseAPI *)bitriseAPI { } - (BRStorage *)storage { - return [[BRStorage alloc] initWithContainer:self.persistenceContainer]; + return [[BRStorage alloc] initWithContext:[self.persistenceContainer newBackgroundContext]]; } - (BRObserver *)commandObserver { diff --git a/Bitrise/Info.plist b/Bitrise/Info.plist index c8fdf248..d4c6196d 100644 --- a/Bitrise/Info.plist +++ b/Bitrise/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 0.2 CFBundleVersion - 37 + 136 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement diff --git a/Bitrise/Networking/BRBitriseAPI.h b/Bitrise/Networking/BRBitriseAPI.h index 23da3650..e079b720 100644 --- a/Bitrise/Networking/BRBitriseAPI.h +++ b/Bitrise/Networking/BRBitriseAPI.h @@ -12,6 +12,12 @@ #import "BRAppInfo.h" #import "BRBuildInfo.h" +#import "BRAccountRequest.h" +#import "BRAppsRequest.h" +#import "BRBuildsRequest.h" +#import "BRAbortRequest.h" +#import "BRRebuildRequest.h" + NS_ASSUME_NONNULL_BEGIN extern NSString * const kBRBitriseAPIDomain; @@ -23,17 +29,12 @@ typedef void (^APIActionCallback)(BOOL status, NSError * _Nullable error); @interface BRBitriseAPI : NSObject -- (void)getAccount:(NSString *)token completion:(APIAccountInfoCallback)completion; -- (void)getApps:(NSString *)token completion:(APIAppsListCallback)completion; -- (void)getBuilds:(NSString *)appSlug token:(NSString *)token after:(NSTimeInterval)after completion:(APIBuildsListCallback)completion; - -- (void)abortBuild:(NSString *)buildSlug appSlug:(NSString *)appSlug token:(NSString *)token completion:(APIActionCallback)completion; -- (void)rebuildApp:(NSString *)appSlug - buildToken:(NSString *)token - branch:(NSString *)branch - commit:(NSString *)commit - workflow:(NSString *)workflow - completion:(APIActionCallback)completion; +- (void)getAccount:(BRAccountRequest *)request completion:(APIAccountInfoCallback)completion; +- (void)getApps:(BRAppsRequest *)request completion:(APIAppsListCallback)completion; +- (void)getBuilds:(BRBuildsRequest *)request completion:(APIBuildsListCallback)completion; + +- (void)abortBuild:(BRAbortRequest *)request completion:( APIActionCallback)completion; +- (void)rebuild:(BRRebuildRequest *)request completion:(APIActionCallback)completion; @end diff --git a/Bitrise/Networking/BRBitriseAPI.m b/Bitrise/Networking/BRBitriseAPI.m index 5b7885b3..989b5003 100644 --- a/Bitrise/Networking/BRBitriseAPI.m +++ b/Bitrise/Networking/BRBitriseAPI.m @@ -9,22 +9,14 @@ #import "BRBitriseAPI.h" #import "BRMacro.h" -#import "BRRequestBuilder.h" NSString * const kBRBitriseAPIDomain = @"kBRBitriseAPIDomain"; -static NSString * const kAccountInfoEndpoint = @"https://api.bitrise.io/v0.1/me"; -static NSString * const kAppsEndpoint = @"https://api.bitrise.io/v0.1/apps"; -static NSString * const kBuildsEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds"; -static NSString * const kAbortEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds/%@/abort"; -static NSString * const kRebuildEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds/%@/rebuild"; - typedef void (^APICallback)(NSDictionary * _Nullable, NSError * _Nullable); @interface BRBitriseAPI () @property (strong, nonatomic) NSURLSession *session; -@property (strong, nonatomic) BRRequestBuilder *requestBuilder; @end @@ -35,7 +27,6 @@ - (instancetype)init { NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; config.requestCachePolicy = NSURLRequestReloadIgnoringCacheData; _session = [NSURLSession sessionWithConfiguration:config]; - _requestBuilder = [BRRequestBuilder new]; } return self; @@ -43,10 +34,10 @@ - (instancetype)init { #pragma mark - API calls - -- (void)getAccount:(NSString *)token completion:(APIAccountInfoCallback)completion { - [self runRequest:[self.requestBuilder accountRequest:token] completion:^(NSDictionary *result, NSError *error) { +- (void)getAccount:(BRAccountRequest *)request completion:(APIAccountInfoCallback)completion { + [self runRequest:request.urlRequest completion:^(NSDictionary *result, NSError *error) { if (result) { - BRAccountInfo *accountInfo = [[BRAccountInfo alloc] initWithResponse:result token:token]; + BRAccountInfo *accountInfo = [[BRAccountInfo alloc] initWithResponse:result token:request.token]; completion(accountInfo, nil); } else { completion(nil, error); @@ -54,8 +45,8 @@ - (void)getAccount:(NSString *)token completion:(APIAccountInfoCallback)completi }]; } -- (void)getApps:(NSString *)token completion:(APIAppsListCallback)completion { - [self runRequest:[self.requestBuilder appsRequest:token] completion:^(NSDictionary *result, NSError *error) { +- (void)getApps:(BRAppsRequest *)request completion:(APIAppsListCallback)completion { + [self runRequest:request.urlRequest completion:^(NSDictionary *result, NSError *error) { if (result) { __block NSMutableArray *apps = [NSMutableArray array]; [result[@"data"] enumerateObjectsUsingBlock:^(NSDictionary *appData, NSUInteger idx, BOOL *stop) { @@ -69,8 +60,8 @@ - (void)getApps:(NSString *)token completion:(APIAppsListCallback)completion { }]; } -- (void)getBuilds:(NSString *)appSlug token:(NSString *)token after:(NSTimeInterval)after completion:(APIBuildsListCallback)completion { - [self runRequest:[self.requestBuilder buildsRequest:appSlug token:token after:after] completion:^(NSDictionary *result, NSError *error) { +- (void)getBuilds:(BRBuildsRequest *)request completion:(APIBuildsListCallback)completion { + [self runRequest:request.urlRequest completion:^(NSDictionary *result, NSError *error) { if (result) { __block NSMutableArray *builds = [NSMutableArray array]; [result[@"data"] enumerateObjectsUsingBlock:^(NSDictionary *buildData, NSUInteger idx, BOOL *stop) { @@ -84,24 +75,14 @@ - (void)getBuilds:(NSString *)appSlug token:(NSString *)token after:(NSTimeInter }]; } -- (void)abortBuild:(NSString *)buildSlug appSlug:(NSString *)appSlug token:(NSString *)token completion:( APIActionCallback)completion { - [self runRequest:[self.requestBuilder abortRequest:buildSlug appSlug:appSlug token:token] completion:^(NSDictionary *result, NSError *error) { +- (void)abortBuild:(BRAbortRequest *)request completion:( APIActionCallback)completion { + [self runRequest:request.urlRequest completion:^(NSDictionary *result, NSError *error) { BR_SAFE_CALL(completion, YES, error); }]; } -- (void)rebuildApp:(NSString *)appSlug - buildToken:(NSString *)token - branch:(NSString *)branch - commit:(NSString *)commit - workflow:(NSString *)workflow - completion:(APIActionCallback)completion { - NSURLRequest *request = [self.requestBuilder rebuildRequest:appSlug - buildToken:token - branch:branch - commit:commit - workflow:workflow]; - [self runRequest:request completion:^(NSDictionary *response, NSError *error) { +- (void)rebuild:(BRRebuildRequest *)request completion:(APIActionCallback)completion { + [self runRequest:request.urlRequest completion:^(NSDictionary *response, NSError *error) { BR_SAFE_CALL(completion, response != nil, error); }]; } diff --git a/Bitrise/Networking/BRRequestBuilder.h b/Bitrise/Networking/BRRequestBuilder.h deleted file mode 100644 index 248df12c..00000000 --- a/Bitrise/Networking/BRRequestBuilder.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// BRRequestBuilder.h -// BitBot -// -// Created by Deszip on 25/12/2018. -// Copyright © 2018 BitBot. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface BRRequestBuilder : NSObject - -- (NSURLRequest *)accountRequest:(NSString *)token; - -- (NSURLRequest *)appsRequest:(NSString *)token; - -- (NSURLRequest *)buildsRequest:(NSString *)slug - token:(NSString *)token - after:(NSTimeInterval)after; - -- (NSURLRequest *)abortRequest:(NSString *)buildSlug - appSlug:(NSString *)appSlug - token:(NSString *)token; - -- (NSURLRequest *)rebuildRequest:(NSString *)appSlug - buildToken:(NSString *)buildToken - branch:(NSString *)branch - commit:(NSString *)commit - workflow:(NSString *)workflow; -@end - -NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/BRRequestBuilder.m b/Bitrise/Networking/BRRequestBuilder.m deleted file mode 100644 index b9016eb8..00000000 --- a/Bitrise/Networking/BRRequestBuilder.m +++ /dev/null @@ -1,101 +0,0 @@ -// -// BRRequestBuilder.m -// BitBot -// -// Created by Deszip on 25/12/2018. -// Copyright © 2018 BitBot. All rights reserved. -// - -#import "BRRequestBuilder.h" - -static NSString * const kAccountInfoEndpoint = @"https://api.bitrise.io/v0.1/me"; -static NSString * const kAppsEndpoint = @"https://api.bitrise.io/v0.1/apps"; -static NSString * const kBuildsEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds"; -static NSString * const kAbortEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds/%@/abort"; -static NSString * const kStartBuildEndpoint = @"https://app.bitrise.io/app/%@/build/start.json"; - -@implementation BRRequestBuilder - -- (NSURLRequest *)accountRequest:(NSString *)token { - return [self requestWithEndpoint:[NSURL URLWithString:kAccountInfoEndpoint] token:token]; -} - -- (NSURLRequest *)appsRequest:(NSString *)token { - return [self requestWithEndpoint:[NSURL URLWithString:kAppsEndpoint] token:token]; -} - -- (NSURLRequest *)buildsRequest:(NSString *)slug token:(NSString *)token after:(NSTimeInterval)after { - NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kBuildsEndpoint, slug]]; - - if (after > 0) { - NSURLComponents *components = [NSURLComponents componentsWithURL:endpoint resolvingAgainstBaseURL:NO]; - [components setQueryItems:@[[NSURLQueryItem queryItemWithName:@"after" value:[@(after) stringValue]]]]; - endpoint = [components URL]; - } - - NSURLRequest *request = [self requestWithEndpoint:endpoint token:token]; - - return request; -} - -- (NSURLRequest *)abortRequest:(NSString *)buildSlug appSlug:(NSString *)appSlug token:(NSString *)token { - NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kAbortEndpoint, appSlug, buildSlug]]; - NSMutableURLRequest *request = [[self requestWithEndpoint:endpoint token:token] mutableCopy]; - [request setHTTPMethod:@"POST"]; - NSError *serializationError; - NSData *requestData = [NSJSONSerialization dataWithJSONObject:@{ @"abort_reason": @"foo", - @"abort_with_success": @YES, - @"skip_notifications": @YES } - options:0 - error:&serializationError]; - if (requestData) { - [request setHTTPBody:requestData]; - return [request copy]; - } - - return nil; -} - -- (NSURLRequest *)rebuildRequest:(NSString *)appSlug - buildToken:(NSString *)buildToken - branch:(NSString *)branch - commit:(NSString *)commit - workflow:(NSString *)workflow { - NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kStartBuildEndpoint, appSlug]]; - NSMutableURLRequest *request = [[self requestWithEndpoint:endpoint token:nil] mutableCopy]; - [request setHTTPMethod:@"POST"]; - NSError *serializationError; - - NSMutableDictionary *params = [@{ @"hook_info": @{ @"type" : @"bitrise", - @"build_trigger_token" : buildToken }, - @"build_params": [@{ @"branch" : branch } mutableCopy] } mutableCopy]; - if (commit) { - params[@"build_params"][@"commit_hash"] = commit; - } - if (workflow) { - params[@"build_params"][@"workflow_id"] = workflow; - } - - NSData *requestData = [NSJSONSerialization dataWithJSONObject:params - options:0 - error:&serializationError]; - if (requestData) { - [request setHTTPBody:requestData]; - return [request copy]; - } - - return nil; -} - -- (NSURLRequest *)requestWithEndpoint:(NSURL *)endpoint token:(NSString *)token { - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:endpoint]; - if (token) { - NSString *tokenString = [NSString stringWithFormat:@"token %@", token]; - [request setValue:tokenString forHTTPHeaderField:@"Authorization"]; - } - - return [request copy]; -} - - -@end diff --git a/Bitrise/Networking/Commands/Account/BRRemoveAccountCommand.m b/Bitrise/Networking/Commands/Account/BRRemoveAccountCommand.m index 5099e7af..2d4e5bb4 100644 --- a/Bitrise/Networking/Commands/Account/BRRemoveAccountCommand.m +++ b/Bitrise/Networking/Commands/Account/BRRemoveAccountCommand.m @@ -29,7 +29,11 @@ - (instancetype)initWithAPI:(BRBitriseAPI *)api storage:(BRStorage *)storage slu } - (void)execute:(BRCommandResult)callback { - [self.storage removeAccount:self.slug completion:callback]; + [self.storage perform:^{ + NSError *error; + BOOL result = [self.storage removeAccount:self.slug error:&error]; + BR_SAFE_CALL(callback, result, error); + }]; } @end diff --git a/Bitrise/Networking/Commands/Actions/BRAbortCommand.m b/Bitrise/Networking/Commands/Actions/BRAbortCommand.m index 191c6ca6..dff08327 100644 --- a/Bitrise/Networking/Commands/Actions/BRAbortCommand.m +++ b/Bitrise/Networking/Commands/Actions/BRAbortCommand.m @@ -8,6 +8,8 @@ #import "BRAbortCommand.h" +#import "BRAbortRequest.h" + @interface BRAbortCommand () @property (strong, nonatomic) BRBitriseAPI *api; @@ -31,7 +33,10 @@ - (instancetype)initWithAPI:(BRBitriseAPI *)api build:(BRBuild *)build { } - (void)execute:(BRCommandResult)callback { - [self.api abortBuild:self.buildSlug appSlug:self.appSlug token:self.token completion:^(BOOL status, NSError *error) { + BRAbortRequest *request = [[BRAbortRequest alloc] initWithToken:self.token + appSlug:self.appSlug + buildSlug:self.buildSlug]; + [self.api abortBuild:request completion:^(BOOL status, NSError *error) { BR_SAFE_CALL(callback, status, error); }]; } diff --git a/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.h b/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.h index 8494ddac..fa4a4ff1 100644 --- a/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.h +++ b/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.h @@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN @interface BRDownloadLogsCommand : BRCommand +- (instancetype)initWithBuildSlug:(NSString *)buildSlug; + @end NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.m b/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.m index c3c16725..2ceb2465 100644 --- a/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.m +++ b/Bitrise/Networking/Commands/Actions/BRDownloadLogsCommand.m @@ -8,6 +8,27 @@ #import "BRDownloadLogsCommand.h" +@interface BRDownloadLogsCommand () + +@property (copy, nonatomic) NSString *buildSlug; + +@end + @implementation BRDownloadLogsCommand +- (instancetype)initWithBuildSlug:(NSString *)buildSlug { + if (self = [super init]) { + _buildSlug = buildSlug; + } + + return self; +} + +- (void)execute:(BRCommandResult)callback { + NSString *downloadPath = [NSString stringWithFormat:@"https://app.bitrise.io/api/build/%@/logs.json?&download=log", self.buildSlug]; + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:downloadPath]]; + + BR_SAFE_CALL(callback, YES, nil); +} + @end diff --git a/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.h b/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.h index d259dc88..c8516f37 100644 --- a/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.h +++ b/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.h @@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN @interface BROpenBuildCommand : BRCommand +- (instancetype)initWithBuildSlug:(NSString *)buildSlug; + @end NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.m b/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.m index f6a95fb3..648e9f03 100644 --- a/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.m +++ b/Bitrise/Networking/Commands/Actions/BROpenBuildCommand.m @@ -8,6 +8,27 @@ #import "BROpenBuildCommand.h" +@interface BROpenBuildCommand () + +@property (copy, nonatomic) NSString *buildSlug; + +@end + @implementation BROpenBuildCommand +- (instancetype)initWithBuildSlug:(NSString *)buildSlug { + if (self = [super init]) { + _buildSlug = buildSlug; + } + + return self; +} + +- (void)execute:(BRCommandResult)callback { + NSString *buildPath = [NSString stringWithFormat:@"https://app.bitrise.io/build/%@", self.buildSlug]; + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:buildPath]]; + + BR_SAFE_CALL(callback, YES, nil); +} + @end diff --git a/Bitrise/Networking/Commands/Actions/BRRebuildCommand.m b/Bitrise/Networking/Commands/Actions/BRRebuildCommand.m index 9651a285..c310990b 100644 --- a/Bitrise/Networking/Commands/Actions/BRRebuildCommand.m +++ b/Bitrise/Networking/Commands/Actions/BRRebuildCommand.m @@ -8,11 +8,13 @@ #import "BRRebuildCommand.h" +#import "BRRebuildRequest.h" + @interface BRRebuildCommand () @property (strong, nonatomic) BRBitriseAPI *api; @property (copy, nonatomic) NSString *appSlug; -@property (copy, nonatomic) NSString *buildToken; +@property (copy, nonatomic) NSString *token; @property (copy, nonatomic) NSString *branch; @property (copy, nonatomic) NSString *commit; @property (copy, nonatomic) NSString *workflow; @@ -25,7 +27,7 @@ - (instancetype)initWithAPI:(BRBitriseAPI *)api build:(BRBuild *)build { if (self = [super init]) { _api = api; _appSlug = build.app.slug; - _buildToken = build.app.buildToken; + _token = build.app.account.token; _branch = build.branch; _commit = build.commitHash; _workflow = build.workflow; @@ -35,12 +37,11 @@ - (instancetype)initWithAPI:(BRBitriseAPI *)api build:(BRBuild *)build { } - (void)execute:(BRCommandResult)callback { - [self.api rebuildApp:self.appSlug - buildToken:self.buildToken - branch:self.branch - commit:self.commit - workflow:self.workflow - completion:^(BOOL status, NSError *error) { + BRRebuildRequest *request = [[BRRebuildRequest alloc] initWithToken:self.token appSlug:self.appSlug branch:self.branch]; + [request setCommit:self.commit]; + [request setWorkflow:self.workflow]; + + [self.api rebuild:request completion:^(BOOL status, NSError * _Nullable error) { BR_SAFE_CALL(callback, status, error); }]; } diff --git a/Bitrise/Networking/Requests/BRAPIRequest.h b/Bitrise/Networking/Requests/BRAPIRequest.h new file mode 100644 index 00000000..2623a508 --- /dev/null +++ b/Bitrise/Networking/Requests/BRAPIRequest.h @@ -0,0 +1,32 @@ +// +// BRAPIRequest.h +// Bitrise +// +// Created by Deszip on 09/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +extern NSString * const kAccountInfoEndpoint; +extern NSString * const kAppsEndpoint; +extern NSString * const kBuildsEndpoint; +extern NSString * const kAbortEndpoint; +extern NSString * const kStartBuildEndpoint; + +@interface BRAPIRequest : NSObject + +@property (copy, nonatomic, readonly) NSString *token; +@property (strong, nonatomic, readonly) NSURL *endpoint; +@property (strong, nonatomic, readonly, nullable) NSData *requestBody; + +- (instancetype)initWithEndpoint:(NSURL *)endpoint token:(NSString *)token body:(NSData * _Nullable)body; + +- (NSString *)method; +- (NSURLRequest *)urlRequest; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRAPIRequest.m b/Bitrise/Networking/Requests/BRAPIRequest.m new file mode 100644 index 00000000..f76f6e8a --- /dev/null +++ b/Bitrise/Networking/Requests/BRAPIRequest.m @@ -0,0 +1,45 @@ +// +// BRAPIRequest.m +// Bitrise +// +// Created by Deszip on 09/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NSString * const kAccountInfoEndpoint = @"https://api.bitrise.io/v0.1/me"; +NSString * const kAppsEndpoint = @"https://api.bitrise.io/v0.1/apps"; +NSString * const kBuildsEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds"; +NSString * const kAbortEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds/%@/abort"; +NSString * const kStartBuildEndpoint = @"https://api.bitrise.io/v0.1/apps/%@/builds"; + +@implementation BRAPIRequest + +- (instancetype)initWithEndpoint:(NSURL *)endpoint token:(NSString *)token body:(NSData *)body { + if (self = [super init]) { + _endpoint = endpoint; + _token = token; + _requestBody = body; + } + + return self; +} + +- (NSString *)method { + return @"GET"; +} + +- (NSURLRequest *)urlRequest { + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:self.endpoint]; + if (self.token) { + NSString *tokenString = [NSString stringWithFormat:@"token %@", self.token]; + [request setValue:tokenString forHTTPHeaderField:@"Authorization"]; + } + [request setHTTPBody:[self requestBody]]; + [request setHTTPMethod:[self method]]; + + return [request copy]; +} + +@end diff --git a/Bitrise/Networking/Requests/BRAbortRequest.h b/Bitrise/Networking/Requests/BRAbortRequest.h new file mode 100644 index 00000000..d15bfefb --- /dev/null +++ b/Bitrise/Networking/Requests/BRAbortRequest.h @@ -0,0 +1,19 @@ +// +// BRAbortRequest.h +// Bitrise +// +// Created by Deszip on 10/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface BRAbortRequest : BRAPIRequest + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug buildSlug:(NSString *)buildSlug NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRAbortRequest.m b/Bitrise/Networking/Requests/BRAbortRequest.m new file mode 100644 index 00000000..c1633971 --- /dev/null +++ b/Bitrise/Networking/Requests/BRAbortRequest.m @@ -0,0 +1,38 @@ +// +// BRAbortRequest.m +// Bitrise +// +// Created by Deszip on 10/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAbortRequest.h" + +static NSString * const kAbortReasonKey = @"abort_reason"; +static NSString * const kAbortSuccessKey = @"abort_with_success"; +static NSString * const kAbortNotificationsKey = @"skip_notifications"; + +@implementation BRAbortRequest + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug buildSlug:(NSString *)buildSlug { + NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kAbortEndpoint, appSlug, buildSlug]]; + return [super initWithEndpoint:endpoint token:token body:nil]; +} + +- (NSString *)method { + return @"POST"; +} + +- (NSData *)requestBody { + NSError *serializationError; + NSData *requestData = [NSJSONSerialization dataWithJSONObject:@{ kAbortReasonKey: @"BitBot aborted", + kAbortSuccessKey: @YES, + kAbortNotificationsKey: @YES } + options:0 + error:&serializationError]; + + return requestData; +} + + +@end diff --git a/Bitrise/Networking/Requests/BRAccountRequest.h b/Bitrise/Networking/Requests/BRAccountRequest.h new file mode 100644 index 00000000..c8c40dcd --- /dev/null +++ b/Bitrise/Networking/Requests/BRAccountRequest.h @@ -0,0 +1,19 @@ +// +// BRAccountRequest.h +// Bitrise +// +// Created by Deszip on 11/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface BRAccountRequest : BRAPIRequest + +- (instancetype)initWithToken:(NSString *)token; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRAccountRequest.m b/Bitrise/Networking/Requests/BRAccountRequest.m new file mode 100644 index 00000000..498674de --- /dev/null +++ b/Bitrise/Networking/Requests/BRAccountRequest.m @@ -0,0 +1,17 @@ +// +// BRAccountRequest.m +// Bitrise +// +// Created by Deszip on 11/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAccountRequest.h" + +@implementation BRAccountRequest + +- (instancetype)initWithToken:(NSString *)token { + return [super initWithEndpoint:[NSURL URLWithString:kAccountInfoEndpoint] token:token body:nil]; +} + +@end diff --git a/Bitrise/Networking/Requests/BRAppsRequest.h b/Bitrise/Networking/Requests/BRAppsRequest.h new file mode 100644 index 00000000..48efe067 --- /dev/null +++ b/Bitrise/Networking/Requests/BRAppsRequest.h @@ -0,0 +1,19 @@ +// +// BRAppsRequest.h +// Bitrise +// +// Created by Deszip on 11/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface BRAppsRequest : BRAPIRequest + +- (instancetype)initWithToken:(NSString *)token; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRAppsRequest.m b/Bitrise/Networking/Requests/BRAppsRequest.m new file mode 100644 index 00000000..9cefb70f --- /dev/null +++ b/Bitrise/Networking/Requests/BRAppsRequest.m @@ -0,0 +1,17 @@ +// +// BRAppsRequest.m +// Bitrise +// +// Created by Deszip on 11/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAppsRequest.h" + +@implementation BRAppsRequest + +- (instancetype)initWithToken:(NSString *)token { + return [super initWithEndpoint:[NSURL URLWithString:kAppsEndpoint] token:token body:nil]; +} + +@end diff --git a/Bitrise/Networking/Requests/BRBuildsRequest.h b/Bitrise/Networking/Requests/BRBuildsRequest.h new file mode 100644 index 00000000..409be3eb --- /dev/null +++ b/Bitrise/Networking/Requests/BRBuildsRequest.h @@ -0,0 +1,19 @@ +// +// BRBuildsRequest.h +// Bitrise +// +// Created by Deszip on 10/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface BRBuildsRequest : BRAPIRequest + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug syncTime:(NSTimeInterval)syncTime; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRBuildsRequest.m b/Bitrise/Networking/Requests/BRBuildsRequest.m new file mode 100644 index 00000000..4cda9f29 --- /dev/null +++ b/Bitrise/Networking/Requests/BRBuildsRequest.m @@ -0,0 +1,26 @@ +// +// BRBuildsRequest.m +// Bitrise +// +// Created by Deszip on 10/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRBuildsRequest.h" + +static NSString * const kAfterKey = @"afetr"; + +@implementation BRBuildsRequest + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug syncTime:(NSTimeInterval)syncTime { + NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kBuildsEndpoint, appSlug]]; + if (syncTime > 0) { + NSURLComponents *components = [NSURLComponents componentsWithURL:endpoint resolvingAgainstBaseURL:NO]; + [components setQueryItems:@[[NSURLQueryItem queryItemWithName:kAfterKey value:[@(syncTime) stringValue]]]]; + endpoint = [components URL]; + } + + return [super initWithEndpoint:endpoint token:token body:nil]; +} + +@end diff --git a/Bitrise/Networking/Requests/BRRebuildRequest.h b/Bitrise/Networking/Requests/BRRebuildRequest.h new file mode 100644 index 00000000..096c5e7d --- /dev/null +++ b/Bitrise/Networking/Requests/BRRebuildRequest.h @@ -0,0 +1,23 @@ +// +// BRRebuildRequest.h +// Bitrise +// +// Created by Deszip on 09/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRAPIRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface BRRebuildRequest : BRAPIRequest + +@property (copy, nonatomic) NSString *branch; +@property (copy, nonatomic) NSString *commit; +@property (copy, nonatomic) NSString *workflow; + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug branch:(NSString *)branch NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Bitrise/Networking/Requests/BRRebuildRequest.m b/Bitrise/Networking/Requests/BRRebuildRequest.m new file mode 100644 index 00000000..c19219d7 --- /dev/null +++ b/Bitrise/Networking/Requests/BRRebuildRequest.m @@ -0,0 +1,49 @@ +// +// BRRebuildRequest.m +// Bitrise +// +// Created by Deszip on 09/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import "BRRebuildRequest.h" + +static NSString * const kHookInfoKey = @"hook_info"; +static NSString * const kHookInfoTypeKey = @"type"; +static NSString * const kParamsKey = @"build_params"; +static NSString * const kBranchKey = @"branch"; +static NSString * const kCommitKey = @"commit_hash"; +static NSString * const kWorkflowKey = @"workflow_id"; +static NSString * const kTriggerKey = @"triggered_by"; + +@implementation BRRebuildRequest + +- (instancetype)initWithToken:(NSString *)token appSlug:(NSString *)appSlug branch:(NSString *)branch { + NSURL *endpoint = [NSURL URLWithString:[NSString stringWithFormat:kStartBuildEndpoint, appSlug]]; + if (self = [super initWithEndpoint:endpoint token:token body:nil]) { + _branch = branch; + } + + return self; +} + +- (NSString *)method { + return @"POST"; +} + +- (NSData *)requestBody { + NSError *serializationError; + NSMutableDictionary *params = [@{ kHookInfoKey: @{ kHookInfoTypeKey : @"bitrise" }, + kParamsKey: [@{ kBranchKey : self.branch } mutableCopy], + kTriggerKey: @"bitbot" } mutableCopy]; + if (self.commit) { + params[kParamsKey][kCommitKey] = self.commit; + } + if (self.workflow) { + params[kParamsKey][kWorkflowKey] = self.workflow; + } + + return [NSJSONSerialization dataWithJSONObject:params options:0 error:&serializationError]; +} + +@end diff --git a/Bitrise/Storage/BRStorage.h b/Bitrise/Storage/BRStorage.h index 41fc2c6e..20ddb66b 100644 --- a/Bitrise/Storage/BRStorage.h +++ b/Bitrise/Storage/BRStorage.h @@ -20,15 +20,14 @@ typedef void(^BRStorageResult)(BOOL result, NSError * _Nullable error); @interface BRStorage : NSObject -- (instancetype)initWithContainer:(NSPersistentContainer *)container; +- (instancetype)initWithContext:(NSManagedObjectContext *)context; - (void)perform:(void (^)(void))action; #pragma mark - Accounts - - (NSArray *)accounts:(NSError * __autoreleasing *)error; -- (BRAccount *)accountWithToken:(NSString *)token error:(NSError * __autoreleasing *)error; -- (void)saveAccount:(BRAccountInfo *)accountInfo; -- (void)removeAccount:(NSString *)slug completion:(BRStorageResult)completion; +- (BOOL)saveAccount:(BRAccountInfo *)accountInfo error:(NSError * __autoreleasing *)error; +- (BOOL)removeAccount:(NSString *)slug error:(NSError * __autoreleasing *)error; #pragma mark - Apps - - (BOOL)updateApps:(NSArray *)appsInfo forAccount:(BRAccount *)account error:(NSError * __autoreleasing *)error; diff --git a/Bitrise/Storage/BRStorage.m b/Bitrise/Storage/BRStorage.m index 86f2854c..5b286ea6 100644 --- a/Bitrise/Storage/BRStorage.m +++ b/Bitrise/Storage/BRStorage.m @@ -19,17 +19,15 @@ @interface BRStorage () -@property (strong, nonatomic) NSPersistentContainer *container; @property (strong, nonatomic) NSManagedObjectContext *context; @end @implementation BRStorage -- (instancetype)initWithContainer:(NSPersistentContainer *)container { +- (instancetype)initWithContext:(NSManagedObjectContext *)context { if (self = [super init]) { - _container = container; - _context = [container newBackgroundContext]; + _context = context; [_context setAutomaticallyMergesChangesFromParent:YES]; } @@ -53,48 +51,27 @@ - (void)perform:(void (^)(void))action { return accounts; } -- (BRAccount *)accountWithToken:(NSString *)token error:(NSError * __autoreleasing *)error { - NSFetchRequest *request = [BRAccount fetchRequest]; - request.predicate = [NSPredicate predicateWithFormat:@"token = %@", token]; - NSArray *accounts = [self.context executeFetchRequest:request error:error]; +- (BOOL)saveAccount:(BRAccountInfo *)accountInfo error:(NSError * __autoreleasing *)error { + BRAccount *account = [EKManagedObjectMapper objectFromExternalRepresentation:accountInfo.rawResponce withMapping:[BRAccount objectMapping] inManagedObjectContext:self.context]; + account.token = accountInfo.token; - if (accounts.count == 1) { - return accounts.firstObject; - } - - return nil; + return [self saveContext:self.context error:error]; } -- (void)saveAccount:(BRAccountInfo *)accountInfo { - [self.context performBlock:^{ - [self.context setAutomaticallyMergesChangesFromParent:YES]; - BRAccount *account = [EKManagedObjectMapper objectFromExternalRepresentation:accountInfo.rawResponce withMapping:[BRAccount objectMapping] inManagedObjectContext:self.context]; - account.token = accountInfo.token; - - NSError *error; - [self saveContext:self.context error:&error]; - }]; -} - -- (void)removeAccount:(NSString *)slug completion:(BRStorageResult)completion { - [self.context performBlock:^{ - NSFetchRequest *request = [BRAccount fetchRequest]; - request.predicate = [NSPredicate predicateWithFormat:@"slug = %@", slug]; - - NSError *requestError = nil; - NSArray *accounts = [self.context executeFetchRequest:request error:&requestError]; - if (accounts) { - [accounts enumerateObjectsUsingBlock:^(BRAccount *nextAccount, NSUInteger idx, BOOL *stop) { - [self.context deleteObject:nextAccount]; - }]; - if (![self saveContext:self.context error:&requestError]) { - BR_SAFE_CALL(completion, NO, requestError); - } - } else { - NSLog(@"Failed to fetch account: %@", requestError); - BR_SAFE_CALL(completion, NO, requestError); - } - }]; +- (BOOL)removeAccount:(NSString *)slug error:(NSError * __autoreleasing *)error { + NSFetchRequest *request = [BRAccount fetchRequest]; + request.predicate = [NSPredicate predicateWithFormat:@"slug = %@", slug]; + + NSError *requestError = nil; + NSArray *accounts = [self.context executeFetchRequest:request error:&requestError]; + if (accounts.count > 0) { + [accounts enumerateObjectsUsingBlock:^(BRAccount *nextAccount, NSUInteger idx, BOOL *stop) { + [self.context deleteObject:nextAccount]; + }]; + return [self saveContext:self.context error:error]; + } else { + return NO; + } } #pragma mark - Apps - @@ -105,7 +82,7 @@ - (BOOL)updateApps:(NSArray *)appsInfo forAccount:(BRAccount *)acc NSError *requestError = nil; NSArray *accounts = [self.context executeFetchRequest:request error:&requestError]; if (accounts.count == 1) { - // Fetch outdated account apps + // Fetch and remove outdated account apps NSFetchRequest *request = [BRApp fetchRequest]; NSArray *appSlugs = [appsInfo valueForKeyPath:@"slug"]; request.predicate = [NSPredicate predicateWithFormat:@"account.slug == %@ AND NOT (slug IN %@)", account.slug, appSlugs]; @@ -115,6 +92,7 @@ - (BOOL)updateApps:(NSArray *)appsInfo forAccount:(BRAccount *)acc [self.context deleteObject:app]; }]; + // Insert new apps [appsInfo enumerateObjectsUsingBlock:^(BRAppInfo *appInfo, NSUInteger idx, BOOL *stop) { BRApp *app = [EKManagedObjectMapper objectFromExternalRepresentation:appInfo.rawResponse withMapping:[BRApp objectMapping] inManagedObjectContext:self.context]; app.account = accounts[0]; @@ -123,7 +101,6 @@ - (BOOL)updateApps:(NSArray *)appsInfo forAccount:(BRAccount *)acc return YES; } else { - NSLog(@"Failed to save apps: %@", requestError); return NO; } } @@ -141,7 +118,7 @@ - (BOOL)addBuildToken:(NSString *)token toApp:(NSString *)appSlug error:(NSError request.predicate = [NSPredicate predicateWithFormat:@"slug == %@", appSlug]; NSArray *apps = [self.context executeFetchRequest:request error:error]; - if (apps.count == 1 && token) { + if (apps.count == 1) { [apps.firstObject setBuildToken:token]; return [self saveContext:self.context error:error]; } @@ -169,7 +146,7 @@ - (BRBuild *)latestBuild:(BRApp *)app error:(NSError * __autoreleasing *)error { NSArray *builds = [self.context executeFetchRequest:request error:error]; - if (builds.count == 1) { + if (builds.count > 0) { return [builds firstObject]; } diff --git a/Bitrise/Sync/BRAddAccountOperation.m b/Bitrise/Sync/BRAddAccountOperation.m index 836f2a7d..a2a93327 100644 --- a/Bitrise/Sync/BRAddAccountOperation.m +++ b/Bitrise/Sync/BRAddAccountOperation.m @@ -9,6 +9,7 @@ #import "BRAddAccountOperation.h" #import "BRSyncOperation.h" +#import "BRAccountRequest.h" @interface BRAddAccountOperation () @@ -35,17 +36,21 @@ - (void)start { [super start]; [self.storage perform:^{ - [self.api getAccount:self.token completion:^(BRAccountInfo *accountInfo, NSError *error) { + BRAccountRequest *request = [[BRAccountRequest alloc] initWithToken:self.token]; + [self.api getAccount:request completion:^(BRAccountInfo *accountInfo, NSError *error) { if (!accountInfo) { [super finish]; return; } - [self.storage saveAccount:accountInfo]; + NSError *fetchError; + BOOL result = [self.storage saveAccount:accountInfo error:&fetchError]; + if (result) { + // Dispatch sync + BRSyncOperation *syncOperation = [[BRSyncOperation alloc] initWithStorage:self.storage api:self.api]; + [self.queue addOperation:syncOperation]; + } - // Dispatch sync - BRSyncOperation *syncOperation = [[BRSyncOperation alloc] initWithStorage:self.storage api:self.api]; - [self.queue addOperation:syncOperation]; [super finish]; }]; }]; diff --git a/Bitrise/Sync/BRSyncOperation.m b/Bitrise/Sync/BRSyncOperation.m index 7db093df..d7ae7e21 100644 --- a/Bitrise/Sync/BRSyncOperation.m +++ b/Bitrise/Sync/BRSyncOperation.m @@ -13,6 +13,9 @@ #import "BRBuild+CoreDataClass.h" #import "BRSyncDiff.h" +#import "BRAppsRequest.h" +#import "BRBuildsRequest.h" + @interface BRSyncOperation () @property (strong, nonatomic) BRStorage *storage; @@ -60,7 +63,8 @@ - (void)start { dispatch_group_enter(self.group); - [self.api getApps:account.token completion:^(NSArray *appsInfo, NSError *error) { + BRAppsRequest *appsRequest = [[BRAppsRequest alloc] initWithToken:account.token]; + [self.api getApps:appsRequest completion:^(NSArray *appsInfo, NSError *error) { if (!appsInfo) { NSLog(@"Failed to get apps from API: %@", error); [super finish]; @@ -111,7 +115,9 @@ - (void)updateBuilds:(BRApp *)app token:(NSString *)token runningBuilds:(NSArray dispatch_group_enter(self.group); NSTimeInterval fetchTime = [self fetchTime:app]; - [self.api getBuilds:app.slug token:token after:fetchTime completion:^(NSArray *builds, NSError *error) { + BRBuildsRequest *request = [[BRBuildsRequest alloc] initWithToken:token appSlug:app.slug syncTime:fetchTime]; + + [self.api getBuilds:request completion:^(NSArray *builds, NSError *error) { if (builds) { if (self.syncCallback) { BRSyncDiff *diff = [self diffForBuilds:builds runningBuilds:runningBuildSlugs]; diff --git a/Bitrise/View/Menus/BRAccountsMenuController.m b/Bitrise/View/Menus/BRAccountsMenuController.m index bee4b31b..d5999223 100644 --- a/Bitrise/View/Menus/BRAccountsMenuController.m +++ b/Bitrise/View/Menus/BRAccountsMenuController.m @@ -44,8 +44,7 @@ - (void)bind:(NSMenu *)menu toOutline:(NSOutlineView *)outline { self.deleteItem = [[NSMenuItem alloc] initWithTitle:@"Delete account" action:@selector(deleteAccount) keyEquivalent:@""]; [self.deleteItem setTarget:self]; - self.keyItem = [[NSMenuItem alloc] initWithTitle:@"Add build key..." action:@selector(addBuildKey) keyEquivalent:@""]; - [self.keyItem setTarget:self]; + [self.menu insertItem:self.deleteItem atIndex:0]; } - (void)deleteAccount { @@ -55,13 +54,6 @@ - (void)deleteAccount { } } -- (void)addBuildKey { - id selectedItem = [self.outlineView itemAtRow:[self.outlineView clickedRow]]; - if ([selectedItem isKindOfClass:[BRApp class]]) { - BR_SAFE_CALL(self.actionCallback, BRAppMenuActionAddKey, [(BRApp *)selectedItem slug]); - } -} - #pragma mark - NSMenuItemValidation - - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { @@ -72,14 +64,11 @@ - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { - (void)menuWillOpen:(NSMenu *)menu { [self.menu removeAllItems]; - + id selectedItem = [self.outlineView itemAtRow:[self.outlineView clickedRow]]; if ([selectedItem isKindOfClass:[BRAccount class]]) { [self.menu insertItem:self.deleteItem atIndex:0]; } - if ([selectedItem isKindOfClass:[BRApp class]]) { - [self.menu insertItem:self.keyItem atIndex:0]; - } } @end diff --git a/Bitrise/View/Menus/BRBuildMenuController.m b/Bitrise/View/Menus/BRBuildMenuController.m index 919d9bcc..4ef27758 100644 --- a/Bitrise/View/Menus/BRBuildMenuController.m +++ b/Bitrise/View/Menus/BRBuildMenuController.m @@ -13,6 +13,8 @@ #import "BRAbortCommand.h" #import "BRRebuildCommand.h" #import "BRSyncCommand.h" +#import "BRDownloadLogsCommand.h" +#import "BROpenBuildCommand.h" static const NSUInteger kMenuItemsCount = 4; typedef NS_ENUM(NSUInteger, BRBuildMenuItem) { @@ -94,16 +96,16 @@ - (void)abort { - (void)downloadLog { id selectedItem = [self.outlineView itemAtRow:[self.outlineView clickedRow]]; if ([selectedItem isKindOfClass:[BRBuild class]]) { - NSString *downloadPath = [NSString stringWithFormat:@"https://app.bitrise.io/api/build/%@/logs.json?&download=log", [(BRBuild *)selectedItem slug]]; - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:downloadPath]]; + BRDownloadLogsCommand *command = [[BRDownloadLogsCommand alloc] initWithBuildSlug:[(BRBuild *)selectedItem slug]]; + [command execute:nil]; } } - (void)openBuild { id selectedItem = [self.outlineView itemAtRow:[self.outlineView clickedRow]]; if ([selectedItem isKindOfClass:[BRBuild class]]) { - NSString *downloadPath = [NSString stringWithFormat:@"https://app.bitrise.io/build/%@", [(BRBuild *)selectedItem slug]]; - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:downloadPath]]; + BROpenBuildCommand *command = [[BROpenBuildCommand alloc] initWithBuildSlug:[(BRBuild *)selectedItem slug]]; + [command execute:nil]; } } @@ -117,10 +119,9 @@ - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { BOOL buildInProgress = buildInfo.stateInfo.state == BRBuildStateInProgress; BOOL buildCouldBeAborted = buildInfo.stateInfo.state == BRBuildStateInProgress || buildInfo.stateInfo.state == BRBuildStateHold; - BOOL buildCouldBeRestarted = (!buildInProgress && [[(BRBuild *)selectedItem app] buildToken] != nil); switch (menuItem.tag) { - case BRBuildMenuItemRebuild: return buildCouldBeRestarted; + case BRBuildMenuItemRebuild: return !buildInProgress; case BRBuildMenuItemAbort: return buildCouldBeAborted; case BRBuildMenuItemDownload: return !buildInProgress; case BRBuildMenuItemOpenBuild: return YES; diff --git a/BitriseTests/BitriseTests.m b/BitriseTests/BitriseTests.m deleted file mode 100644 index e220391a..00000000 --- a/BitriseTests/BitriseTests.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// BitBotTests.m -// BitBotTests -// -// Created by Deszip on 04/07/2018. -// Copyright © 2018 BitBot. All rights reserved. -// - -#import - -@interface BitriseTests : XCTestCase - -@end - -@implementation BitriseTests - -- (void)setUp { - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -@end diff --git a/BitriseTests/Storage/BRStorageTests.m b/BitriseTests/Storage/BRStorageTests.m new file mode 100644 index 00000000..9ecf7197 --- /dev/null +++ b/BitriseTests/Storage/BRStorageTests.m @@ -0,0 +1,305 @@ +// +// BRStorageTests.m +// BitriseTests +// +// Created by Deszip on 07/01/2019. +// Copyright © 2019 Bitrise. All rights reserved. +// + +#import +#import +#import "Expecta/Expecta.h" + +#import +#import + +#import "BRContainerBuilder.h" +#import "BRStorage.h" + +static NSString * const kAccountSlug = @"account_slug"; +static NSString * const kAccountToken = @"account_token"; +static NSString * const kAccountTokenInvalid = @"account_token_invalid"; + +static NSString * const kAppSlug1 = @"app_slug_1"; +static NSString * const kAppSlug2 = @"app_slug_2"; +static NSString * const kAppSlugInvalid = @"app_slug_invalid"; +static NSString * const kAppBuildToken = @"app_build_token"; + +static NSString * const kBuildSlug1 = @"build_slug_1"; +static NSString * const kBuildSlug2 = @"build_slug_2"; + +@interface BRStorageTests : XCTestCase + +@property (strong, nonatomic) NSPersistentContainer *container; +@property (strong, nonatomic) NSManagedObjectContext *context; +@property (strong, nonatomic) BRStorage *storage; + +@end + +@implementation BRStorageTests + +- (void)setUp { + [super setUp]; + + self.container = [[BRContainerBuilder new] buildContainerOfType:NSInMemoryStoreType]; + self.context = [self.container newBackgroundContext]; + self.storage = [[BRStorage alloc] initWithContext:self.context]; +} + +- (void)tearDown { + self.container = nil; + self.context = nil; + self.storage = nil; + + [super tearDown]; +} + +#pragma mark - Accounts - + +- (void)testStorageFetchesEmptyAccountsList { + [self executeOnStorage:^{ + NSError *error; + NSArray *accounts = [self.storage accounts:&error]; + expect(accounts.count).to.equal(0); + }]; +} + +- (void)testStorageFetchesAccounts { + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + [self executeOnStorage:^{ + NSError *error; + NSArray *accounts = [self.storage accounts:&error]; + + expect(accounts.count).to.equal(1); + expect(accounts[0].token).to.equal(kAccountToken); + }]; +} + +- (void)testStorageSavesAccount { + [self executeOnStorage:^{ + NSError *error; + [self.storage saveAccount:[self accountInfo] error:&error]; + expect(error).to.beNil(); + + NSArray *accounts = [self.storage accounts:&error]; + expect(accounts.count).to.equal(1); + expect(accounts[0].token).to.equal(kAccountToken); + }]; +} + +- (void)testStorageRemovesAccount { + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + [self executeOnStorage:^{ + NSError *error; + BOOL result = [self.storage removeAccount:kAccountSlug error:&error]; + expect(error).to.beNil(); + expect(result).to.beTruthy(); + + NSArray *accounts = [self.storage accounts:&error]; + expect(error).to.beNil(); + expect(accounts.count).to.equal(0); + }]; +} + +- (void)testStorageHandlesIvalidAccountRemoval { + [self executeOnStorage:^{ + NSError *error; + BOOL result = [self.storage removeAccount:kAccountSlug error:&error]; + expect(error).to.beNil(); + expect(result).to.beFalsy(); + }]; +} + +#pragma mark - Apps - + +- (void)testStorageAddsApps { + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + [self executeOnStorage:^{ + NSArray *accounts = [self.storage accounts:nil]; + NSError *error; + [self.storage updateApps:@[[self appInfoWithSlug:kAppSlug1]] forAccount:accounts[0] error:&error]; + + NSArray *apps = [self.storage appsForAccount:accounts[0] error:&error]; + expect(apps.count).to.equal(1); + }]; +} + +- (void)testStorageRemovesOutdatedApps { + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + [self executeOnStorage:^{ + // Insert app 1 + NSArray *accounts = [self.storage accounts:nil]; + NSError *error; + [self.storage updateApps:@[[self appInfoWithSlug:kAppSlug1]] forAccount:accounts[0] error:&error]; + + // Update with app 2 + [self.storage updateApps:@[[self appInfoWithSlug:kAppSlug2]] forAccount:accounts[0] error:&error]; + + // Verify only app 2 left in storage + NSArray *apps = [self.storage appsForAccount:accounts[0] error:&error]; + expect(apps.count).to.equal(1); + expect(apps[0].slug).to.equal(kAppSlug2); + }]; +} + +- (void)testStorageIgnoresDuplicateAccounts { + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + [self executeOnStorage:^{ + NSArray *accounts = [self.storage accounts:nil]; + NSError *error; + BOOL result = [self.storage updateApps:@[[self appInfoWithSlug:kAppSlug1]] forAccount:accounts[0] error:&error]; + + expect(result).to.beFalsy(); + }]; +} + +- (void)testStorageFetchesApps { + [self executeOnStorage:^{ + BRAccount *account = [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + [self buildAppWithSlug:kAppSlug1 forAccount:account]; + + NSError *error; + NSArray *apps = [self.storage appsForAccount:account error:&error]; + expect(apps.count).to.equal(1); + expect(apps[0].slug).to.equal(kAppSlug1); + }]; +} + +- (void)testStorageFetchesEmptyAppsList { + [self executeOnStorage:^{ + BRAccount *account = [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + + NSError *error; + NSArray *apps = [self.storage appsForAccount:account error:&error]; + expect(apps.count).to.equal(0); + }]; +} + +- (void)testStorageAddsBuildToken { + [self executeOnStorage:^{ + BRAccount *account = [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + [self buildAppWithSlug:kAppSlug1 forAccount:account]; + + NSError *error; + BOOL result = [self.storage addBuildToken:kAppBuildToken toApp:kAppSlug1 error:&error]; + NSArray *apps = [self.storage appsForAccount:account error:&error]; + expect(result).to.beTruthy(); + expect(apps[0].buildToken).to.equal(kAppBuildToken); + }]; +} + +- (void)testStorageIgnoresAppDuplicate { + [self executeOnStorage:^{ + BRAccount *account = [self buildAccountWithToken:kAccountToken slug:kAccountSlug]; + [self buildAppWithSlug:kAppSlug1 forAccount:account]; + [self buildAppWithSlug:kAppSlug1 forAccount:account]; + + NSError *error; + BOOL result = [self.storage addBuildToken:kAppBuildToken toApp:kAppSlug1 error:&error]; + NSArray *apps = [self.storage appsForAccount:account error:&error]; + expect(result).to.beFalsy(); + expect(apps[0].buildToken).to.beNil(); + }]; +} + +#pragma mark - Builds - + +- (void)testStorageFetchesRunningBuilds { + [self executeOnStorage:^{ + [self buildWithSlug:kBuildSlug1 staus:@(0)]; + [self buildWithSlug:kBuildSlug2 staus:@(1)]; + NSError *error; + NSArray *builds = [self.storage runningBuilds:&error]; + + expect(builds.count).to.equal(1); + expect(error).to.beNil(); + expect(builds[0].status.integerValue).to.equal(0); + }]; +} + +- (void)testStorageSortsRunningBuilds { + [self executeOnStorage:^{ + [self buildWithSlug:kBuildSlug1 staus:@(0)]; + [self buildWithSlug:kBuildSlug2 staus:@(0)]; + NSError *error; + NSArray *builds = [self.storage runningBuilds:&error]; + + expect(builds.count).to.equal(2); + + // Verify build at index 0 is the latest started + BOOL ordered = [[builds[0].triggerTime earlierDate:builds[1].triggerTime] isEqualToDate:builds[1].triggerTime]; + expect(ordered).to.beTruthy(); + }]; +} + +- (void)testStorageReturnsNilIfNoRunningBuilds { + [self executeOnStorage:^{ + NSError *error; + NSArray *builds = [self.storage runningBuilds:&error]; + + expect(builds.count).to.equal(0); + expect(error).to.beNil(); + }]; +} + +#pragma mark - Builders - + +- (BRAccount *)buildAccountWithToken:(NSString *)token slug:(NSString *)slug { + BRAccount *account = [NSEntityDescription insertNewObjectForEntityForName:@"BRAccount" inManagedObjectContext:self.context]; + account.token = token; + account.slug = slug; + + [self.context save:nil]; + + return account; +} + +- (BRApp *)buildAppWithSlug:(NSString *)slug forAccount:(BRAccount *)account { + BRApp *app = [NSEntityDescription insertNewObjectForEntityForName:@"BRApp" inManagedObjectContext:self.context]; + app.slug = slug; + app.account = account; + + [self.context save:nil]; + + return app; +} + +- (BRBuild *)buildWithSlug:(NSString *)slug staus:(NSNumber *)status { + BRBuild *build = [NSEntityDescription insertNewObjectForEntityForName:@"BRBuild" inManagedObjectContext:self.context]; + build.slug = slug; + build.status = status; + build.triggerTime = [NSDate date]; + + [self.context save:nil]; + + return build; +} + +- (BRAccountInfo *)accountInfo { + return [[BRAccountInfo alloc] initWithResponse:@{ @"slug" : kAccountSlug } token:kAccountToken]; +} + +- (BRAppInfo *)appInfoWithSlug:(NSString *)slug { + return [[BRAppInfo alloc] initWithResponse:@{ @"slug" : slug }]; +} + +#pragma mark - Tools - + +- (void)executeOnStorage:(void (^)(void))action { + XCTestExpectation *e = [self expectationWithDescription:@""]; + + [self.storage perform:^{ + action(); + [e fulfill]; + }]; + + [self waitForExpectations:@[e] timeout:0.1]; +} + +@end diff --git a/Podfile b/Podfile index f37a8f5c..7844cc3c 100644 --- a/Podfile +++ b/Podfile @@ -1,13 +1,17 @@ platform :osx, '10.13' target 'Bitrise' do - # use_frameworks! + # use_frameworks! pod 'EasyMapping' pod 'SDWebImage' target 'BitriseTests' do inherit! :search_paths + + pod 'OCMock', '~> 3.4.3' + pod 'Expecta', '~> 1.0.6' + end end diff --git a/Podfile.lock b/Podfile.lock index ed73c848..c41bfa1f 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,23 +2,31 @@ PODS: - EasyMapping (0.22.0): - EasyMapping/Core (= 0.22.0) - EasyMapping/Core (0.22.0) + - Expecta (1.0.6) + - OCMock (3.4.3) - SDWebImage (4.4.2): - SDWebImage/Core (= 4.4.2) - SDWebImage/Core (4.4.2) DEPENDENCIES: - EasyMapping + - Expecta (~> 1.0.6) + - OCMock (~> 3.4.3) - SDWebImage SPEC REPOS: https://github.com/cocoapods/specs.git: - EasyMapping + - Expecta + - OCMock - SDWebImage SPEC CHECKSUMS: EasyMapping: 60f8b3cac9a9d2b76a75e2b96f556480de103601 + Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 + OCMock: 43565190abc78977ad44a61c0d20d7f0784d35ab SDWebImage: 624d6e296c69b244bcede364c72ae0430ac14681 -PODFILE CHECKSUM: 7e5b58c83d9d8a7dd6292d77705b2d36b5101c1f +PODFILE CHECKSUM: dbf0894165567eefb22cf9ce70132ba5e99783b4 COCOAPODS: 1.5.3 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index ed73c848..c41bfa1f 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -2,23 +2,31 @@ PODS: - EasyMapping (0.22.0): - EasyMapping/Core (= 0.22.0) - EasyMapping/Core (0.22.0) + - Expecta (1.0.6) + - OCMock (3.4.3) - SDWebImage (4.4.2): - SDWebImage/Core (= 4.4.2) - SDWebImage/Core (4.4.2) DEPENDENCIES: - EasyMapping + - Expecta (~> 1.0.6) + - OCMock (~> 3.4.3) - SDWebImage SPEC REPOS: https://github.com/cocoapods/specs.git: - EasyMapping + - Expecta + - OCMock - SDWebImage SPEC CHECKSUMS: EasyMapping: 60f8b3cac9a9d2b76a75e2b96f556480de103601 + Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 + OCMock: 43565190abc78977ad44a61c0d20d7f0784d35ab SDWebImage: 624d6e296c69b244bcede364c72ae0430ac14681 -PODFILE CHECKSUM: 7e5b58c83d9d8a7dd6292d77705b2d36b5101c1f +PODFILE CHECKSUM: dbf0894165567eefb22cf9ce70132ba5e99783b4 COCOAPODS: 1.5.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index e09d2a7e..efe5696d 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,97 +7,256 @@ objects = { /* Begin PBXBuildFile section */ - 013426C893567BFCCBDCA9C77AB5E175 /* SDWebImageImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A2677078FA632408ED005CB413A1F2B /* SDWebImageImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02B36AD5D5843B9578120D2DB9108B5E /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 49ED795E93B8748D907919C3620FAD7D /* UIView+WebCacheOperation.m */; }; - 0471E00091B54F2CADCBBF1DCC15D376 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B20F2D58E3BE041D2D43E748517A421B /* UIImageView+HighlightedWebCache.m */; }; - 05351582F728072D6BF3DBBC351899A4 /* NSImage+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A7836AE2241FB1429BB3A363B43EB9F /* NSImage+WebCache.m */; }; - 065B7C82D7B4482EAE8F4C2F6CD7A263 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = B069B262892668073C6C801C3D8C2BC8 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0AE00F18FE655A6F9C63B4260F4E708F /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 24CE5DE199661A642241BDB2D51FCF39 /* UIImage+ForceDecode.m */; }; - 0BEFBDC128F714DC2DB8572EBC3434E1 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E4B1A0669AE64C815933D62DDB81FF2F /* SDImageCache.m */; }; - 0D3A089494273183127BE94D1DDCE17E /* EKObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = FD1E4502F64989E74EB27A495E006DE6 /* EKObjectModel.m */; }; - 0DB26806C67F5D2E1B509FE7BC23065B /* EKMappingProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 41C0E4B2EFB1B406237819B19EE4B592 /* EKMappingProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EB3274E256FA473AC7D113A085D70A5 /* EKSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 67CB8A71CDDD7B8B9A8AD56D7C4C90B8 /* EKSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1041E78ECAAD9075DB5CBC639F282C78 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 97E0EAC5C9CB2BAB2363E5CF18A27489 /* SDWebImageCompat.m */; }; - 105006D4911C66FE1CE7E53966AF63F2 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = D5AC678469C5D6DC2F6E3943A0DC3F1C /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 130B72B826F86B62502411DFF352F9F0 /* EKMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = A3F003E35D678CC4530B30E279A68CFA /* EKMapper.m */; }; - 156066E6C5F3D8E4481D448A1995EE39 /* NSImage+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E4EF34C2DC921865BA51DE6160E5036 /* NSImage+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19CD678E6F40A2D2B85DEF3FEAF84795 /* EKManagedObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = C74D91A119EF6672D2257B83BE90EB62 /* EKManagedObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B485FC9A7C98730D246ACDD80C5B782 /* EKManagedObjectMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF1451DB7CC4BC24594CA733686D479 /* EKManagedObjectMapping.m */; }; - 1F9E952965C0496B755CD52C62546BAD /* SDWebImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 95617D116D78DB1D662113A9BE34F30F /* SDWebImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2221AD97DD28CF3C8B83674A23137077 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 79CC63404CE367AD4EE92A1DC88F525C /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 229156507EA33FADC476AE4197BD9338 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 28791766E11BF2CA632F354B7E082BF2 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 270D9E3BE65697B9F6273A49DDFFF38D /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 471AB6582915B9CC2D5157B047E4CF8A /* ImageIO.framework */; }; - 2BC0740C8E9B308060C634E5AAF36545 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9713B399FDC5DA026B8E523318ACD42B /* SDWebImageDownloaderOperation.m */; }; - 2FD99AFD7963B5B743380F965B7F85AC /* EKManagedObjectMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 46ED7DEAECD1FD9D9BEEBC4F12788A96 /* EKManagedObjectMapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32D33B3147E9D9F929EA4C2377032053 /* NSArray+FlattenArray.m in Sources */ = {isa = PBXBuildFile; fileRef = D1CC7BB8062E9FDB2EE849AC74ECA8BF /* NSArray+FlattenArray.m */; }; - 3991152712E17C320DE363FB045D7189 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A4CBF2ACC3325AB112D2957B0B77D1E /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A353C9A023D5F3D23879485F93AA65B /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = C69FD56DA88B4C1E1CC6262249D61AEC /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B0BC51B80D74C4E31CE1A9CAC7B4FFE /* EKManagedObjectMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 603712D14D80F39AD7631A80A6E3A5C9 /* EKManagedObjectMapper.m */; }; - 3C125B430F9D1E7466028F89AD5EF28D /* EKManagedObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 341007074D7230B5245B1F3D43A82730 /* EKManagedObjectModel.m */; }; - 45DF7E08CCAF9A23E97A4093E02DAFCE /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4BF23213A64B76FD6CDBA6019A6D67 /* SDWebImageManager.m */; }; - 46D1D08CBC807AB214E8658E006398CE /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 14349E2DC16CBD9A08C539551F1FC95B /* SDWebImageDownloader.m */; }; - 479548F021347EC70633BA590DC44B37 /* EasyMapping-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4D5C963D59E0FD4C14805DFEB10492 /* EasyMapping-dummy.m */; }; - 4C5588E6921BF75A9B75FC49CF1C0D0A /* EKMappingBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = DB8BBAB989F43B15A01AB8A4D3E05FC3 /* EKMappingBlocks.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4EFB4AE78DE5FAE16E0D264D75FFD9F5 /* EKMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = EB1B615F1841C042317FAD865DABAA82 /* EKMapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 53AAC99A4C4707651B004C5BD7743F27 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0621348ECC1EDB1FA1BA942E2E34B0BB /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5BAD98052D6FD4454E46727DC8E9AB32 /* EKCoreDataImporter.h in Headers */ = {isa = PBXBuildFile; fileRef = BF1F2C2D98C6E2853D979F1CCDB4C770 /* EKCoreDataImporter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5BE04E5269FF0F0A9068E76F3BA414BB /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = B0A539E466E94B9AF254A6A6F514BCA5 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CB6451CEFBCBEA66856669955D1BEEE /* EKCoreDataImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = C22D268A68F0BE556E5337FB4A10BCFE /* EKCoreDataImporter.m */; }; - 68F2807E48144F76729AC935FDE9E9AE /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = EC5294C4764A090587B40BD1DD7B0D96 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6C5AEE957C9AEF48D85836F3D2B4D0A8 /* SDWebImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = FB4B3C06C2FDE8463CFF990AAFE4F4BB /* SDWebImageCoder.m */; }; - 6CEB383945213555E8A2AF529C70B884 /* SDWebImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = EC06F117D5AE5F665FBFC4E4C52C89DF /* SDWebImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E24485FED2AA01E7A93B59BE284F121 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 465F7B5FDFBE22CE76525286BC835D7C /* UIImageView+WebCache.m */; }; - 704920ACA60BC78C69BAB91D12D06ABE /* EKMappingBlocks.m in Sources */ = {isa = PBXBuildFile; fileRef = 7156420514291EF70224F109A2AC5560 /* EKMappingBlocks.m */; }; - 71A8B939BA34146D18EC6EC59E081C0A /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = E3E3423091003F622D9E912A1CA67260 /* UIImage+MultiFormat.m */; }; - 744B6C3209256ADABE3E2C5783CA54D1 /* EKSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C84BA44880534390C4C0D8633580A74 /* EKSerializer.m */; }; - 74E3CA16C8C831F5F476F11ABDDCCFED /* SDWebImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = F47FAE03EE7440FEBDBF580725C47929 /* SDWebImageCoderHelper.m */; }; - 772755409F15BA2EAFBA3D7084AC28A5 /* EasyMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C82843A27F42FD7F7F7D7E12DBEBC9 /* EasyMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 81A955E12077F14A6FF879ECCDB668ED /* SDWebImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FFB0E58DC42DCEB92E80879F9BE5F7E /* SDWebImageGIFCoder.m */; }; - 85057FC878B3EF8DC1EE93FCEA56EDE9 /* EKManagedObjectMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = D16B324DCFB08CBE25B025F8FB18DE95 /* EKManagedObjectMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8653B4EA2C002C6957596DA428DEFF8C /* SDWebImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3D6F1BC152EEA2BDA247DE45653C6D /* SDWebImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8691765F3C0ECAAFCA60290C73F0D00D /* EKObjectMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BE766F76B535FEC1761DA9FF2D0C4E4 /* EKObjectMapping.m */; }; - 86A016CB944110848A0F3B696B28609A /* EKPropertyHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 883BCA9A536FBF0CAA22B9BEF12651B0 /* EKPropertyHelper.m */; }; - 8EAF25695B72D34F8DC187882C55F74C /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CC8F2E2658D0E7CB11301768999EA4C /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8FE2D124D0130FC6FDE7C575EB44DCEE /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = E8E891A52FBBF31D18E137CE0A999704 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 952CB4213F0A655DCF9B2F6C22021DF6 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = EB25A4A1D151D89792F35A2755577DA2 /* SDImageCacheConfig.m */; }; - 96F65143F65B90A04A57CA29E7E46C4D /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C5E0B803FC1BA681ABE2F1F0EB0F1FC /* UIImage+GIF.m */; }; - 97FFB4779B4C4E92CC6FA8B06A9F6B2B /* EKPropertyMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 19F82D8ECFD765E50D26C42C75528E16 /* EKPropertyMapping.m */; }; - 9B8CC9158CA93AC1348D6B6C21ED08F8 /* EKObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = DAAA95A182243B78CC8647E6C151F622 /* EKObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9BE1D2D32E33741F418C7C7AE17C63E9 /* Pods-BitriseTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C1BD31423BC949219B42B98CF4869CE8 /* Pods-BitriseTests-dummy.m */; }; - 9CF3B6B40C12BF62AC1CDD7B4C114B67 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 19244D3304760F0EE9F2C47EFEE7F5C5 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A070046C130B1B38516BFB0085CB8297 /* EKRelationshipMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 57A4ADFB9344A1D7D9295F356ADFBA8D /* EKRelationshipMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A492DB66A80B4E8BF909F0F587DE3A99 /* SDWebImageImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = EE38A51B52384073D5BE1FCF1B7DCB0D /* SDWebImageImageIOCoder.m */; }; - A5B3703C532C68000A388E24DD281DF6 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = AB93EA96A5DE16F0EC2E6B171624B271 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5DD8D46834A23EB7A8D8FFDCA918465 /* EKPropertyHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 58AA51BA93ADA04BC80BE30594847B0A /* EKPropertyHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A868EF06185512E9C76F0553AE04E2EB /* SDWebImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 79A40D452BA412F58339C3D008117BDD /* SDWebImageFrame.m */; }; - AC3E90D2C83291CAE64E58DAAD1E802A /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = FBD7F40B66934ED7D5861CBCDFB1DCC4 /* NSButton+WebCache.m */; }; - AC9404D61663A51348686F66DE445879 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 475636DE9AC31758584A12F0CCDA1B68 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B57D3DECD8579E92C7B4D57BC19F9C97 /* SDWebImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EDAE9F18BB8BCF22F24AC03C5E32AA37 /* SDWebImageCodersManager.m */; }; - B8EE818CF58B0618B1BCAA6351A9F9D2 /* SDWebImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 025D55DE3AF110596EC24AAB7291C7A3 /* SDWebImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B93A715512CFF1433653904838633EB6 /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 95289FEF8378E842D26BEEF9E016BE66 /* SDWebImageTransition.m */; }; - BDF8330FBFAFD6523F3F0DEC92A46AA0 /* SDWebImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = DF45D246B9EA83FC19F785D3FD5BE307 /* SDWebImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BE91AB8314DB07966ED15F4CADACA896 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CBB39E299B2FCC87BDAA60BE9FE06A14 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C0A4245495A889C6002916139063C26F /* EKRelationshipMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = E30B583892A6114A0DDEF84DC739C58F /* EKRelationshipMapping.m */; }; - C17BD5BBD206E148D0F53594670A3577 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 75495CF1C53E507190FD6F7423395FFA /* UIView+WebCache.m */; }; - C1BAF7E5A6FB2C4F0973947CCA7FBC0C /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DE296D5F434A95EA5EAA3E0148DF5A56 /* SDWebImagePrefetcher.m */; }; - C2A33970DCA7AA9947672F3F70063541 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FC2BB877E9EE6A1DF52F61B63261EF1 /* SDAnimatedImageRep.m */; }; - CD5FF973343973FC433345C169BBF705 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C6BED5BABED9FB720B164CEB707ABC /* SDWebImage-dummy.m */; }; - CEF228CE76A0B3FF633EC4EF6B5966B1 /* EKObjectMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 9406243AEDD05BFCDF1F49115D293677 /* EKObjectMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D53244510397D70911CC6127E3E1A51C /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 428D2D335FAF76905494B50A8A9D9EC6 /* UIButton+WebCache.m */; }; - D985138352005581EFE4AFE058D5BF13 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = E1459E03929F04E4ADC3CB6509C42592 /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EBE06D6ADCDF0F818D777E680C58CB52 /* NSDateFormatter+EasyMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9772735377FA1CDE3ED4D852627487ED /* NSDateFormatter+EasyMappingAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC8DBCD25A7F37A3EAC810E08CDB11A3 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D86D2BF81CFFD84F218C3C3EFCBA0E7 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED149EF8988E685269AB3876661DA834 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 393C8B0188B0ACD77C22EBF4D497AB4F /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F198055D7010C4706B9E1E771D14A091 /* NSArray+FlattenArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 7773FB7669DB82F75EDD49C625C6E744 /* NSArray+FlattenArray.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F1C577D016B107E38A1DDFA42BC13C81 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = AA193B192CAC81DC8B1E87ACB7E2CDCB /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4D06AE6E9F3F3DAE5E8D55F8BA900F7 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 2302DB8119A402DAC7E49167A1C96D9F /* NSData+ImageContentType.m */; }; - F8BE5D1EF1D3077B6498677AB47381DB /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DD029417994303D3F4533EA62D646B8 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F91E2F9CA7C4DBD1AB4726FD135DC5D2 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 523459B4658F1A2A594DA766E4CF2C82 /* CoreData.framework */; }; - FAA456FB8A0F741299B4279BF610B515 /* EKPropertyMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 327B60ACF8ABE0A486CE0B2312A2C4A8 /* EKPropertyMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 013426C893567BFCCBDCA9C77AB5E175 /* SDWebImageImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E58A951274FA82776F437870AEF1D88 /* SDWebImageImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 017DBB4CEBEDE5683B1D5B9DF916DD44 /* NSObject+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 51F44AB0A0057EBABB55593CF7FECCBC /* NSObject+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 01D2DF942F5EA2CF9A3521A3038A3329 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EDA94D545E54ECA9B20A3940B0197A1 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 02B36AD5D5843B9578120D2DB9108B5E /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 24137F022856CEB9ED1C86B5DAC1CC65 /* UIView+WebCacheOperation.m */; }; + 03142316E7B39721EEB471BF6174A3C9 /* OCMNotificationPoster.h in Headers */ = {isa = PBXBuildFile; fileRef = 27C82D5CAC839463A9514990EA4E6EA5 /* OCMNotificationPoster.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0471E00091B54F2CADCBBF1DCC15D376 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D902A090D26256E2B791352C22BF567 /* UIImageView+HighlightedWebCache.m */; }; + 048261C6DC90BD20FB6B7D80D39FAAF1 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E0DBD1D6C38A2F72AB354CEEB4B791 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05351582F728072D6BF3DBBC351899A4 /* NSImage+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 24EDCF54B96DB409AA0E0FD12D1B0542 /* NSImage+WebCache.m */; }; + 065B7C82D7B4482EAE8F4C2F6CD7A263 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 00278FD297EAA81BA2A37548EC2C39F4 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08A77C331857F6CB64AE42ED3A2C2668 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 085467CD1A23A38A116ADA1657E4AFD0 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 098562CA49DC385B7C4EB46B312A1C7D /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C6D39CF18E436C13EBD370F0B5D85B /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AE00F18FE655A6F9C63B4260F4E708F /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = F748D2D26DA72F086B398E33BF33FB70 /* UIImage+ForceDecode.m */; }; + 0AE212F7CDA9749547620FE976BA88F4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 67AA02129E96254B56231A486D35337B /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0BEFBDC128F714DC2DB8572EBC3434E1 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 7344E905A2A1A0E377ED66685F3FB762 /* SDImageCache.m */; }; + 0D37CE5092E7A187FA450EEB5284D477 /* OCPartialMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 89CD993F53C6EFE496C3A9FB36D7D28A /* OCPartialMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 0D3A089494273183127BE94D1DDCE17E /* EKObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F7A2EA0E08D01E9DA57C33ED86B514 /* EKObjectModel.m */; }; + 0DB26806C67F5D2E1B509FE7BC23065B /* EKMappingProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 918489B66E8513F4F283147E7037AFBE /* EKMappingProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EB3274E256FA473AC7D113A085D70A5 /* EKSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = A0437FB7841C8AFEED080B874742FF5C /* EKSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1041E78ECAAD9075DB5CBC639F282C78 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = AED7E93D45BB7393CDE4CF741C85BB0F /* SDWebImageCompat.m */; }; + 105006D4911C66FE1CE7E53966AF63F2 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = F03AAF26D3C6A36EE9FA745FCD932BEB /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 11370609D1CD9B9107F787C3BB5B4492 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = D1049E9D208698EB482A8647817AC402 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 130B72B826F86B62502411DFF352F9F0 /* EKMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 5228EFF4249217D530002E0C44BAEDC7 /* EKMapper.m */; }; + 141BF165EEA829EA2EB4656723B548D6 /* OCMStubRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = B8A02FF98B553C5D4A0F340C91360FF2 /* OCMStubRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 156066E6C5F3D8E4481D448A1995EE39 /* NSImage+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B78324DC1E1EAD0C3BD6D09A030280F9 /* NSImage+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 15BAB5BF2E4B6618D32E92999ED20E7E /* OCMInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 7843E3CAEE56E5A2C20807805A097A13 /* OCMInvocationMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 15CF67700C7C23875F797E16DB33098B /* OCMInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 81E026A3454CDF9827B6AB3BB2E89057 /* OCMInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17A4047722DCF7F8CEED3A0D8D3A3789 /* NSNotificationCenter+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 58219F654613CD1316695DF12E70411A /* NSNotificationCenter+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 197BD0EAF2B8B8E1DA7B65B82E27133A /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = DF19F95305CA1E097DAB21B122EC8FE5 /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19CD678E6F40A2D2B85DEF3FEAF84795 /* EKManagedObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 9478A7356256A8A67B5FA9E5500D630F /* EKManagedObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B485FC9A7C98730D246ACDD80C5B782 /* EKManagedObjectMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D3752EF2409479A79908649E64B7F45 /* EKManagedObjectMapping.m */; }; + 1CBF9A754FEBA4FD0E5D8AD2EB3FFCD9 /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B5329FC07CAB763D138A01D6E6778C44 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1D4B909FA297987231981D0063095435 /* OCMBlockArgCaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C0A47F9B8B8001ADAA152811CC688 /* OCMBlockArgCaller.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DA72D67A5407CEAD08A2DBFCB4B132A /* OCMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 366B6F24376685B93BF79BCE3A5C595E /* OCMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1F9E952965C0496B755CD52C62546BAD /* SDWebImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CE0267619C9D6A8A1661BF632CE27F9 /* SDWebImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1FE049AF9EA4DFEE0ADAE2E08F0294F9 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D422108DFCFBB3010A27EEB6AC1C1696 /* Expecta-dummy.m */; }; + 201D40D63C43A4FAB1082EE5098901EB /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 18397D9DBB859596C9A8327223C0A166 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 21F2EF2767136B85E80E026A974D9CCC /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2F1927079223235D91585C780B3EF3 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 220009AA09AA19AEA1A9DF29B61E8C65 /* OCMLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 08EDAE90226EDF5A4786F8B6359D361C /* OCMLocation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 2221AD97DD28CF3C8B83674A23137077 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5307E6ECCBC5D78767570A68EF1813 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 229156507EA33FADC476AE4197BD9338 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3D5EF719A3E19F2D9B2D90BD94BA34 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22E36E64366E6250FCD50658F56C318F /* OCMObserverRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E6A3A497D9E3FCB07CF5F77654EE64 /* OCMObserverRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24F18AC451AF480B2AE995F6AAA6C28E /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 423BE344FBFBF59C8E1CFCBD43241A7B /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2521EA063FE5E49BE95C1E2ABBA63AA0 /* OCMConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 921C8C7CB717C7FE133A2796783748C4 /* OCMConstraint.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 270D9E3BE65697B9F6273A49DDFFF38D /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA1734545DFDBCFCB50B2AD2A9146F /* ImageIO.framework */; }; + 2849BD9709A667C1B87B9974E4244B37 /* OCMExceptionReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C1FBDA1DF91BAF73365E0A708973D3B /* OCMExceptionReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BC0740C8E9B308060C634E5AAF36545 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 224CD2593FA4143CC0B10E1595F57E83 /* SDWebImageDownloaderOperation.m */; }; + 2BE5F801929C0162A2EC55CB1232C056 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = DD8AC2163321CFF9C053F8A9574306D8 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CDF58E4DBD75C68C7DFA7EAB88234BF /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 92CFB726B058085275ECB8CBD3448831 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2FD99AFD7963B5B743380F965B7F85AC /* EKManagedObjectMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 45D3F6E6167051E455405D3CBD73FA28 /* EKManagedObjectMapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 30DC49514C1A0C670507330948AAB941 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E096CABAB839B8C2C8893AFFF54850E /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 317B01976E992013776876BF69F013C5 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D864E1E1561E2982A873F6EA01C4363 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 318F82D2BD9FF120D4D9EBCE096E9963 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = EAEE94778D76EDEB2DB07C0DFABE75D0 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 31CEBE13D2BE79ACD953743932D37BFF /* OCMVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 5313441A3B11BE280200B8CE8992B952 /* OCMVerifier.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 31F968CB550FB697BE9BF15FDE4B4340 /* OCMReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD8A5DD57F38038D412FBF900D4567B /* OCMReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32AB6CE5B6C11FC0F2780B7DDB4F23AC /* OCMMacroState.m in Sources */ = {isa = PBXBuildFile; fileRef = 80FF6418B952D4DEE16346EFBA5E3C60 /* OCMMacroState.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 32D33B3147E9D9F929EA4C2377032053 /* NSArray+FlattenArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 788DF6F1AC68CFC580956F20064EC30E /* NSArray+FlattenArray.m */; }; + 3328BCF13ECAA14F6A55B3913A9563A9 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = B55C7F6DB2D62F997E794E5877C98717 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34247D73BA4ED2166489ABF8D5FB42C3 /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BBBC92DBAE4F0A7815294346769317C /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 350451B877576A77F8E59C5644EE3C56 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F24B7347E5175E8E064CA728ACB9BF8 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36290B51C6245A3F18115ABDDDC5054F /* Pods-BitriseTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C1BD31423BC949219B42B98CF4869CE8 /* Pods-BitriseTests-dummy.m */; }; + 363458F1BDA4A3C107E84C6060AB3A7E /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B2785B1F5E75F7E1D845E06ABC90FE11 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 377BA877A725435D078BD8591ACC2271 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = A279AA682A33D7B8216FC1231FCB4F16 /* EXPExpect.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 37E74BB611D287EA8DA7D4A9433ADCC3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = C7B99CCCC290129141448120564925A9 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3991152712E17C320DE363FB045D7189 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 47CACA3C086D1FADD9674D5CD54BF599 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A353C9A023D5F3D23879485F93AA65B /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 169FA45C58F64E7535305F4879FA39FD /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B0BC51B80D74C4E31CE1A9CAC7B4FFE /* EKManagedObjectMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 45469256DA9DBD6A3541E09FD0FF0EFC /* EKManagedObjectMapper.m */; }; + 3C125B430F9D1E7466028F89AD5EF28D /* EKManagedObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CB2B64C2390710586C379C6B65E204A /* EKManagedObjectModel.m */; }; + 3E83440DD72381F99AF66A1C0D5E5461 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 108C2A0A66525C7F5C80B1AA396D6A91 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 409E73A4DAECE0C14EC9EF0615B779CE /* OCMVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF54CAF918C79D86F23989CBED6366E /* OCMVerifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 41984E5666897A1AD8AEBAD994EF0DDA /* OCMIndirectReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = B609C2BA6CE74D2C84D688BCE743D937 /* OCMIndirectReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 438D276A2D57438A513843B07D96DF03 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F16F005909FF62704C6AD20F99713B /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45DF7E08CCAF9A23E97A4093E02DAFCE /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C4490FD1FA4F0893281AD00775D31A97 /* SDWebImageManager.m */; }; + 46D1D08CBC807AB214E8658E006398CE /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9E49C8F2C6B4905F47A2163C7F5EE1 /* SDWebImageDownloader.m */; }; + 479548F021347EC70633BA590DC44B37 /* EasyMapping-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95CA50D651AF9ADED0A45FA1986C18C2 /* EasyMapping-dummy.m */; }; + 484FCC532855B4310C411D2AF1026633 /* NSValue+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D817BE16F147C882670A7E5546138EEA /* NSValue+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A2DF607DCE67DF80E9FEE42CEEE4FDF /* OCMArgAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 31CB3D30B0BAA90E8D04238C57676012 /* OCMArgAction.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4A9A562406FF3C97C4129D66B18F6859 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 53B80291C71F83A880ADBBD0DFB85D0C /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4AC1B9D0D40CAC17B102DDBBD3BA0999 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 837889ED26C158E88BA3697A215D0183 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4C35E7911543D1BC76F8C272C36640DA /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BEED98DD22C57C344FDDFFAD85973F7 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C5588E6921BF75A9B75FC49CF1C0D0A /* EKMappingBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE1B4168D5A995D20016C1F1F47513A /* EKMappingBlocks.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4CD6CB8AAFF20879DCBF76E285F28E54 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = E9CF408E92DBDF99DF5C23EF23EF9AF4 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4EFB4AE78DE5FAE16E0D264D75FFD9F5 /* EKMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB73639A7C6F5069EA3C9E1408488D7 /* EKMapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4F918EA05E195EEE7D5E0B1EF8D63C07 /* OCMMacroState.h in Headers */ = {isa = PBXBuildFile; fileRef = EECFDCB70C2A43763A39496E4BF401B2 /* OCMMacroState.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 522B93E3C9779AC51A0B6DDA8DBC3169 /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D493F4F87BDCA6E0AB84769013DACF6 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 53AAC99A4C4707651B004C5BD7743F27 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 08C436BCE21622AE33F251B801BEDFE6 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5608507D389F19CFC9C54B71DF057572 /* OCMInvocationExpectation.m in Sources */ = {isa = PBXBuildFile; fileRef = A45E12F05061164A3EBBA78F1168C2C7 /* OCMInvocationExpectation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 56FB80211E0860AC159095C4E100C3C2 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = E59DF79EAAD5AE9D47B17FE0D61A606C /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B131207C7BA6BF1455FD2194CB63B7F /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AC0D9E33165EF4A79178EB9CDFA756 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5BAD98052D6FD4454E46727DC8E9AB32 /* EKCoreDataImporter.h in Headers */ = {isa = PBXBuildFile; fileRef = D852E8D7F6BE02A85296DC99650C4216 /* EKCoreDataImporter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5BE04E5269FF0F0A9068E76F3BA414BB /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = E7E10EB6E72D6B4CC1E6C01BDA83478C /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5C836967A64A9B0A73004E02B0A797BA /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = BAFDD6620D3FDC45B8215C73488A75B2 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5CB6451CEFBCBEA66856669955D1BEEE /* EKCoreDataImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF63E43E2282AE5E48757BCDF2633E4 /* EKCoreDataImporter.m */; }; + 623976AE79DDE4B446ADB0AB18158DF4 /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 91228C3C744D869C31943C3C0BD23E63 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6849ADCF79AF3D161FBF7F60FEF911CF /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 9017E70C6C2B2DE24A3F367D924143E5 /* Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68F2807E48144F76729AC935FDE9E9AE /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA3961754FF0C91C3152D74C6DBBC52 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A55F873250A5B1E26E0320E42790F94 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = CFE6536AACF60079D2EF96BE6CB80E4F /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6AFE20F50EBDFC499A6FE45DA4FB3739 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BBF509D609477CFFB200FD58FBF81F2 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6C5AEE957C9AEF48D85836F3D2B4D0A8 /* SDWebImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = E34E5651E9EF80FF4A7AF3795F64EBF8 /* SDWebImageCoder.m */; }; + 6CEB383945213555E8A2AF529C70B884 /* SDWebImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 89EA8CD2162A2E9EEC5F998EF276F4D6 /* SDWebImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D5F44172F6AAF24D4247D37094BC155 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD4ACFE7DFCD1CDC326748E310F68AD /* EXPDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6DC9097CD0D9BAE7480CA152EFF0CB41 /* OCMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E575F5B1F3BBD18D2F79761723A11DD /* OCMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6DD927C9B3E5629B1B9E302891B0BE34 /* OCMInvocationStub.h in Headers */ = {isa = PBXBuildFile; fileRef = 57832A6CF2217DEB119D7860A7AACF8C /* OCMInvocationStub.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E24485FED2AA01E7A93B59BE284F121 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 951D4B1B23F313B624C75757F8D4E6F4 /* UIImageView+WebCache.m */; }; + 6E96E07614A8526F090B953BB1FDFAB4 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6175A9B84DC3C3D0A1D920B21CC5BB1 /* XCTest.framework */; }; + 704920ACA60BC78C69BAB91D12D06ABE /* EKMappingBlocks.m in Sources */ = {isa = PBXBuildFile; fileRef = C9CF7969767174CC65B4C6A3A64E1949 /* EKMappingBlocks.m */; }; + 7167A0191A09719D4A5FC81E405FD491 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D20D670FAACFBD8DDCCA816214D22FD /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 71A8B939BA34146D18EC6EC59E081C0A /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = A29B7FDCDAEE7F88F2233717B0666C60 /* UIImage+MultiFormat.m */; }; + 72A77F616555C148EDB65033809078AB /* OCMConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF8F90714ADCD981897DF97AA7810BC /* OCMConstraint.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 73799EA18FC93429894CA5C4D25B685A /* NSNotificationCenter+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 05FF385CF9E56CA66024BB92C4E50443 /* NSNotificationCenter+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 744B6C3209256ADABE3E2C5783CA54D1 /* EKSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9113D6EED88D2A8B24E5130A4350D715 /* EKSerializer.m */; }; + 74B244F242F2F67B47BE3689B9691FB8 /* OCMBlockCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C52EFE3DFDE4FF3C9C6A5EB7A1619A5 /* OCMBlockCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 74E3CA16C8C831F5F476F11ABDDCCFED /* SDWebImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 43757940370787335E848E5A8DE4B5EF /* SDWebImageCoderHelper.m */; }; + 772755409F15BA2EAFBA3D7084AC28A5 /* EasyMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 25D728CA3F2B1906DE04A9DE409CBBB9 /* EasyMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BAEC6BD63A58DA35019F4928C72D9C9 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A44DF6781BD2015139935AFD5411BB /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 7CED56B0BD2B2620B7BA217EABF2D786 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 19D5ED562B917E96E8DB48ACA7D12D77 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7D8AA0010A0E6229434E356E28A5331B /* OCMBlockCaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 63DD571A30F352EBCEB1BAE5668444FC /* OCMBlockCaller.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 81A955E12077F14A6FF879ECCDB668ED /* SDWebImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DDC7F79D09A14C6A8E337E7BCF9122 /* SDWebImageGIFCoder.m */; }; + 81BC0C9433D99512C68A9A1628681EA8 /* OCMInvocationExpectation.h in Headers */ = {isa = PBXBuildFile; fileRef = 925FF75815302FA49B01CAD780D13AEB /* OCMInvocationExpectation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 82C5215501C4109081E963A4815FCCF1 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = A1CB9A08A490B41588019FEE40AA52BF /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 85057FC878B3EF8DC1EE93FCEA56EDE9 /* EKManagedObjectMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 20ED3D10A8FD13C931DF44AE5AF3D773 /* EKManagedObjectMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 854A5179B17321B1ACE2F4F89A1A6887 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = CE19E5BB627F48BBC08B1B24CA046527 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 859BAFD5DB0FC318DDAEC272B021893D /* OCMPassByRefSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 987F6768343366FCAA54F5A6BB008DC6 /* OCMPassByRefSetter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8653B4EA2C002C6957596DA428DEFF8C /* SDWebImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 739D5AB7A09BF613DF4CB8F65ED6EEED /* SDWebImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8691765F3C0ECAAFCA60290C73F0D00D /* EKObjectMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 51665B46865EB29E819563252DD0E74E /* EKObjectMapping.m */; }; + 86A016CB944110848A0F3B696B28609A /* EKPropertyHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F1CE803FC332D6299B0CB6230CDDE61 /* EKPropertyHelper.m */; }; + 894ED6475D00F6E7C3151798C8653E32 /* OCProtocolMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 5091A2BDC4A4212CDB54D54B6955010B /* OCProtocolMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8EAF25695B72D34F8DC187882C55F74C /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = F38189D2BF68EBDC09296D06BCEE6A93 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8FC3153E60A34423FE8CEE22EF8587F6 /* OCMObserverRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE798358A8254D82AC2A760437BF583 /* OCMObserverRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8FE2D124D0130FC6FDE7C575EB44DCEE /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 362D370AE65912C4BCB7509F13CC9EDE /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 936F558BB8EA4B91337D3C5F3B01CC7E /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = F7D23C0E87953CF557E1A5734E5E2C60 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 94D32006C76376807A3A86A8125D266D /* OCClassMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = DECA9B80FE14F183CD9E9E8EBE041B8A /* OCClassMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 952CB4213F0A655DCF9B2F6C22021DF6 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = B71174280C197813BF65A46BD6BAB222 /* SDImageCacheConfig.m */; }; + 9540D014FB0C64E24A6E6A857CEE2647 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B65CA4772BD34F9F5FC0B2726E2C6514 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96BD10DD47D6C14F6D9529B32EAFD824 /* NSObject+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8618CC2C2BDCF8B710A920F8B78FF2A0 /* NSObject+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96F65143F65B90A04A57CA29E7E46C4D /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6B625532033ED5F74ADE59558ACF11 /* UIImage+GIF.m */; }; + 97028F33F6443F70797546BE59BF90AA /* OCMNotificationPoster.m in Sources */ = {isa = PBXBuildFile; fileRef = F14AF65AE2AF9154F7174FBB7E56D5A0 /* OCMNotificationPoster.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 97608DD732C7501FA73459EAEFFDBC93 /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = DFC149987B03D3DE4CD908E1024D0CFF /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 97FFB4779B4C4E92CC6FA8B06A9F6B2B /* EKPropertyMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 13691E86BBB9789E1923737130A32266 /* EKPropertyMapping.m */; }; + 993ED47BA6B60C214B39DB4D35E1C04F /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 725A54BFE02CB9E71AA62D87677838BC /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B8CC9158CA93AC1348D6B6C21ED08F8 /* EKObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D005188AA36CBCD3D5A2BEC2F9E85CCA /* EKObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C753A1C10DDC28C8C9215D0B58CCE9A /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 001AFA2CDC59E3838DFDFA0B1CAE3EDA /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9CF3B6B40C12BF62AC1CDD7B4C114B67 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD1EFED8B065931DC7FDF73FD8425F8 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E1436121B15B5382F66D42C2FF72011 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EDCA1806737830F5A9A3BE8DA25EB99 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A070046C130B1B38516BFB0085CB8297 /* EKRelationshipMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = C57DDB57CE25E47AA28EEAB8241531C6 /* EKRelationshipMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2E92E45A9A60C77802E9308CF15EAFE /* OCMBlockArgCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 24460D6AECC99C04FC1B24062598DF0E /* OCMBlockArgCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A4909B1DDA62226F62A8F6F2F0E97AB3 /* OCMArgAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A0958B9F7F75C35D8035133A0EEE181 /* OCMArgAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A492DB66A80B4E8BF909F0F587DE3A99 /* SDWebImageImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AD4E797287E048F99FAA6AAD90BC98F /* SDWebImageImageIOCoder.m */; }; + A5B3703C532C68000A388E24DD281DF6 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 7338A23D2FDCF3693BBFB761080F29C6 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5DD8D46834A23EB7A8D8FFDCA918465 /* EKPropertyHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B6E0065D7D2B62BAE90D8853D9F91B6 /* EKPropertyHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A868EF06185512E9C76F0553AE04E2EB /* SDWebImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = C376205540F2A60C7B8114CC978D6EDA /* SDWebImageFrame.m */; }; + A8D1D93077C15754F47DE88F369EDA1D /* OCMInvocationStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 12251B3985302B8A6865EB8F62CC11A3 /* OCMInvocationStub.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + AC3E90D2C83291CAE64E58DAAD1E802A /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CFED0F81280EE87CF6174127A22AC747 /* NSButton+WebCache.m */; }; + AC9404D61663A51348686F66DE445879 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 77AF8C3F5A3C13FC3BB97EA2811532B4 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD53E266C9BD8EA940FB2ADD0AD3FC8F /* NSMethodSignature+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 241FCAEAF9F7EAD401CB528F5D04E4EB /* NSMethodSignature+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B2421093F87DEED9CC3359AB01C92536 /* OCClassMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7A55FA06443936FD4EF2EE1F92A637 /* OCClassMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B57D3DECD8579E92C7B4D57BC19F9C97 /* SDWebImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AE35E9B9B81A0C2205128EB2D3E45FA /* SDWebImageCodersManager.m */; }; + B60DED481B8C9145ED79C156F76E4FCF /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 919FCCE02B2FA6E6187712353BF70201 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B6185DE487E10D92076656F70B30978D /* OCObserverMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAB5D93139273A9E0AC9073775D4EAA /* OCObserverMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B67E5C353B849EE14AB231F4B6300202 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FE235E3BA23FC07D1F67244A0FF2400 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B7D441423105D9457FFA469155C1CE39 /* OCMFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 36ACB3FFB9D76C6EDE6656144239D441 /* OCMFunctions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8EE818CF58B0618B1BCAA6351A9F9D2 /* SDWebImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 0566CEFE335244F6542A2F8BC0BCE262 /* SDWebImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B93A615A86ABFFAB3D0CF5A94130F439 /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC5B68538CE634281F1701FE60E763 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B93A715512CFF1433653904838633EB6 /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D479D420386C6919B3476788F949EBF /* SDWebImageTransition.m */; }; + BA8A48AA76DE9C805BDA4DF120D7E948 /* NSValue+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E279639335FB094CF18387FE808C54C /* NSValue+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + BC8744CF3D90848EFD988BE353A5B746 /* OCMLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 84FD9368EA90B822A2DEBB626A40CA05 /* OCMLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD513782772FB9C8D088EECEB26994CA /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 62199DEA7AC15E4EB574C5A909E90158 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDDB1F5D66FFF46AC15B13F74D65FA07 /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D635FF0BFCA843565DBB707195CD5D2E /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDF8330FBFAFD6523F3F0DEC92A46AA0 /* SDWebImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 09A5FCF8F6D0648736246C2FA115ABB9 /* SDWebImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE54480C1574B0D2EEB10556C0DFDCE0 /* OCMArg.h in Headers */ = {isa = PBXBuildFile; fileRef = D74AC627A98CCFFFB048C32328EC25DA /* OCMArg.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE54A0902E6EB79861B5BCA6990FF0FF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BD30F2FBCE1B3CB0FBC5A00CFB2F16B /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE91AB8314DB07966ED15F4CADACA896 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = FD59847FEF3941586C8E617746201C65 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0A4245495A889C6002916139063C26F /* EKRelationshipMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = FA0B247D0F309C2388497D2D86335FE8 /* EKRelationshipMapping.m */; }; + C17BD5BBD206E148D0F53594670A3577 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C0126F4D9382877850A0E78128C1D6B /* UIView+WebCache.m */; }; + C1BAF7E5A6FB2C4F0973947CCA7FBC0C /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B4EE292F7BFBE10C7D3271BAE0348D0 /* SDWebImagePrefetcher.m */; }; + C1EB4DAB79037286B468228A394383C2 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EF997052F4AACA085CE95FA2EC269D1 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C2A33970DCA7AA9947672F3F70063541 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = D5F7CE41E55428890A7423A8B8453AD4 /* SDAnimatedImageRep.m */; }; + C2B68344FD47E6858D5E4334F0613EE6 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 146799116CF4682CD9604F7C9C334F8E /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C81A1DB73312FEEAA34D09324000B55D /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 26716C03C5E2C75753B14611B673671D /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C98182D05EE0A6DA8C24B8DFA8FE5027 /* OCMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA711291B8DB36DAC213FB93519650A /* OCMock.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB2FF8C62BA8D641E67E2E0FDDD1B639 /* OCObserverMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0685A11DAAA2C0DB4855E81AF70803C2 /* OCObserverMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB3682266535621C3A27C76EF64E9867 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 2007179C3361B1DF8DFC8DE485E0631E /* EXPMatchers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CD5FF973343973FC433345C169BBF705 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2143107B6ECEE4F4E11B624ED4A9833C /* SDWebImage-dummy.m */; }; + CDAFA0F2121F8091A5349DD3A643259F /* OCMRealObjectForwarder.h in Headers */ = {isa = PBXBuildFile; fileRef = 324620DDAAD5DAE2892348EDE68994D8 /* OCMRealObjectForwarder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE676A9E9A17FCDDCE46622196F4A16C /* OCMFunctionsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = B0703C1A0BC33C96A74C16AD8B28AF5C /* OCMFunctionsPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE808C76798707DD24E07A16F73A1762 /* OCMRealObjectForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6547A0362A9DB59529048BCB41297208 /* OCMRealObjectForwarder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CE8AEC6A8921D884A1310FCC4407D638 /* OCMFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 672937DCAFB6913EE03858F88550F7FD /* OCMFunctions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CE8DD96E978F48613F266E470E96EFAA /* OCMRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E9039FEBBDD7D37BE5E1484472A2B21 /* OCMRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CEF228CE76A0B3FF633EC4EF6B5966B1 /* EKObjectMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B753D46E9ADD407DD7ED547D9ED7487 /* EKObjectMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CFC72B052045D42081C6AA4765606918 /* OCMBoxedReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ABEBFB094B230F63EF99313B2442E38 /* OCMBoxedReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D203DAA6B9A8B9E38E24227C7F5C1BF5 /* OCMArg.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EF83F965EE3E80301C01C2C206E800C /* OCMArg.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D237129D7173A137ADFEBC3AB1CD6DB5 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C399FA44CD6960154D7CA436A63EABF /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4EE59FAC1241AA395EA48C2815687B6 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EF7EF34591140F4A5862433EB70F47D /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D53244510397D70911CC6127E3E1A51C /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B9C3E0FD5A1BFD12E095386DC5628B6D /* UIButton+WebCache.m */; }; + D6A37D98D7F4B1F3E6BCABC252708FA3 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4708BDF86AB31DF9FE6FD23C863CDE41 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D728200841DAF28BBAFA715C27EE08CB /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC6ADDA6A221DA7F9A9D3EB1DBE7AC0 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D8D7E54B80DAA1E55FE055E6D99F0D58 /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 50B11966E1A64011B3F93C50DEEB17AF /* ExpectaObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D94E169A2425A3B84302713FD1F30283 /* OCMExpectationRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EB143E81C4238EAC077DA7212F54B30 /* OCMExpectationRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D985138352005581EFE4AFE058D5BF13 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B992B198B6DAD26DE5AB76ABA94EA99 /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9EFD9F5C3649C82124861086557FBDB /* NSMethodSignature+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA46ACE6C714479FA594D4C9889FDB9 /* NSMethodSignature+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9F69F13B40DC9DB196645DC5CBEE6AC /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = EB9D3B0A6FC4F7025112A068C5974704 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DA9DFA194BC2AE32325A7B91FDEE82AB /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = E453EE0155C6BBA677F3084669DD3B79 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DE6C5AE1E82E86F9718229064377DE40 /* NSInvocation+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 65772E0F213968E1E431C2A654D27CE2 /* NSInvocation+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E012F56169477B39357852DEA9ED4567 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D097C749295E3EF05CC688A32526DD5 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E24C1928D8FAC9480422E60157EE7CA1 /* OCMIndirectReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CFED5DB79EA3E6263E5A405FC0D9B4 /* OCMIndirectReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E480D106649982A3FED5AF88931EA26C /* NSInvocation+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E2CACB5E18C53F8068A89E1D7A5F5C1 /* NSInvocation+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E4D68D3D88239C81CD2CD7A72CEF7957 /* OCMExceptionReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 66C76896564911D49CFDDFFEE705A2EF /* OCMExceptionReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E5C255366B68EC5E323E5C5E83E6D22E /* OCMReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 40229837A52E6ED9C0B69FEC5ADB1888 /* OCMReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E88C3CE01E9753CDDF9545364F7CF464 /* OCMExpectationRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 38A4ADF8913585EF1A7067F18AB31389 /* OCMExpectationRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E88E4C1BCB1CBA2A553235BB712DD5DA /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 49362906C5FC51D8D4D15E79D0FE125E /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E94AC102014ABE5C8D37A0A7B465E523 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 38D2FC2E8E6241B846840F10E98D0E23 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EBE06D6ADCDF0F818D777E680C58CB52 /* NSDateFormatter+EasyMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C0C88184529F212F65FC3A65F628DD57 /* NSDateFormatter+EasyMappingAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC8DBCD25A7F37A3EAC810E08CDB11A3 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BB607ADEFBE2577AF0DD5D39DAFCD2 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED149EF8988E685269AB3876661DA834 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 15292CEC974415360C05883BD81086C8 /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED698226BDBDEDF43737C4E3B84C5316 /* OCProtocolMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CCDE60ACF386E1714CEE90331760A12 /* OCProtocolMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + EDFB5E61E89C29D3C83C2C4267B53220 /* OCMRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 039711275875A762F728D9FA7594D933 /* OCMRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF04C640BA7EEEB81446613F22E96774 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DB48AAE80FF88DF9EAFD246207268987 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F15D027606061CC85404F7B42DCC4B76 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 64AD13CCFA7815585444850BA0210C61 /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F198055D7010C4706B9E1E771D14A091 /* NSArray+FlattenArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 34646D49CAB7D1FE97678C18BC1DA1E4 /* NSArray+FlattenArray.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F1C577D016B107E38A1DDFA42BC13C81 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = A7AAD03092210D4FED060B7142A5C781 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F42853C5307AD32AFB79996F4908F41E /* OCPartialMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 421C3039442BFCD87FC4413E6AD34BA9 /* OCPartialMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4D06AE6E9F3F3DAE5E8D55F8BA900F7 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4271238CDDE00F405BB9B66001D21D /* NSData+ImageContentType.m */; }; + F57A53A72B4869B03D6D11E48FC32FA8 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = AA094586C9F77826EAE01CC4874925EC /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F8BE5D1EF1D3077B6498677AB47381DB /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 460CCC1AC68F13A7B16FDA70A93C5BC9 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F91E2F9CA7C4DBD1AB4726FD135DC5D2 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B15374EA47331FEF7F3DDE50D03B5D88 /* CoreData.framework */; }; + F96BDD22BD329035A7BB968017450D8C /* OCMock-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CD00520D736F4DC065391A2BF2AE25B8 /* OCMock-dummy.m */; }; + FAA456FB8A0F741299B4279BF610B515 /* EKPropertyMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E06BBBF097D9AD7239E7CC9049CD84F /* EKPropertyMapping.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FB1C06DEA18A3F43E40E1FB8E311623E /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ECF87E9D04EDB86AAF430D43A57CFE4 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FC8968B9DF6C1CE11F2C7ABFE5270093 /* OCMStubRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = E92F27D06128B6A622A585CCA9D4788A /* OCMStubRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FCB51A2A508AC0AC784278DDCEC764BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E15D54715ABBB2F3D6A958B42250DD89 /* Foundation.framework */; }; + FCD9A0FAF7813F1B54ED1CB80E914D28 /* OCMPassByRefSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 28598EC5AF5FB03F4E7D34733B7B8B2B /* OCMPassByRefSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD8C8795CC1F6DB449338DD8DBD07FF3 /* OCMBoxedReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = B8807E1F2C462852C4C9DB41D89662DD /* OCMBoxedReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; FDF15500F78DEF7A4FA743E3804EB4D4 /* Pods-Bitrise-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A81845E8680F45406001489A778030 /* Pods-Bitrise-dummy.m */; }; + FE623762B1E5D0FEB3625D5B819E8FF8 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = B9FC2427457A5B2F779510170D20E7CC /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 1FD322E21C840D37F2F53A791B392C40 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2F76C4DEAE2007246BF4FBF8967B2FA3; + remoteInfo = Expecta; + }; + 4E9CE797D117497C4397A9EA3FAC02DD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = F98B30D4C34076B9FD4B710DF72747B6; + remoteInfo = "Pods-Bitrise"; + }; 756629846FFF44AB6567E0BCA05CC45F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -105,12 +264,12 @@ remoteGlobalIDString = 4923FD1FC346828E471EE57EE5FF2C19; remoteInfo = SDWebImage; }; - 847CFA6B92C7B43B20506348A3591DB5 /* PBXContainerItemProxy */ = { + 76408253DDE241DEECA8945025E5462E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F98B30D4C34076B9FD4B710DF72747B6; - remoteInfo = "Pods-Bitrise"; + remoteGlobalIDString = 2D0C7C26A7C7C2ED37C3F4E6ABA1A2A4; + remoteInfo = OCMock; }; EDA2154DDFF8EFBD5A26F39FA04BA9E6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -122,130 +281,281 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 001AFA2CDC59E3838DFDFA0B1CAE3EDA /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; + 00278FD297EAA81BA2A37548EC2C39F4 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/UIImage+ForceDecode.h"; sourceTree = ""; }; 00A81845E8680F45406001489A778030 /* Pods-Bitrise-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Bitrise-dummy.m"; sourceTree = ""; }; - 025D55DE3AF110596EC24AAB7291C7A3 /* SDWebImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCoder.h; path = SDWebImage/SDWebImageCoder.h; sourceTree = ""; }; - 0621348ECC1EDB1FA1BA942E2E34B0BB /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = ""; }; - 0C84BA44880534390C4C0D8633580A74 /* EKSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKSerializer.m; path = Sources/EasyMapping/EKSerializer.m; sourceTree = ""; }; - 0E4EF34C2DC921865BA51DE6160E5036 /* NSImage+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+WebCache.h"; path = "SDWebImage/NSImage+WebCache.h"; sourceTree = ""; }; - 14349E2DC16CBD9A08C539551F1FC95B /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = ""; }; - 19244D3304760F0EE9F2C47EFEE7F5C5 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = ""; }; - 19F82D8ECFD765E50D26C42C75528E16 /* EKPropertyMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKPropertyMapping.m; path = Sources/EasyMapping/EKPropertyMapping.m; sourceTree = ""; }; - 1D86D2BF81CFFD84F218C3C3EFCBA0E7 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/UIView+WebCache.h"; sourceTree = ""; }; - 2302DB8119A402DAC7E49167A1C96D9F /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/NSData+ImageContentType.m"; sourceTree = ""; }; - 24CE5DE199661A642241BDB2D51FCF39 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "SDWebImage/UIImage+ForceDecode.m"; sourceTree = ""; }; - 28791766E11BF2CA632F354B7E082BF2 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = ""; }; - 2A4CBF2ACC3325AB112D2957B0B77D1E /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = ""; }; - 2C9F3B28BC21CEC69D545C601DBEC8E6 /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = ""; }; - 2CC8F2E2658D0E7CB11301768999EA4C /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/SDImageCacheConfig.h; sourceTree = ""; }; - 327B60ACF8ABE0A486CE0B2312A2C4A8 /* EKPropertyMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKPropertyMapping.h; path = Sources/EasyMapping/EKPropertyMapping.h; sourceTree = ""; }; - 341007074D7230B5245B1F3D43A82730 /* EKManagedObjectModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectModel.m; path = Sources/EasyMapping/EKManagedObjectModel.m; sourceTree = ""; }; + 00DDC7F79D09A14C6A8E337E7BCF9122 /* SDWebImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageGIFCoder.m; path = SDWebImage/SDWebImageGIFCoder.m; sourceTree = ""; }; + 039711275875A762F728D9FA7594D933 /* OCMRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMRecorder.h; path = Source/OCMock/OCMRecorder.h; sourceTree = ""; }; + 04EA1734545DFDBCFCB50B2AD2A9146F /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; + 0566CEFE335244F6542A2F8BC0BCE262 /* SDWebImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCoder.h; path = SDWebImage/SDWebImageCoder.h; sourceTree = ""; }; + 05FF385CF9E56CA66024BB92C4E50443 /* NSNotificationCenter+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+OCMAdditions.m"; path = "Source/OCMock/NSNotificationCenter+OCMAdditions.m"; sourceTree = ""; }; + 0685A11DAAA2C0DB4855E81AF70803C2 /* OCObserverMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCObserverMockObject.h; path = Source/OCMock/OCObserverMockObject.h; sourceTree = ""; }; + 07AA79D69B5FB87F27A2E1FB405AE847 /* OCMock.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCMock.xcconfig; sourceTree = ""; }; + 085467CD1A23A38A116ADA1657E4AFD0 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + 08C436BCE21622AE33F251B801BEDFE6 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = ""; }; + 08EDAE90226EDF5A4786F8B6359D361C /* OCMLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMLocation.m; path = Source/OCMock/OCMLocation.m; sourceTree = ""; }; + 09A5FCF8F6D0648736246C2FA115ABB9 /* SDWebImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCoderHelper.h; path = SDWebImage/SDWebImageCoderHelper.h; sourceTree = ""; }; + 0B4EE292F7BFBE10C7D3271BAE0348D0 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = ""; }; + 0B6E0065D7D2B62BAE90D8853D9F91B6 /* EKPropertyHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKPropertyHelper.h; path = Sources/EasyMapping/EKPropertyHelper.h; sourceTree = ""; }; + 0CF63E43E2282AE5E48757BCDF2633E4 /* EKCoreDataImporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKCoreDataImporter.m; path = Sources/EasyMapping/EKCoreDataImporter.m; sourceTree = ""; }; + 0D3D5EF719A3E19F2D9B2D90BD94BA34 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = ""; }; + 0D479D420386C6919B3476788F949EBF /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = SDWebImage/SDWebImageTransition.m; sourceTree = ""; }; + 0E279639335FB094CF18387FE808C54C /* NSValue+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+OCMAdditions.m"; path = "Source/OCMock/NSValue+OCMAdditions.m"; sourceTree = ""; }; + 0FFC430EAAE0E4ACE2F097D3B952D28C /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = ""; }; + 108C2A0A66525C7F5C80B1AA396D6A91 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + 12251B3985302B8A6865EB8F62CC11A3 /* OCMInvocationStub.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationStub.m; path = Source/OCMock/OCMInvocationStub.m; sourceTree = ""; }; + 13691E86BBB9789E1923737130A32266 /* EKPropertyMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKPropertyMapping.m; path = Sources/EasyMapping/EKPropertyMapping.m; sourceTree = ""; }; + 146799116CF4682CD9604F7C9C334F8E /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + 15292CEC974415360C05883BD81086C8 /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = ""; }; + 169FA45C58F64E7535305F4879FA39FD /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = ""; }; + 174C0A47F9B8B8001ADAA152811CC688 /* OCMBlockArgCaller.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBlockArgCaller.h; path = Source/OCMock/OCMBlockArgCaller.h; sourceTree = ""; }; + 18397D9DBB859596C9A8327223C0A166 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + 19D5ED562B917E96E8DB48ACA7D12D77 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; + 1C0126F4D9382877850A0E78128C1D6B /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/UIView+WebCache.m"; sourceTree = ""; }; + 1E58A951274FA82776F437870AEF1D88 /* SDWebImageImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageImageIOCoder.h; path = SDWebImage/SDWebImageImageIOCoder.h; sourceTree = ""; }; + 1EDA94D545E54ECA9B20A3940B0197A1 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + 1EF83F965EE3E80301C01C2C206E800C /* OCMArg.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMArg.m; path = Source/OCMock/OCMArg.m; sourceTree = ""; }; + 2007179C3361B1DF8DFC8DE485E0631E /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + 20ED3D10A8FD13C931DF44AE5AF3D773 /* EKManagedObjectMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectMapping.h; path = Sources/EasyMapping/EKManagedObjectMapping.h; sourceTree = ""; }; + 2143107B6ECEE4F4E11B624ED4A9833C /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = ""; }; + 21E6A3A497D9E3FCB07CF5F77654EE64 /* OCMObserverRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMObserverRecorder.h; path = Source/OCMock/OCMObserverRecorder.h; sourceTree = ""; }; + 224CD2593FA4143CC0B10E1595F57E83 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/SDWebImageDownloaderOperation.m; sourceTree = ""; }; + 23965471E236F15152CA3860320FCA0D /* EasyMapping-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EasyMapping-prefix.pch"; sourceTree = ""; }; + 24137F022856CEB9ED1C86B5DAC1CC65 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/UIView+WebCacheOperation.m"; sourceTree = ""; }; + 241FCAEAF9F7EAD401CB528F5D04E4EB /* NSMethodSignature+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMethodSignature+OCMAdditions.m"; path = "Source/OCMock/NSMethodSignature+OCMAdditions.m"; sourceTree = ""; }; + 24460D6AECC99C04FC1B24062598DF0E /* OCMBlockArgCaller.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBlockArgCaller.m; path = Source/OCMock/OCMBlockArgCaller.m; sourceTree = ""; }; + 24EDCF54B96DB409AA0E0FD12D1B0542 /* NSImage+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+WebCache.m"; path = "SDWebImage/NSImage+WebCache.m"; sourceTree = ""; }; + 25D728CA3F2B1906DE04A9DE409CBBB9 /* EasyMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EasyMapping.h; path = Sources/EasyMapping/EasyMapping.h; sourceTree = ""; }; + 26716C03C5E2C75753B14611B673671D /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + 27C82D5CAC839463A9514990EA4E6EA5 /* OCMNotificationPoster.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMNotificationPoster.h; path = Source/OCMock/OCMNotificationPoster.h; sourceTree = ""; }; + 28598EC5AF5FB03F4E7D34733B7B8B2B /* OCMPassByRefSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMPassByRefSetter.h; path = Source/OCMock/OCMPassByRefSetter.h; sourceTree = ""; }; + 2AD4E797287E048F99FAA6AAD90BC98F /* SDWebImageImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageImageIOCoder.m; path = SDWebImage/SDWebImageImageIOCoder.m; sourceTree = ""; }; + 2D097C749295E3EF05CC688A32526DD5 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + 2E06BBBF097D9AD7239E7CC9049CD84F /* EKPropertyMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKPropertyMapping.h; path = Sources/EasyMapping/EKPropertyMapping.h; sourceTree = ""; }; + 2EF997052F4AACA085CE95FA2EC269D1 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + 31CB3D30B0BAA90E8D04238C57676012 /* OCMArgAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMArgAction.m; path = Source/OCMock/OCMArgAction.m; sourceTree = ""; }; + 324620DDAAD5DAE2892348EDE68994D8 /* OCMRealObjectForwarder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMRealObjectForwarder.h; path = Source/OCMock/OCMRealObjectForwarder.h; sourceTree = ""; }; + 32C6D39CF18E436C13EBD370F0B5D85B /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + 34646D49CAB7D1FE97678C18BC1DA1E4 /* NSArray+FlattenArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+FlattenArray.h"; path = "Sources/EasyMapping/NSArray+FlattenArray.h"; sourceTree = ""; }; + 362D370AE65912C4BCB7509F13CC9EDE /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = SDWebImage/SDWebImageTransition.h; sourceTree = ""; }; + 366B6F24376685B93BF79BCE3A5C595E /* OCMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMockObject.m; path = Source/OCMock/OCMockObject.m; sourceTree = ""; }; + 36ACB3FFB9D76C6EDE6656144239D441 /* OCMFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMFunctions.h; path = Source/OCMock/OCMFunctions.h; sourceTree = ""; }; 388A90465CEBD00537C1CA5D000BEF56 /* Pods-BitriseTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-BitriseTests-acknowledgements.markdown"; sourceTree = ""; }; - 393C8B0188B0ACD77C22EBF4D497AB4F /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = ""; }; - 3BF1451DB7CC4BC24594CA733686D479 /* EKManagedObjectMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectMapping.m; path = Sources/EasyMapping/EKManagedObjectMapping.m; sourceTree = ""; }; - 41C0E4B2EFB1B406237819B19EE4B592 /* EKMappingProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMappingProtocol.h; path = Sources/EasyMapping/EKMappingProtocol.h; sourceTree = ""; }; - 428D2D335FAF76905494B50A8A9D9EC6 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = ""; }; - 43C82843A27F42FD7F7F7D7E12DBEBC9 /* EasyMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EasyMapping.h; path = Sources/EasyMapping/EasyMapping.h; sourceTree = ""; }; - 465F7B5FDFBE22CE76525286BC835D7C /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = ""; }; - 46D2AEE765AA1E5B7F6BC0040F6BCCBE /* EasyMapping.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EasyMapping.xcconfig; sourceTree = ""; }; - 46ED7DEAECD1FD9D9BEEBC4F12788A96 /* EKManagedObjectMapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectMapper.h; path = Sources/EasyMapping/EKManagedObjectMapper.h; sourceTree = ""; }; - 471AB6582915B9CC2D5157B047E4CF8A /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; - 475636DE9AC31758584A12F0CCDA1B68 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/NSButton+WebCache.h"; sourceTree = ""; }; - 49ED795E93B8748D907919C3620FAD7D /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/UIView+WebCacheOperation.m"; sourceTree = ""; }; + 38A4ADF8913585EF1A7067F18AB31389 /* OCMExpectationRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMExpectationRecorder.m; path = Source/OCMock/OCMExpectationRecorder.m; sourceTree = ""; }; + 38D2FC2E8E6241B846840F10E98D0E23 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 3B753D46E9ADD407DD7ED547D9ED7487 /* EKObjectMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKObjectMapping.h; path = Sources/EasyMapping/EKObjectMapping.h; sourceTree = ""; }; + 3CCDE60ACF386E1714CEE90331760A12 /* OCProtocolMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCProtocolMockObject.m; path = Source/OCMock/OCProtocolMockObject.m; sourceTree = ""; }; + 3CE0267619C9D6A8A1661BF632CE27F9 /* SDWebImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCodersManager.h; path = SDWebImage/SDWebImageCodersManager.h; sourceTree = ""; }; + 3D3752EF2409479A79908649E64B7F45 /* EKManagedObjectMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectMapping.m; path = Sources/EasyMapping/EKManagedObjectMapping.m; sourceTree = ""; }; + 3D902A090D26256E2B791352C22BF567 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = ""; }; + 3E575F5B1F3BBD18D2F79761723A11DD /* OCMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMockObject.h; path = Source/OCMock/OCMockObject.h; sourceTree = ""; }; + 3EB143E81C4238EAC077DA7212F54B30 /* OCMExpectationRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMExpectationRecorder.h; path = Source/OCMock/OCMExpectationRecorder.h; sourceTree = ""; }; + 3EF7EF34591140F4A5862433EB70F47D /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; + 3F1CE803FC332D6299B0CB6230CDDE61 /* EKPropertyHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKPropertyHelper.m; path = Sources/EasyMapping/EKPropertyHelper.m; sourceTree = ""; }; + 3F24B7347E5175E8E064CA728ACB9BF8 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + 40229837A52E6ED9C0B69FEC5ADB1888 /* OCMReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMReturnValueProvider.m; path = Source/OCMock/OCMReturnValueProvider.m; sourceTree = ""; }; + 421C3039442BFCD87FC4413E6AD34BA9 /* OCPartialMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCPartialMockObject.h; path = Source/OCMock/OCPartialMockObject.h; sourceTree = ""; }; + 423BE344FBFBF59C8E1CFCBD43241A7B /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + 43757940370787335E848E5A8DE4B5EF /* SDWebImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCoderHelper.m; path = SDWebImage/SDWebImageCoderHelper.m; sourceTree = ""; }; + 4386997A5D51E37E9769A250F1A5D94C /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = ""; }; + 440A1E391C12A941810C990593DC906C /* libOCMock.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libOCMock.a; path = libOCMock.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 44AC0D9E33165EF4A79178EB9CDFA756 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; + 45469256DA9DBD6A3541E09FD0FF0EFC /* EKManagedObjectMapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectMapper.m; path = Sources/EasyMapping/EKManagedObjectMapper.m; sourceTree = ""; }; + 45D3F6E6167051E455405D3CBD73FA28 /* EKManagedObjectMapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectMapper.h; path = Sources/EasyMapping/EKManagedObjectMapper.h; sourceTree = ""; }; + 460CCC1AC68F13A7B16FDA70A93C5BC9 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = ""; }; + 4708BDF86AB31DF9FE6FD23C863CDE41 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + 47CACA3C086D1FADD9674D5CD54BF599 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = ""; }; + 48EF9ABA3A2F4D2A52025EA32502E14B /* libPods-BitriseTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-BitriseTests.a"; path = "libPods-BitriseTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 49362906C5FC51D8D4D15E79D0FE125E /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; 4A173FB9C0705CAEF4B044DCF0273BD7 /* Pods-BitriseTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-BitriseTests-acknowledgements.plist"; sourceTree = ""; }; + 4BE798358A8254D82AC2A760437BF583 /* OCMObserverRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMObserverRecorder.m; path = Source/OCMock/OCMObserverRecorder.m; sourceTree = ""; }; + 4CAB5D93139273A9E0AC9073775D4EAA /* OCObserverMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCObserverMockObject.m; path = Source/OCMock/OCObserverMockObject.m; sourceTree = ""; }; 4E3A74C1D2E93FA193A6BA5236620FB0 /* Pods-Bitrise.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Bitrise.release.xcconfig"; sourceTree = ""; }; - 4E4183DCF4665F4C5721AB99C436192A /* libSDWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSDWebImage.a; path = libSDWebImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 523459B4658F1A2A594DA766E4CF2C82 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreData.framework; sourceTree = DEVELOPER_DIR; }; - 57A4ADFB9344A1D7D9295F356ADFBA8D /* EKRelationshipMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKRelationshipMapping.h; path = Sources/EasyMapping/EKRelationshipMapping.h; sourceTree = ""; }; + 4E4271238CDDE00F405BB9B66001D21D /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/NSData+ImageContentType.m"; sourceTree = ""; }; + 4FE235E3BA23FC07D1F67244A0FF2400 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 5091A2BDC4A4212CDB54D54B6955010B /* OCProtocolMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCProtocolMockObject.h; path = Source/OCMock/OCProtocolMockObject.h; sourceTree = ""; }; + 50B11966E1A64011B3F93C50DEEB17AF /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; + 50E8A51F0B866231A83811E65FB671C8 /* libSDWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSDWebImage.a; path = libSDWebImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 51665B46865EB29E819563252DD0E74E /* EKObjectMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKObjectMapping.m; path = Sources/EasyMapping/EKObjectMapping.m; sourceTree = ""; }; + 51CAE3A73022236F4A353AC374B846FD /* OCMock-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCMock-prefix.pch"; sourceTree = ""; }; + 51F44AB0A0057EBABB55593CF7FECCBC /* NSObject+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+OCMAdditions.m"; path = "Source/OCMock/NSObject+OCMAdditions.m"; sourceTree = ""; }; + 5228EFF4249217D530002E0C44BAEDC7 /* EKMapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKMapper.m; path = Sources/EasyMapping/EKMapper.m; sourceTree = ""; }; + 52AC5B68538CE634281F1701FE60E763 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + 5313441A3B11BE280200B8CE8992B952 /* OCMVerifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMVerifier.m; path = Source/OCMock/OCMVerifier.m; sourceTree = ""; }; + 53B80291C71F83A880ADBBD0DFB85D0C /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + 57266B4CFDEBBC20432BCF328072F9ED /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; + 57832A6CF2217DEB119D7860A7AACF8C /* OCMInvocationStub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationStub.h; path = Source/OCMock/OCMInvocationStub.h; sourceTree = ""; }; + 58219F654613CD1316695DF12E70411A /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+OCMAdditions.h"; path = "Source/OCMock/NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; 585FD653D947DAE73512CAEA74C58626 /* Pods-Bitrise-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Bitrise-acknowledgements.plist"; sourceTree = ""; }; - 58AA51BA93ADA04BC80BE30594847B0A /* EKPropertyHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKPropertyHelper.h; path = Sources/EasyMapping/EKPropertyHelper.h; sourceTree = ""; }; - 603712D14D80F39AD7631A80A6E3A5C9 /* EKManagedObjectMapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectMapper.m; path = Sources/EasyMapping/EKManagedObjectMapper.m; sourceTree = ""; }; - 67CB8A71CDDD7B8B9A8AD56D7C4C90B8 /* EKSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKSerializer.h; path = Sources/EasyMapping/EKSerializer.h; sourceTree = ""; }; - 6A7836AE2241FB1429BB3A363B43EB9F /* NSImage+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+WebCache.m"; path = "SDWebImage/NSImage+WebCache.m"; sourceTree = ""; }; - 6FC2BB877E9EE6A1DF52F61B63261EF1 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = SDWebImage/SDAnimatedImageRep.m; sourceTree = ""; }; - 7156420514291EF70224F109A2AC5560 /* EKMappingBlocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKMappingBlocks.m; path = Sources/EasyMapping/EKMappingBlocks.m; sourceTree = ""; }; - 75495CF1C53E507190FD6F7423395FFA /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/UIView+WebCache.m"; sourceTree = ""; }; - 7773FB7669DB82F75EDD49C625C6E744 /* NSArray+FlattenArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+FlattenArray.h"; path = "Sources/EasyMapping/NSArray+FlattenArray.h"; sourceTree = ""; }; - 79A40D452BA412F58339C3D008117BDD /* SDWebImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageFrame.m; path = SDWebImage/SDWebImageFrame.m; sourceTree = ""; }; - 79CC63404CE367AD4EE92A1DC88F525C /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = ""; }; - 7B4D5C963D59E0FD4C14805DFEB10492 /* EasyMapping-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EasyMapping-dummy.m"; sourceTree = ""; }; - 7DD029417994303D3F4533EA62D646B8 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = ""; }; - 7E3D6F1BC152EEA2BDA247DE45653C6D /* SDWebImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageGIFCoder.h; path = SDWebImage/SDWebImageGIFCoder.h; sourceTree = ""; }; - 883BCA9A536FBF0CAA22B9BEF12651B0 /* EKPropertyHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKPropertyHelper.m; path = Sources/EasyMapping/EKPropertyHelper.m; sourceTree = ""; }; - 8BE766F76B535FEC1761DA9FF2D0C4E4 /* EKObjectMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKObjectMapping.m; path = Sources/EasyMapping/EKObjectMapping.m; sourceTree = ""; }; - 8FFB0E58DC42DCEB92E80879F9BE5F7E /* SDWebImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageGIFCoder.m; path = SDWebImage/SDWebImageGIFCoder.m; sourceTree = ""; }; - 92DF67926BC1FAE82AA2C11CAFDD4563 /* EasyMapping-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EasyMapping-prefix.pch"; sourceTree = ""; }; + 5BD30F2FBCE1B3CB0FBC5A00CFB2F16B /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + 5D20D670FAACFBD8DDCCA816214D22FD /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; + 5E9039FEBBDD7D37BE5E1484472A2B21 /* OCMRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMRecorder.m; path = Source/OCMock/OCMRecorder.m; sourceTree = ""; }; + 62199DEA7AC15E4EB574C5A909E90158 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 63DD571A30F352EBCEB1BAE5668444FC /* OCMBlockCaller.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBlockCaller.h; path = Source/OCMock/OCMBlockCaller.h; sourceTree = ""; }; + 64AD13CCFA7815585444850BA0210C61 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + 6547A0362A9DB59529048BCB41297208 /* OCMRealObjectForwarder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMRealObjectForwarder.m; path = Source/OCMock/OCMRealObjectForwarder.m; sourceTree = ""; }; + 65772E0F213968E1E431C2A654D27CE2 /* NSInvocation+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCMAdditions.m"; path = "Source/OCMock/NSInvocation+OCMAdditions.m"; sourceTree = ""; }; + 66C76896564911D49CFDDFFEE705A2EF /* OCMExceptionReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMExceptionReturnValueProvider.m; path = Source/OCMock/OCMExceptionReturnValueProvider.m; sourceTree = ""; }; + 672937DCAFB6913EE03858F88550F7FD /* OCMFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMFunctions.m; path = Source/OCMock/OCMFunctions.m; sourceTree = ""; }; + 67AA02129E96254B56231A486D35337B /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; + 69F16F005909FF62704C6AD20F99713B /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + 6AE35E9B9B81A0C2205128EB2D3E45FA /* SDWebImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCodersManager.m; path = SDWebImage/SDWebImageCodersManager.m; sourceTree = ""; }; + 6BEED98DD22C57C344FDDFFAD85973F7 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + 6C399FA44CD6960154D7CA436A63EABF /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; + 6C52EFE3DFDE4FF3C9C6A5EB7A1619A5 /* OCMBlockCaller.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBlockCaller.m; path = Source/OCMock/OCMBlockCaller.m; sourceTree = ""; }; + 6CB2B64C2390710586C379C6B65E204A /* EKManagedObjectModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKManagedObjectModel.m; path = Sources/EasyMapping/EKManagedObjectModel.m; sourceTree = ""; }; + 6CD4ACFE7DFCD1CDC326748E310F68AD /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 725A54BFE02CB9E71AA62D87677838BC /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + 7338A23D2FDCF3693BBFB761080F29C6 /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/UIImage+GIF.h"; sourceTree = ""; }; + 7344E905A2A1A0E377ED66685F3FB762 /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = ""; }; + 739D5AB7A09BF613DF4CB8F65ED6EEED /* SDWebImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageGIFCoder.h; path = SDWebImage/SDWebImageGIFCoder.h; sourceTree = ""; }; + 74570883FDCF02FFEFBEFE04C41A495E /* EasyMapping.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EasyMapping.xcconfig; sourceTree = ""; }; + 77AF8C3F5A3C13FC3BB97EA2811532B4 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/NSButton+WebCache.h"; sourceTree = ""; }; + 7843E3CAEE56E5A2C20807805A097A13 /* OCMInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationMatcher.m; path = Source/OCMock/OCMInvocationMatcher.m; sourceTree = ""; }; + 788DF6F1AC68CFC580956F20064EC30E /* NSArray+FlattenArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+FlattenArray.m"; path = "Sources/EasyMapping/NSArray+FlattenArray.m"; sourceTree = ""; }; + 7A5307E6ECCBC5D78767570A68EF1813 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = ""; }; + 7BBBC92DBAE4F0A7815294346769317C /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + 7D864E1E1561E2982A873F6EA01C4363 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + 7DA711291B8DB36DAC213FB93519650A /* OCMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMock.h; path = Source/OCMock/OCMock.h; sourceTree = ""; }; + 7EDCA1806737830F5A9A3BE8DA25EB99 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + 80FF6418B952D4DEE16346EFBA5E3C60 /* OCMMacroState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMMacroState.m; path = Source/OCMock/OCMMacroState.m; sourceTree = ""; }; + 81E026A3454CDF9827B6AB3BB2E89057 /* OCMInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationMatcher.h; path = Source/OCMock/OCMInvocationMatcher.h; sourceTree = ""; }; + 837889ED26C158E88BA3697A215D0183 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + 84FD9368EA90B822A2DEBB626A40CA05 /* OCMLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMLocation.h; path = Source/OCMock/OCMLocation.h; sourceTree = ""; }; + 8618CC2C2BDCF8B710A920F8B78FF2A0 /* NSObject+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+OCMAdditions.h"; path = "Source/OCMock/NSObject+OCMAdditions.h"; sourceTree = ""; }; + 89CD993F53C6EFE496C3A9FB36D7D28A /* OCPartialMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCPartialMockObject.m; path = Source/OCMock/OCPartialMockObject.m; sourceTree = ""; }; + 89EA8CD2162A2E9EEC5F998EF276F4D6 /* SDWebImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageFrame.h; path = SDWebImage/SDWebImageFrame.h; sourceTree = ""; }; + 8A0958B9F7F75C35D8035133A0EEE181 /* OCMArgAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMArgAction.h; path = Source/OCMock/OCMArgAction.h; sourceTree = ""; }; + 8B2E1393719E608469ACEDA014B9EAF5 /* libEasyMapping.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libEasyMapping.a; path = libEasyMapping.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8B992B198B6DAD26DE5AB76ABA94EA99 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/NSData+ImageContentType.h"; sourceTree = ""; }; + 8BA3961754FF0C91C3152D74C6DBBC52 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = ""; }; + 8E096CABAB839B8C2C8893AFFF54850E /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + 9017E70C6C2B2DE24A3F367D924143E5 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + 90F5025BC5764EA522870BD409154AD8 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + 9113D6EED88D2A8B24E5130A4350D715 /* EKSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKSerializer.m; path = Sources/EasyMapping/EKSerializer.m; sourceTree = ""; }; + 91228C3C744D869C31943C3C0BD23E63 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + 918489B66E8513F4F283147E7037AFBE /* EKMappingProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMappingProtocol.h; path = Sources/EasyMapping/EKMappingProtocol.h; sourceTree = ""; }; + 919FCCE02B2FA6E6187712353BF70201 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; + 921C8C7CB717C7FE133A2796783748C4 /* OCMConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMConstraint.h; path = Source/OCMock/OCMConstraint.h; sourceTree = ""; }; + 925FF75815302FA49B01CAD780D13AEB /* OCMInvocationExpectation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationExpectation.h; path = Source/OCMock/OCMInvocationExpectation.h; sourceTree = ""; }; + 92CFB726B058085275ECB8CBD3448831 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9406243AEDD05BFCDF1F49115D293677 /* EKObjectMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKObjectMapping.h; path = Sources/EasyMapping/EKObjectMapping.h; sourceTree = ""; }; - 95289FEF8378E842D26BEEF9E016BE66 /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = SDWebImage/SDWebImageTransition.m; sourceTree = ""; }; - 95617D116D78DB1D662113A9BE34F30F /* SDWebImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCodersManager.h; path = SDWebImage/SDWebImageCodersManager.h; sourceTree = ""; }; - 9713B399FDC5DA026B8E523318ACD42B /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/SDWebImageDownloaderOperation.m; sourceTree = ""; }; - 9772735377FA1CDE3ED4D852627487ED /* NSDateFormatter+EasyMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDateFormatter+EasyMappingAdditions.h"; path = "Sources/EasyMapping/NSDateFormatter+EasyMappingAdditions.h"; sourceTree = ""; }; - 97E0EAC5C9CB2BAB2363E5CF18A27489 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/SDWebImageCompat.m; sourceTree = ""; }; - 9A2677078FA632408ED005CB413A1F2B /* SDWebImageImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageImageIOCoder.h; path = SDWebImage/SDWebImageImageIOCoder.h; sourceTree = ""; }; - 9C5E0B803FC1BA681ABE2F1F0EB0F1FC /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/UIImage+GIF.m"; sourceTree = ""; }; - 9F4BF23213A64B76FD6CDBA6019A6D67 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = ""; }; - A0D209FB81ADC33BAED30B5AE6BCA426 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = ""; }; - A3F003E35D678CC4530B30E279A68CFA /* EKMapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKMapper.m; path = Sources/EasyMapping/EKMapper.m; sourceTree = ""; }; - A8824D0A7DAE0DB762A2C49381849693 /* libPods-Bitrise.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Bitrise.a"; path = "libPods-Bitrise.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AA193B192CAC81DC8B1E87ACB7E2CDCB /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = SDWebImage/SDAnimatedImageRep.h; sourceTree = ""; }; - AB93EA96A5DE16F0EC2E6B171624B271 /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/UIImage+GIF.h"; sourceTree = ""; }; - B069B262892668073C6C801C3D8C2BC8 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/UIImage+ForceDecode.h"; sourceTree = ""; }; - B0A539E466E94B9AF254A6A6F514BCA5 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/SDWebImageDownloaderOperation.h; sourceTree = ""; }; - B20F2D58E3BE041D2D43E748517A421B /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = ""; }; + 9478A7356256A8A67B5FA9E5500D630F /* EKManagedObjectModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectModel.h; path = Sources/EasyMapping/EKManagedObjectModel.h; sourceTree = ""; }; + 951D4B1B23F313B624C75757F8D4E6F4 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = ""; }; + 95CA50D651AF9ADED0A45FA1986C18C2 /* EasyMapping-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EasyMapping-dummy.m"; sourceTree = ""; }; + 95E0DBD1D6C38A2F72AB354CEEB4B791 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + 987F6768343366FCAA54F5A6BB008DC6 /* OCMPassByRefSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMPassByRefSetter.m; path = Source/OCMock/OCMPassByRefSetter.m; sourceTree = ""; }; + 9ABEBFB094B230F63EF99313B2442E38 /* OCMBoxedReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBoxedReturnValueProvider.m; path = Source/OCMock/OCMBoxedReturnValueProvider.m; sourceTree = ""; }; + 9BBF509D609477CFFB200FD58FBF81F2 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + 9C1FBDA1DF91BAF73365E0A708973D3B /* OCMExceptionReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMExceptionReturnValueProvider.h; path = Source/OCMock/OCMExceptionReturnValueProvider.h; sourceTree = ""; }; + 9CD1EFED8B065931DC7FDF73FD8425F8 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = ""; }; + 9D493F4F87BDCA6E0AB84769013DACF6 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; + 9D9E49C8F2C6B4905F47A2163C7F5EE1 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = ""; }; + 9E2CACB5E18C53F8068A89E1D7A5F5C1 /* NSInvocation+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCMAdditions.h"; path = "Source/OCMock/NSInvocation+OCMAdditions.h"; sourceTree = ""; }; + 9ECF87E9D04EDB86AAF430D43A57CFE4 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + A0437FB7841C8AFEED080B874742FF5C /* EKSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKSerializer.h; path = Sources/EasyMapping/EKSerializer.h; sourceTree = ""; }; + A1BB607ADEFBE2577AF0DD5D39DAFCD2 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/UIView+WebCache.h"; sourceTree = ""; }; + A1CB9A08A490B41588019FEE40AA52BF /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; + A279AA682A33D7B8216FC1231FCB4F16 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; + A29B7FDCDAEE7F88F2233717B0666C60 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/UIImage+MultiFormat.m"; sourceTree = ""; }; + A45E12F05061164A3EBBA78F1168C2C7 /* OCMInvocationExpectation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationExpectation.m; path = Source/OCMock/OCMInvocationExpectation.m; sourceTree = ""; }; + A6175A9B84DC3C3D0A1D920B21CC5BB1 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + A7AAD03092210D4FED060B7142A5C781 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = SDWebImage/SDAnimatedImageRep.h; sourceTree = ""; }; + A9F7A2EA0E08D01E9DA57C33ED86B514 /* EKObjectModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKObjectModel.m; path = Sources/EasyMapping/EKObjectModel.m; sourceTree = ""; }; + AA094586C9F77826EAE01CC4874925EC /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; + AAB73639A7C6F5069EA3C9E1408488D7 /* EKMapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMapper.h; path = Sources/EasyMapping/EKMapper.h; sourceTree = ""; }; + AE39E1CF16DCABB6E3BC4A0AC67C317B /* libPods-Bitrise.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Bitrise.a"; path = "libPods-Bitrise.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AED7E93D45BB7393CDE4CF741C85BB0F /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/SDWebImageCompat.m; sourceTree = ""; }; + B0703C1A0BC33C96A74C16AD8B28AF5C /* OCMFunctionsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMFunctionsPrivate.h; path = Source/OCMock/OCMFunctionsPrivate.h; sourceTree = ""; }; + B15374EA47331FEF7F3DDE50D03B5D88 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreData.framework; sourceTree = DEVELOPER_DIR; }; + B18270B5B4973100C7C03FFE27B76607 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B2785B1F5E75F7E1D845E06ABC90FE11 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + B2CFED5DB79EA3E6263E5A405FC0D9B4 /* OCMIndirectReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMIndirectReturnValueProvider.h; path = Source/OCMock/OCMIndirectReturnValueProvider.h; sourceTree = ""; }; + B5329FC07CAB763D138A01D6E6778C44 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + B55C7F6DB2D62F997E794E5877C98717 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; B57A52961C48A4D3097094BC66639A37 /* Pods-BitriseTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-BitriseTests.debug.xcconfig"; sourceTree = ""; }; + B609C2BA6CE74D2C84D688BCE743D937 /* OCMIndirectReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMIndirectReturnValueProvider.m; path = Source/OCMock/OCMIndirectReturnValueProvider.m; sourceTree = ""; }; + B65CA4772BD34F9F5FC0B2726E2C6514 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; B68894F6585B294FF5551AAB01F2AF13 /* Pods-BitriseTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-BitriseTests.release.xcconfig"; sourceTree = ""; }; + B71174280C197813BF65A46BD6BAB222 /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/SDImageCacheConfig.m; sourceTree = ""; }; + B78324DC1E1EAD0C3BD6D09A030280F9 /* NSImage+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+WebCache.h"; path = "SDWebImage/NSImage+WebCache.h"; sourceTree = ""; }; + B8807E1F2C462852C4C9DB41D89662DD /* OCMBoxedReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBoxedReturnValueProvider.h; path = Source/OCMock/OCMBoxedReturnValueProvider.h; sourceTree = ""; }; + B8A02FF98B553C5D4A0F340C91360FF2 /* OCMStubRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMStubRecorder.m; path = Source/OCMock/OCMStubRecorder.m; sourceTree = ""; }; + B9C3E0FD5A1BFD12E095386DC5628B6D /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = ""; }; + B9FC2427457A5B2F779510170D20E7CC /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; + BAFDD6620D3FDC45B8215C73488A75B2 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; BDD2BA642739FD1A07C290E583471BC9 /* Pods-BitriseTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-BitriseTests-frameworks.sh"; sourceTree = ""; }; - BF1F2C2D98C6E2853D979F1CCDB4C770 /* EKCoreDataImporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKCoreDataImporter.h; path = Sources/EasyMapping/EKCoreDataImporter.h; sourceTree = ""; }; + C0C88184529F212F65FC3A65F628DD57 /* NSDateFormatter+EasyMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDateFormatter+EasyMappingAdditions.h"; path = "Sources/EasyMapping/NSDateFormatter+EasyMappingAdditions.h"; sourceTree = ""; }; C1BD31423BC949219B42B98CF4869CE8 /* Pods-BitriseTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-BitriseTests-dummy.m"; sourceTree = ""; }; - C22D268A68F0BE556E5337FB4A10BCFE /* EKCoreDataImporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKCoreDataImporter.m; path = Sources/EasyMapping/EKCoreDataImporter.m; sourceTree = ""; }; - C48A47BB072D753855FCC5436B389EDC /* libPods-BitriseTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-BitriseTests.a"; path = "libPods-BitriseTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C376205540F2A60C7B8114CC978D6EDA /* SDWebImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageFrame.m; path = SDWebImage/SDWebImageFrame.m; sourceTree = ""; }; + C4490FD1FA4F0893281AD00775D31A97 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = ""; }; C48BD884FCCAD6407AE304B7CE255C7C /* Pods-Bitrise-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Bitrise-resources.sh"; sourceTree = ""; }; - C69FD56DA88B4C1E1CC6262249D61AEC /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = ""; }; - C74D91A119EF6672D2257B83BE90EB62 /* EKManagedObjectModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectModel.h; path = Sources/EasyMapping/EKManagedObjectModel.h; sourceTree = ""; }; - CA3C8B7DEB66B1CFB19F315EE5AF60BF /* libEasyMapping.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libEasyMapping.a; path = libEasyMapping.a; sourceTree = BUILT_PRODUCTS_DIR; }; - CBB39E299B2FCC87BDAA60BE9FE06A14 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/SDWebImageOperation.h; sourceTree = ""; }; - D16B324DCFB08CBE25B025F8FB18DE95 /* EKManagedObjectMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKManagedObjectMapping.h; path = Sources/EasyMapping/EKManagedObjectMapping.h; sourceTree = ""; }; - D1CC7BB8062E9FDB2EE849AC74ECA8BF /* NSArray+FlattenArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+FlattenArray.m"; path = "Sources/EasyMapping/NSArray+FlattenArray.m"; sourceTree = ""; }; + C57DDB57CE25E47AA28EEAB8241531C6 /* EKRelationshipMapping.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKRelationshipMapping.h; path = Sources/EasyMapping/EKRelationshipMapping.h; sourceTree = ""; }; + C7B99CCCC290129141448120564925A9 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + C9CF7969767174CC65B4C6A3A64E1949 /* EKMappingBlocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKMappingBlocks.m; path = Sources/EasyMapping/EKMappingBlocks.m; sourceTree = ""; }; + CD00520D736F4DC065391A2BF2AE25B8 /* OCMock-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCMock-dummy.m"; sourceTree = ""; }; + CDA46ACE6C714479FA594D4C9889FDB9 /* NSMethodSignature+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMethodSignature+OCMAdditions.h"; path = "Source/OCMock/NSMethodSignature+OCMAdditions.h"; sourceTree = ""; }; + CE19E5BB627F48BBC08B1B24CA046527 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + CE2F1927079223235D91585C780B3EF3 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + CE6B625532033ED5F74ADE59558ACF11 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/UIImage+GIF.m"; sourceTree = ""; }; + CEE1B4168D5A995D20016C1F1F47513A /* EKMappingBlocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMappingBlocks.h; path = Sources/EasyMapping/EKMappingBlocks.h; sourceTree = ""; }; + CFE6536AACF60079D2EF96BE6CB80E4F /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + CFED0F81280EE87CF6174127A22AC747 /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/NSButton+WebCache.m"; sourceTree = ""; }; + D005188AA36CBCD3D5A2BEC2F9E85CCA /* EKObjectModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKObjectModel.h; path = Sources/EasyMapping/EKObjectModel.h; sourceTree = ""; }; + D1049E9D208698EB482A8647817AC402 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; D323BD0868B4B1B6E1A0545B38C1F39D /* Pods-Bitrise-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Bitrise-acknowledgements.markdown"; sourceTree = ""; }; - D5AC678469C5D6DC2F6E3943A0DC3F1C /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/UIView+WebCacheOperation.h"; sourceTree = ""; }; - D8C6BED5BABED9FB720B164CEB707ABC /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = ""; }; - DAAA95A182243B78CC8647E6C151F622 /* EKObjectModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKObjectModel.h; path = Sources/EasyMapping/EKObjectModel.h; sourceTree = ""; }; - DB8BBAB989F43B15A01AB8A4D3E05FC3 /* EKMappingBlocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMappingBlocks.h; path = Sources/EasyMapping/EKMappingBlocks.h; sourceTree = ""; }; - DE296D5F434A95EA5EAA3E0148DF5A56 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = ""; }; - DF45D246B9EA83FC19F785D3FD5BE307 /* SDWebImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCoderHelper.h; path = SDWebImage/SDWebImageCoderHelper.h; sourceTree = ""; }; - E1459E03929F04E4ADC3CB6509C42592 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/NSData+ImageContentType.h"; sourceTree = ""; }; - E30B583892A6114A0DDEF84DC739C58F /* EKRelationshipMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKRelationshipMapping.m; path = Sources/EasyMapping/EKRelationshipMapping.m; sourceTree = ""; }; - E3E3423091003F622D9E912A1CA67260 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/UIImage+MultiFormat.m"; sourceTree = ""; }; - E4B1A0669AE64C815933D62DDB81FF2F /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = ""; }; - E8E891A52FBBF31D18E137CE0A999704 /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = SDWebImage/SDWebImageTransition.h; sourceTree = ""; }; - EB1B615F1841C042317FAD865DABAA82 /* EKMapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKMapper.h; path = Sources/EasyMapping/EKMapper.h; sourceTree = ""; }; - EB25A4A1D151D89792F35A2755577DA2 /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/SDImageCacheConfig.m; sourceTree = ""; }; - EC06F117D5AE5F665FBFC4E4C52C89DF /* SDWebImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageFrame.h; path = SDWebImage/SDWebImageFrame.h; sourceTree = ""; }; - EC5294C4764A090587B40BD1DD7B0D96 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = ""; }; - EDAE9F18BB8BCF22F24AC03C5E32AA37 /* SDWebImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCodersManager.m; path = SDWebImage/SDWebImageCodersManager.m; sourceTree = ""; }; - EE38A51B52384073D5BE1FCF1B7DCB0D /* SDWebImageImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageImageIOCoder.m; path = SDWebImage/SDWebImageImageIOCoder.m; sourceTree = ""; }; + D422108DFCFBB3010A27EEB6AC1C1696 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; + D5F7CE41E55428890A7423A8B8453AD4 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = SDWebImage/SDAnimatedImageRep.m; sourceTree = ""; }; + D635FF0BFCA843565DBB707195CD5D2E /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; + D74AC627A98CCFFFB048C32328EC25DA /* OCMArg.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMArg.h; path = Source/OCMock/OCMArg.h; sourceTree = ""; }; + D817BE16F147C882670A7E5546138EEA /* NSValue+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+OCMAdditions.h"; path = "Source/OCMock/NSValue+OCMAdditions.h"; sourceTree = ""; }; + D852E8D7F6BE02A85296DC99650C4216 /* EKCoreDataImporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EKCoreDataImporter.h; path = Sources/EasyMapping/EKCoreDataImporter.h; sourceTree = ""; }; + DB48AAE80FF88DF9EAFD246207268987 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + DCF8F90714ADCD981897DF97AA7810BC /* OCMConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMConstraint.m; path = Source/OCMock/OCMConstraint.m; sourceTree = ""; }; + DD8AC2163321CFF9C053F8A9574306D8 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + DECA9B80FE14F183CD9E9E8EBE041B8A /* OCClassMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCClassMockObject.m; path = Source/OCMock/OCClassMockObject.m; sourceTree = ""; }; + DF19F95305CA1E097DAB21B122EC8FE5 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + DFC149987B03D3DE4CD908E1024D0CFF /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + E15D54715ABBB2F3D6A958B42250DD89 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + E34E5651E9EF80FF4A7AF3795F64EBF8 /* SDWebImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCoder.m; path = SDWebImage/SDWebImageCoder.m; sourceTree = ""; }; + E453EE0155C6BBA677F3084669DD3B79 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + E59DF79EAAD5AE9D47B17FE0D61A606C /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; + E7E10EB6E72D6B4CC1E6C01BDA83478C /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/SDWebImageDownloaderOperation.h; sourceTree = ""; }; + E8A44DF6781BD2015139935AFD5411BB /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + E92F27D06128B6A622A585CCA9D4788A /* OCMStubRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMStubRecorder.h; path = Source/OCMock/OCMStubRecorder.h; sourceTree = ""; }; + E9CF408E92DBDF99DF5C23EF23EF9AF4 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; + EAEE94778D76EDEB2DB07C0DFABE75D0 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + EB9D3B0A6FC4F7025112A068C5974704 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; + ECD8A5DD57F38038D412FBF900D4567B /* OCMReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMReturnValueProvider.h; path = Source/OCMock/OCMReturnValueProvider.h; sourceTree = ""; }; + EEC6ADDA6A221DA7F9A9D3EB1DBE7AC0 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + EECFDCB70C2A43763A39496E4BF401B2 /* OCMMacroState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMMacroState.h; path = Source/OCMock/OCMMacroState.h; sourceTree = ""; }; + F03AAF26D3C6A36EE9FA745FCD932BEB /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/UIView+WebCacheOperation.h"; sourceTree = ""; }; F079383C4658C0F0789BB5D6E4EA8959 /* Pods-Bitrise-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Bitrise-frameworks.sh"; sourceTree = ""; }; - F47FAE03EE7440FEBDBF580725C47929 /* SDWebImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCoderHelper.m; path = SDWebImage/SDWebImageCoderHelper.m; sourceTree = ""; }; + F14AF65AE2AF9154F7174FBB7E56D5A0 /* OCMNotificationPoster.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMNotificationPoster.m; path = Source/OCMock/OCMNotificationPoster.m; sourceTree = ""; }; + F38189D2BF68EBDC09296D06BCEE6A93 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/SDImageCacheConfig.h; sourceTree = ""; }; + F748D2D26DA72F086B398E33BF33FB70 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "SDWebImage/UIImage+ForceDecode.m"; sourceTree = ""; }; + F7D23C0E87953CF557E1A5734E5E2C60 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + FA0B247D0F309C2388497D2D86335FE8 /* EKRelationshipMapping.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKRelationshipMapping.m; path = Sources/EasyMapping/EKRelationshipMapping.m; sourceTree = ""; }; + FAF54CAF918C79D86F23989CBED6366E /* OCMVerifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMVerifier.h; path = Source/OCMock/OCMVerifier.h; sourceTree = ""; }; FB42C57D80A5CF6CE14007D4BE1BF1B0 /* Pods-Bitrise.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Bitrise.debug.xcconfig"; sourceTree = ""; }; - FB4B3C06C2FDE8463CFF990AAFE4F4BB /* SDWebImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCoder.m; path = SDWebImage/SDWebImageCoder.m; sourceTree = ""; }; - FBD7F40B66934ED7D5861CBCDFB1DCC4 /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/NSButton+WebCache.m"; sourceTree = ""; }; - FD1E4502F64989E74EB27A495E006DE6 /* EKObjectModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EKObjectModel.m; path = Sources/EasyMapping/EKObjectModel.m; sourceTree = ""; }; + FD59847FEF3941586C8E617746201C65 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/SDWebImageOperation.h; sourceTree = ""; }; + FD7A55FA06443936FD4EF2EE1F92A637 /* OCClassMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCClassMockObject.h; path = Source/OCMock/OCClassMockObject.h; sourceTree = ""; }; FD8280115AF0E17938789749CB3206F6 /* Pods-BitriseTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-BitriseTests-resources.sh"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 420187B848C7C70CADE85A9C2DC45979 /* Frameworks */ = { + 720DE65488D6023B38F49DD0FD3121B5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 270D9E3BE65697B9F6273A49DDFFF38D /* ImageIO.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 720DE65488D6023B38F49DD0FD3121B5 /* Frameworks */ = { + 75886AD9E9E6D122DD89B35A2D61B59D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 270D9E3BE65697B9F6273A49DDFFF38D /* ImageIO.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -264,49 +574,118 @@ ); runOnlyForDeploymentPostprocessing = 0; }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0BB905D2ADA261168E15204839380BC4 /* Support Files */ = { - isa = PBXGroup; - children = ( - 2C9F3B28BC21CEC69D545C601DBEC8E6 /* SDWebImage.xcconfig */, - D8C6BED5BABED9FB720B164CEB707ABC /* SDWebImage-dummy.m */, - A0D209FB81ADC33BAED30B5AE6BCA426 /* SDWebImage-prefix.pch */, + C612259F05A2C8B976735ABC62436A36 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FCB51A2A508AC0AC784278DDCEC764BA /* Foundation.framework in Frameworks */, + 6E96E07614A8526F090B953BB1FDFAB4 /* XCTest.framework in Frameworks */, ); - name = "Support Files"; - path = "../Target Support Files/SDWebImage"; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 0D76BAF84141666F809A6B9BA27FD2E8 /* Products */ = { - isa = PBXGroup; - children = ( - CA3C8B7DEB66B1CFB19F315EE5AF60BF /* libEasyMapping.a */, - A8824D0A7DAE0DB762A2C49381849693 /* libPods-Bitrise.a */, - C48A47BB072D753855FCC5436B389EDC /* libPods-BitriseTests.a */, - 4E4183DCF4665F4C5721AB99C436192A /* libSDWebImage.a */, + CC8D84C57135F26869A142935BE2E03A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - name = Products; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 16EB478711C452DD0D87366AE8B67B00 /* Support Files */ = { +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 02E7A90C32DD9DFD05C61514E5361E40 /* Expecta */ = { isa = PBXGroup; children = ( - 46D2AEE765AA1E5B7F6BC0040F6BCCBE /* EasyMapping.xcconfig */, - 7B4D5C963D59E0FD4C14805DFEB10492 /* EasyMapping-dummy.m */, - 92DF67926BC1FAE82AA2C11CAFDD4563 /* EasyMapping-prefix.pch */, + 64AD13CCFA7815585444850BA0210C61 /* EXPBlockDefinedMatcher.h */, + 919FCCE02B2FA6E6187712353BF70201 /* EXPBlockDefinedMatcher.m */, + 6CD4ACFE7DFCD1CDC326748E310F68AD /* EXPDefines.h */, + 1EDA94D545E54ECA9B20A3940B0197A1 /* EXPDoubleTuple.h */, + 53B80291C71F83A880ADBBD0DFB85D0C /* EXPDoubleTuple.m */, + 9017E70C6C2B2DE24A3F367D924143E5 /* Expecta.h */, + 50B11966E1A64011B3F93C50DEEB17AF /* ExpectaObject.h */, + F7D23C0E87953CF557E1A5734E5E2C60 /* ExpectaObject.m */, + 32C6D39CF18E436C13EBD370F0B5D85B /* ExpectaSupport.h */, + 8E096CABAB839B8C2C8893AFFF54850E /* ExpectaSupport.m */, + A279AA682A33D7B8216FC1231FCB4F16 /* EXPExpect.h */, + E8A44DF6781BD2015139935AFD5411BB /* EXPExpect.m */, + 6C399FA44CD6960154D7CA436A63EABF /* EXPFloatTuple.h */, + CE19E5BB627F48BBC08B1B24CA046527 /* EXPFloatTuple.m */, + DB48AAE80FF88DF9EAFD246207268987 /* EXPMatcher.h */, + EAEE94778D76EDEB2DB07C0DFABE75D0 /* EXPMatcherHelpers.h */, + 9ECF87E9D04EDB86AAF430D43A57CFE4 /* EXPMatcherHelpers.m */, + 2007179C3361B1DF8DFC8DE485E0631E /* EXPMatchers.h */, + D635FF0BFCA843565DBB707195CD5D2E /* EXPMatchers+beCloseTo.h */, + 44AC0D9E33165EF4A79178EB9CDFA756 /* EXPMatchers+beCloseTo.m */, + 4FE235E3BA23FC07D1F67244A0FF2400 /* EXPMatchers+beFalsy.h */, + EEC6ADDA6A221DA7F9A9D3EB1DBE7AC0 /* EXPMatchers+beFalsy.m */, + DD8AC2163321CFF9C053F8A9574306D8 /* EXPMatchers+beginWith.h */, + 9D493F4F87BDCA6E0AB84769013DACF6 /* EXPMatchers+beginWith.m */, + 38D2FC2E8E6241B846840F10E98D0E23 /* EXPMatchers+beGreaterThan.h */, + 49362906C5FC51D8D4D15E79D0FE125E /* EXPMatchers+beGreaterThan.m */, + 5BD30F2FBCE1B3CB0FBC5A00CFB2F16B /* EXPMatchers+beGreaterThanOrEqualTo.h */, + 5D20D670FAACFBD8DDCCA816214D22FD /* EXPMatchers+beGreaterThanOrEqualTo.m */, + DF19F95305CA1E097DAB21B122EC8FE5 /* EXPMatchers+beIdenticalTo.h */, + CE2F1927079223235D91585C780B3EF3 /* EXPMatchers+beIdenticalTo.m */, + 725A54BFE02CB9E71AA62D87677838BC /* EXPMatchers+beInstanceOf.h */, + 2EF997052F4AACA085CE95FA2EC269D1 /* EXPMatchers+beInstanceOf.m */, + 92CFB726B058085275ECB8CBD3448831 /* EXPMatchers+beInTheRangeOf.h */, + 2D097C749295E3EF05CC688A32526DD5 /* EXPMatchers+beInTheRangeOf.m */, + 6BEED98DD22C57C344FDDFFAD85973F7 /* EXPMatchers+beKindOf.h */, + 7EDCA1806737830F5A9A3BE8DA25EB99 /* EXPMatchers+beKindOf.m */, + 18397D9DBB859596C9A8327223C0A166 /* EXPMatchers+beLessThan.h */, + A1CB9A08A490B41588019FEE40AA52BF /* EXPMatchers+beLessThan.m */, + 62199DEA7AC15E4EB574C5A909E90158 /* EXPMatchers+beLessThanOrEqualTo.h */, + 9BBF509D609477CFFB200FD58FBF81F2 /* EXPMatchers+beLessThanOrEqualTo.m */, + 146799116CF4682CD9604F7C9C334F8E /* EXPMatchers+beNil.h */, + C7B99CCCC290129141448120564925A9 /* EXPMatchers+beNil.m */, + B2785B1F5E75F7E1D845E06ABC90FE11 /* EXPMatchers+beSubclassOf.h */, + 52AC5B68538CE634281F1701FE60E763 /* EXPMatchers+beSubclassOf.m */, + 3F24B7347E5175E8E064CA728ACB9BF8 /* EXPMatchers+beSupersetOf.h */, + 085467CD1A23A38A116ADA1657E4AFD0 /* EXPMatchers+beSupersetOf.m */, + E59DF79EAAD5AE9D47B17FE0D61A606C /* EXPMatchers+beTruthy.h */, + D1049E9D208698EB482A8647817AC402 /* EXPMatchers+beTruthy.m */, + 67AA02129E96254B56231A486D35337B /* EXPMatchers+conformTo.h */, + 001AFA2CDC59E3838DFDFA0B1CAE3EDA /* EXPMatchers+conformTo.m */, + B55C7F6DB2D62F997E794E5877C98717 /* EXPMatchers+contain.h */, + EB9D3B0A6FC4F7025112A068C5974704 /* EXPMatchers+contain.m */, + DFC149987B03D3DE4CD908E1024D0CFF /* EXPMatchers+endWith.h */, + 7D864E1E1561E2982A873F6EA01C4363 /* EXPMatchers+endWith.m */, + 26716C03C5E2C75753B14611B673671D /* EXPMatchers+equal.h */, + CFE6536AACF60079D2EF96BE6CB80E4F /* EXPMatchers+equal.m */, + B65CA4772BD34F9F5FC0B2726E2C6514 /* EXPMatchers+haveCountOf.h */, + 837889ED26C158E88BA3697A215D0183 /* EXPMatchers+haveCountOf.m */, + 95E0DBD1D6C38A2F72AB354CEEB4B791 /* EXPMatchers+match.h */, + B9FC2427457A5B2F779510170D20E7CC /* EXPMatchers+match.m */, + 69F16F005909FF62704C6AD20F99713B /* EXPMatchers+postNotification.h */, + E453EE0155C6BBA677F3084669DD3B79 /* EXPMatchers+postNotification.m */, + 4708BDF86AB31DF9FE6FD23C863CDE41 /* EXPMatchers+raise.h */, + 108C2A0A66525C7F5C80B1AA396D6A91 /* EXPMatchers+raise.m */, + 423BE344FBFBF59C8E1CFCBD43241A7B /* EXPMatchers+raiseWithReason.h */, + AA094586C9F77826EAE01CC4874925EC /* EXPMatchers+raiseWithReason.m */, + 19D5ED562B917E96E8DB48ACA7D12D77 /* EXPMatchers+respondTo.h */, + 3EF7EF34591140F4A5862433EB70F47D /* EXPMatchers+respondTo.m */, + E9CF408E92DBDF99DF5C23EF23EF9AF4 /* EXPUnsupportedObject.h */, + B5329FC07CAB763D138A01D6E6778C44 /* EXPUnsupportedObject.m */, + 91228C3C744D869C31943C3C0BD23E63 /* NSObject+Expecta.h */, + 7BBBC92DBAE4F0A7815294346769317C /* NSValue+Expecta.h */, + BAFDD6620D3FDC45B8215C73488A75B2 /* NSValue+Expecta.m */, + 231481E67849402EF463F41085F4823B /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/EasyMapping"; + name = Expecta; + path = Expecta; sourceTree = ""; }; - 173B2EE5526FC713C4D101E7BCE277DE /* OS X */ = { + 036FC573053334DEA4F23A94F10E4888 /* Products */ = { isa = PBXGroup; children = ( - 523459B4658F1A2A594DA766E4CF2C82 /* CoreData.framework */, - 471AB6582915B9CC2D5157B047E4CF8A /* ImageIO.framework */, + 8B2E1393719E608469ACEDA014B9EAF5 /* libEasyMapping.a */, + B18270B5B4973100C7C03FFE27B76607 /* libExpecta.a */, + 440A1E391C12A941810C990593DC906C /* libOCMock.a */, + AE39E1CF16DCABB6E3BC4A0AC67C317B /* libPods-Bitrise.a */, + 48EF9ABA3A2F4D2A52025EA32502E14B /* libPods-BitriseTests.a */, + 50E8A51F0B866231A83811E65FB671C8 /* libSDWebImage.a */, ); - name = "OS X"; + name = Products; sourceTree = ""; }; 1E18C8366D814E0101ECBDCCD2D7F7D0 /* Pods-Bitrise */ = { @@ -333,113 +712,194 @@ name = "Targets Support Files"; sourceTree = ""; }; - 2494FC58688D7003C6A8115409D19C01 /* Core */ = { + 231481E67849402EF463F41085F4823B /* Support Files */ = { isa = PBXGroup; children = ( - 475636DE9AC31758584A12F0CCDA1B68 /* NSButton+WebCache.h */, - FBD7F40B66934ED7D5861CBCDFB1DCC4 /* NSButton+WebCache.m */, - E1459E03929F04E4ADC3CB6509C42592 /* NSData+ImageContentType.h */, - 2302DB8119A402DAC7E49167A1C96D9F /* NSData+ImageContentType.m */, - 0E4EF34C2DC921865BA51DE6160E5036 /* NSImage+WebCache.h */, - 6A7836AE2241FB1429BB3A363B43EB9F /* NSImage+WebCache.m */, - AA193B192CAC81DC8B1E87ACB7E2CDCB /* SDAnimatedImageRep.h */, - 6FC2BB877E9EE6A1DF52F61B63261EF1 /* SDAnimatedImageRep.m */, - 393C8B0188B0ACD77C22EBF4D497AB4F /* SDImageCache.h */, - E4B1A0669AE64C815933D62DDB81FF2F /* SDImageCache.m */, - 2CC8F2E2658D0E7CB11301768999EA4C /* SDImageCacheConfig.h */, - EB25A4A1D151D89792F35A2755577DA2 /* SDImageCacheConfig.m */, - 025D55DE3AF110596EC24AAB7291C7A3 /* SDWebImageCoder.h */, - FB4B3C06C2FDE8463CFF990AAFE4F4BB /* SDWebImageCoder.m */, - DF45D246B9EA83FC19F785D3FD5BE307 /* SDWebImageCoderHelper.h */, - F47FAE03EE7440FEBDBF580725C47929 /* SDWebImageCoderHelper.m */, - 95617D116D78DB1D662113A9BE34F30F /* SDWebImageCodersManager.h */, - EDAE9F18BB8BCF22F24AC03C5E32AA37 /* SDWebImageCodersManager.m */, - 7DD029417994303D3F4533EA62D646B8 /* SDWebImageCompat.h */, - 97E0EAC5C9CB2BAB2363E5CF18A27489 /* SDWebImageCompat.m */, - 28791766E11BF2CA632F354B7E082BF2 /* SDWebImageDownloader.h */, - 14349E2DC16CBD9A08C539551F1FC95B /* SDWebImageDownloader.m */, - B0A539E466E94B9AF254A6A6F514BCA5 /* SDWebImageDownloaderOperation.h */, - 9713B399FDC5DA026B8E523318ACD42B /* SDWebImageDownloaderOperation.m */, - EC06F117D5AE5F665FBFC4E4C52C89DF /* SDWebImageFrame.h */, - 79A40D452BA412F58339C3D008117BDD /* SDWebImageFrame.m */, - 7E3D6F1BC152EEA2BDA247DE45653C6D /* SDWebImageGIFCoder.h */, - 8FFB0E58DC42DCEB92E80879F9BE5F7E /* SDWebImageGIFCoder.m */, - 9A2677078FA632408ED005CB413A1F2B /* SDWebImageImageIOCoder.h */, - EE38A51B52384073D5BE1FCF1B7DCB0D /* SDWebImageImageIOCoder.m */, - 19244D3304760F0EE9F2C47EFEE7F5C5 /* SDWebImageManager.h */, - 9F4BF23213A64B76FD6CDBA6019A6D67 /* SDWebImageManager.m */, - CBB39E299B2FCC87BDAA60BE9FE06A14 /* SDWebImageOperation.h */, - 79CC63404CE367AD4EE92A1DC88F525C /* SDWebImagePrefetcher.h */, - DE296D5F434A95EA5EAA3E0148DF5A56 /* SDWebImagePrefetcher.m */, - E8E891A52FBBF31D18E137CE0A999704 /* SDWebImageTransition.h */, - 95289FEF8378E842D26BEEF9E016BE66 /* SDWebImageTransition.m */, - 2A4CBF2ACC3325AB112D2957B0B77D1E /* UIButton+WebCache.h */, - 428D2D335FAF76905494B50A8A9D9EC6 /* UIButton+WebCache.m */, - B069B262892668073C6C801C3D8C2BC8 /* UIImage+ForceDecode.h */, - 24CE5DE199661A642241BDB2D51FCF39 /* UIImage+ForceDecode.m */, - AB93EA96A5DE16F0EC2E6B171624B271 /* UIImage+GIF.h */, - 9C5E0B803FC1BA681ABE2F1F0EB0F1FC /* UIImage+GIF.m */, - C69FD56DA88B4C1E1CC6262249D61AEC /* UIImage+MultiFormat.h */, - E3E3423091003F622D9E912A1CA67260 /* UIImage+MultiFormat.m */, - 0621348ECC1EDB1FA1BA942E2E34B0BB /* UIImageView+HighlightedWebCache.h */, - B20F2D58E3BE041D2D43E748517A421B /* UIImageView+HighlightedWebCache.m */, - EC5294C4764A090587B40BD1DD7B0D96 /* UIImageView+WebCache.h */, - 465F7B5FDFBE22CE76525286BC835D7C /* UIImageView+WebCache.m */, - 1D86D2BF81CFFD84F218C3C3EFCBA0E7 /* UIView+WebCache.h */, - 75495CF1C53E507190FD6F7423395FFA /* UIView+WebCache.m */, - D5AC678469C5D6DC2F6E3943A0DC3F1C /* UIView+WebCacheOperation.h */, - 49ED795E93B8748D907919C3620FAD7D /* UIView+WebCacheOperation.m */, + 57266B4CFDEBBC20432BCF328072F9ED /* Expecta.xcconfig */, + D422108DFCFBB3010A27EEB6AC1C1696 /* Expecta-dummy.m */, + 90F5025BC5764EA522870BD409154AD8 /* Expecta-prefix.pch */, ); - name = Core; + name = "Support Files"; + path = "../Target Support Files/Expecta"; + sourceTree = ""; + }; + 3090EB247E7B197F124FE07CA42F4AF7 /* Support Files */ = { + isa = PBXGroup; + children = ( + 0FFC430EAAE0E4ACE2F097D3B952D28C /* SDWebImage.xcconfig */, + 2143107B6ECEE4F4E11B624ED4A9833C /* SDWebImage-dummy.m */, + 4386997A5D51E37E9769A250F1A5D94C /* SDWebImage-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/SDWebImage"; + sourceTree = ""; + }; + 40ABD98E712A5053984BC199ED6DA104 /* OCMock */ = { + isa = PBXGroup; + children = ( + 9E2CACB5E18C53F8068A89E1D7A5F5C1 /* NSInvocation+OCMAdditions.h */, + 65772E0F213968E1E431C2A654D27CE2 /* NSInvocation+OCMAdditions.m */, + CDA46ACE6C714479FA594D4C9889FDB9 /* NSMethodSignature+OCMAdditions.h */, + 241FCAEAF9F7EAD401CB528F5D04E4EB /* NSMethodSignature+OCMAdditions.m */, + 58219F654613CD1316695DF12E70411A /* NSNotificationCenter+OCMAdditions.h */, + 05FF385CF9E56CA66024BB92C4E50443 /* NSNotificationCenter+OCMAdditions.m */, + 8618CC2C2BDCF8B710A920F8B78FF2A0 /* NSObject+OCMAdditions.h */, + 51F44AB0A0057EBABB55593CF7FECCBC /* NSObject+OCMAdditions.m */, + D817BE16F147C882670A7E5546138EEA /* NSValue+OCMAdditions.h */, + 0E279639335FB094CF18387FE808C54C /* NSValue+OCMAdditions.m */, + FD7A55FA06443936FD4EF2EE1F92A637 /* OCClassMockObject.h */, + DECA9B80FE14F183CD9E9E8EBE041B8A /* OCClassMockObject.m */, + D74AC627A98CCFFFB048C32328EC25DA /* OCMArg.h */, + 1EF83F965EE3E80301C01C2C206E800C /* OCMArg.m */, + 8A0958B9F7F75C35D8035133A0EEE181 /* OCMArgAction.h */, + 31CB3D30B0BAA90E8D04238C57676012 /* OCMArgAction.m */, + 174C0A47F9B8B8001ADAA152811CC688 /* OCMBlockArgCaller.h */, + 24460D6AECC99C04FC1B24062598DF0E /* OCMBlockArgCaller.m */, + 63DD571A30F352EBCEB1BAE5668444FC /* OCMBlockCaller.h */, + 6C52EFE3DFDE4FF3C9C6A5EB7A1619A5 /* OCMBlockCaller.m */, + B8807E1F2C462852C4C9DB41D89662DD /* OCMBoxedReturnValueProvider.h */, + 9ABEBFB094B230F63EF99313B2442E38 /* OCMBoxedReturnValueProvider.m */, + 921C8C7CB717C7FE133A2796783748C4 /* OCMConstraint.h */, + DCF8F90714ADCD981897DF97AA7810BC /* OCMConstraint.m */, + 9C1FBDA1DF91BAF73365E0A708973D3B /* OCMExceptionReturnValueProvider.h */, + 66C76896564911D49CFDDFFEE705A2EF /* OCMExceptionReturnValueProvider.m */, + 3EB143E81C4238EAC077DA7212F54B30 /* OCMExpectationRecorder.h */, + 38A4ADF8913585EF1A7067F18AB31389 /* OCMExpectationRecorder.m */, + 36ACB3FFB9D76C6EDE6656144239D441 /* OCMFunctions.h */, + 672937DCAFB6913EE03858F88550F7FD /* OCMFunctions.m */, + B0703C1A0BC33C96A74C16AD8B28AF5C /* OCMFunctionsPrivate.h */, + B2CFED5DB79EA3E6263E5A405FC0D9B4 /* OCMIndirectReturnValueProvider.h */, + B609C2BA6CE74D2C84D688BCE743D937 /* OCMIndirectReturnValueProvider.m */, + 925FF75815302FA49B01CAD780D13AEB /* OCMInvocationExpectation.h */, + A45E12F05061164A3EBBA78F1168C2C7 /* OCMInvocationExpectation.m */, + 81E026A3454CDF9827B6AB3BB2E89057 /* OCMInvocationMatcher.h */, + 7843E3CAEE56E5A2C20807805A097A13 /* OCMInvocationMatcher.m */, + 57832A6CF2217DEB119D7860A7AACF8C /* OCMInvocationStub.h */, + 12251B3985302B8A6865EB8F62CC11A3 /* OCMInvocationStub.m */, + 84FD9368EA90B822A2DEBB626A40CA05 /* OCMLocation.h */, + 08EDAE90226EDF5A4786F8B6359D361C /* OCMLocation.m */, + EECFDCB70C2A43763A39496E4BF401B2 /* OCMMacroState.h */, + 80FF6418B952D4DEE16346EFBA5E3C60 /* OCMMacroState.m */, + 27C82D5CAC839463A9514990EA4E6EA5 /* OCMNotificationPoster.h */, + F14AF65AE2AF9154F7174FBB7E56D5A0 /* OCMNotificationPoster.m */, + 21E6A3A497D9E3FCB07CF5F77654EE64 /* OCMObserverRecorder.h */, + 4BE798358A8254D82AC2A760437BF583 /* OCMObserverRecorder.m */, + 7DA711291B8DB36DAC213FB93519650A /* OCMock.h */, + 3E575F5B1F3BBD18D2F79761723A11DD /* OCMockObject.h */, + 366B6F24376685B93BF79BCE3A5C595E /* OCMockObject.m */, + 28598EC5AF5FB03F4E7D34733B7B8B2B /* OCMPassByRefSetter.h */, + 987F6768343366FCAA54F5A6BB008DC6 /* OCMPassByRefSetter.m */, + 324620DDAAD5DAE2892348EDE68994D8 /* OCMRealObjectForwarder.h */, + 6547A0362A9DB59529048BCB41297208 /* OCMRealObjectForwarder.m */, + 039711275875A762F728D9FA7594D933 /* OCMRecorder.h */, + 5E9039FEBBDD7D37BE5E1484472A2B21 /* OCMRecorder.m */, + ECD8A5DD57F38038D412FBF900D4567B /* OCMReturnValueProvider.h */, + 40229837A52E6ED9C0B69FEC5ADB1888 /* OCMReturnValueProvider.m */, + E92F27D06128B6A622A585CCA9D4788A /* OCMStubRecorder.h */, + B8A02FF98B553C5D4A0F340C91360FF2 /* OCMStubRecorder.m */, + FAF54CAF918C79D86F23989CBED6366E /* OCMVerifier.h */, + 5313441A3B11BE280200B8CE8992B952 /* OCMVerifier.m */, + 0685A11DAAA2C0DB4855E81AF70803C2 /* OCObserverMockObject.h */, + 4CAB5D93139273A9E0AC9073775D4EAA /* OCObserverMockObject.m */, + 421C3039442BFCD87FC4413E6AD34BA9 /* OCPartialMockObject.h */, + 89CD993F53C6EFE496C3A9FB36D7D28A /* OCPartialMockObject.m */, + 5091A2BDC4A4212CDB54D54B6955010B /* OCProtocolMockObject.h */, + 3CCDE60ACF386E1714CEE90331760A12 /* OCProtocolMockObject.m */, + ED80513C2F30BF2523C8D08BFCE891A6 /* Support Files */, + ); + name = OCMock; + path = OCMock; sourceTree = ""; }; - 321D1991FA9910D4D36F2BACA35A2A18 /* Core */ = { + 427B6890934BBCFE7FBA04F864F832E3 /* Support Files */ = { isa = PBXGroup; children = ( - 43C82843A27F42FD7F7F7D7E12DBEBC9 /* EasyMapping.h */, - BF1F2C2D98C6E2853D979F1CCDB4C770 /* EKCoreDataImporter.h */, - C22D268A68F0BE556E5337FB4A10BCFE /* EKCoreDataImporter.m */, - 46ED7DEAECD1FD9D9BEEBC4F12788A96 /* EKManagedObjectMapper.h */, - 603712D14D80F39AD7631A80A6E3A5C9 /* EKManagedObjectMapper.m */, - D16B324DCFB08CBE25B025F8FB18DE95 /* EKManagedObjectMapping.h */, - 3BF1451DB7CC4BC24594CA733686D479 /* EKManagedObjectMapping.m */, - C74D91A119EF6672D2257B83BE90EB62 /* EKManagedObjectModel.h */, - 341007074D7230B5245B1F3D43A82730 /* EKManagedObjectModel.m */, - EB1B615F1841C042317FAD865DABAA82 /* EKMapper.h */, - A3F003E35D678CC4530B30E279A68CFA /* EKMapper.m */, - DB8BBAB989F43B15A01AB8A4D3E05FC3 /* EKMappingBlocks.h */, - 7156420514291EF70224F109A2AC5560 /* EKMappingBlocks.m */, - 41C0E4B2EFB1B406237819B19EE4B592 /* EKMappingProtocol.h */, - 9406243AEDD05BFCDF1F49115D293677 /* EKObjectMapping.h */, - 8BE766F76B535FEC1761DA9FF2D0C4E4 /* EKObjectMapping.m */, - DAAA95A182243B78CC8647E6C151F622 /* EKObjectModel.h */, - FD1E4502F64989E74EB27A495E006DE6 /* EKObjectModel.m */, - 58AA51BA93ADA04BC80BE30594847B0A /* EKPropertyHelper.h */, - 883BCA9A536FBF0CAA22B9BEF12651B0 /* EKPropertyHelper.m */, - 327B60ACF8ABE0A486CE0B2312A2C4A8 /* EKPropertyMapping.h */, - 19F82D8ECFD765E50D26C42C75528E16 /* EKPropertyMapping.m */, - 57A4ADFB9344A1D7D9295F356ADFBA8D /* EKRelationshipMapping.h */, - E30B583892A6114A0DDEF84DC739C58F /* EKRelationshipMapping.m */, - 67CB8A71CDDD7B8B9A8AD56D7C4C90B8 /* EKSerializer.h */, - 0C84BA44880534390C4C0D8633580A74 /* EKSerializer.m */, - 7773FB7669DB82F75EDD49C625C6E744 /* NSArray+FlattenArray.h */, - D1CC7BB8062E9FDB2EE849AC74ECA8BF /* NSArray+FlattenArray.m */, - 9772735377FA1CDE3ED4D852627487ED /* NSDateFormatter+EasyMappingAdditions.h */, + 74570883FDCF02FFEFBEFE04C41A495E /* EasyMapping.xcconfig */, + 95CA50D651AF9ADED0A45FA1986C18C2 /* EasyMapping-dummy.m */, + 23965471E236F15152CA3860320FCA0D /* EasyMapping-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/EasyMapping"; + sourceTree = ""; + }; + 462228F19FD81EF90B964F1C7990E057 /* Core */ = { + isa = PBXGroup; + children = ( + 25D728CA3F2B1906DE04A9DE409CBBB9 /* EasyMapping.h */, + D852E8D7F6BE02A85296DC99650C4216 /* EKCoreDataImporter.h */, + 0CF63E43E2282AE5E48757BCDF2633E4 /* EKCoreDataImporter.m */, + 45D3F6E6167051E455405D3CBD73FA28 /* EKManagedObjectMapper.h */, + 45469256DA9DBD6A3541E09FD0FF0EFC /* EKManagedObjectMapper.m */, + 20ED3D10A8FD13C931DF44AE5AF3D773 /* EKManagedObjectMapping.h */, + 3D3752EF2409479A79908649E64B7F45 /* EKManagedObjectMapping.m */, + 9478A7356256A8A67B5FA9E5500D630F /* EKManagedObjectModel.h */, + 6CB2B64C2390710586C379C6B65E204A /* EKManagedObjectModel.m */, + AAB73639A7C6F5069EA3C9E1408488D7 /* EKMapper.h */, + 5228EFF4249217D530002E0C44BAEDC7 /* EKMapper.m */, + CEE1B4168D5A995D20016C1F1F47513A /* EKMappingBlocks.h */, + C9CF7969767174CC65B4C6A3A64E1949 /* EKMappingBlocks.m */, + 918489B66E8513F4F283147E7037AFBE /* EKMappingProtocol.h */, + 3B753D46E9ADD407DD7ED547D9ED7487 /* EKObjectMapping.h */, + 51665B46865EB29E819563252DD0E74E /* EKObjectMapping.m */, + D005188AA36CBCD3D5A2BEC2F9E85CCA /* EKObjectModel.h */, + A9F7A2EA0E08D01E9DA57C33ED86B514 /* EKObjectModel.m */, + 0B6E0065D7D2B62BAE90D8853D9F91B6 /* EKPropertyHelper.h */, + 3F1CE803FC332D6299B0CB6230CDDE61 /* EKPropertyHelper.m */, + 2E06BBBF097D9AD7239E7CC9049CD84F /* EKPropertyMapping.h */, + 13691E86BBB9789E1923737130A32266 /* EKPropertyMapping.m */, + C57DDB57CE25E47AA28EEAB8241531C6 /* EKRelationshipMapping.h */, + FA0B247D0F309C2388497D2D86335FE8 /* EKRelationshipMapping.m */, + A0437FB7841C8AFEED080B874742FF5C /* EKSerializer.h */, + 9113D6EED88D2A8B24E5130A4350D715 /* EKSerializer.m */, + 34646D49CAB7D1FE97678C18BC1DA1E4 /* NSArray+FlattenArray.h */, + 788DF6F1AC68CFC580956F20064EC30E /* NSArray+FlattenArray.m */, + C0C88184529F212F65FC3A65F628DD57 /* NSDateFormatter+EasyMappingAdditions.h */, ); name = Core; sourceTree = ""; }; + 4ECAF225E95FCA8C0B30E8F72BE22110 /* EasyMapping */ = { + isa = PBXGroup; + children = ( + 462228F19FD81EF90B964F1C7990E057 /* Core */, + 427B6890934BBCFE7FBA04F864F832E3 /* Support Files */, + ); + name = EasyMapping; + path = EasyMapping; + sourceTree = ""; + }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - D648CE86F139C7CCFD55D5B8A03BE74B /* Frameworks */, - B7A3EFFD23CAC738DCA34CF019D852FD /* Pods */, - 0D76BAF84141666F809A6B9BA27FD2E8 /* Products */, + CD75D5B60FCA72FBF7F9C770460B2C26 /* Frameworks */, + DF078FB362C3AAB6AA7C64269067751B /* Pods */, + 036FC573053334DEA4F23A94F10E4888 /* Products */, 1EF7706C899FCF408633A4CBC7DEC903 /* Targets Support Files */, ); sourceTree = ""; }; + 93820CA3A04B6318084593D8DE74408F /* SDWebImage */ = { + isa = PBXGroup; + children = ( + FB80286D146BAD6C3AB18805A31907B6 /* Core */, + 3090EB247E7B197F124FE07CA42F4AF7 /* Support Files */, + ); + name = SDWebImage; + path = SDWebImage; + sourceTree = ""; + }; + A2A5A769A561906A7F1F7EF101949B63 /* OS X */ = { + isa = PBXGroup; + children = ( + B15374EA47331FEF7F3DDE50D03B5D88 /* CoreData.framework */, + E15D54715ABBB2F3D6A958B42250DD89 /* Foundation.framework */, + 04EA1734545DFDBCFCB50B2AD2A9146F /* ImageIO.framework */, + A6175A9B84DC3C3D0A1D920B21CC5BB1 /* XCTest.framework */, + ); + name = "OS X"; + sourceTree = ""; + }; AF4E3B90650D1F2DA3D19465A8A369F1 /* Pods-BitriseTests */ = { isa = PBXGroup; children = ( @@ -455,46 +915,141 @@ path = "Target Support Files/Pods-BitriseTests"; sourceTree = ""; }; - B1584BEC17CFC0DB391C26133BC39139 /* SDWebImage */ = { + CD75D5B60FCA72FBF7F9C770460B2C26 /* Frameworks */ = { isa = PBXGroup; children = ( - 2494FC58688D7003C6A8115409D19C01 /* Core */, - 0BB905D2ADA261168E15204839380BC4 /* Support Files */, + A2A5A769A561906A7F1F7EF101949B63 /* OS X */, ); - name = SDWebImage; - path = SDWebImage; + name = Frameworks; sourceTree = ""; }; - B7A3EFFD23CAC738DCA34CF019D852FD /* Pods */ = { + DF078FB362C3AAB6AA7C64269067751B /* Pods */ = { isa = PBXGroup; children = ( - C9E43B533BE078212E35A0699DE9B9E7 /* EasyMapping */, - B1584BEC17CFC0DB391C26133BC39139 /* SDWebImage */, + 4ECAF225E95FCA8C0B30E8F72BE22110 /* EasyMapping */, + 02E7A90C32DD9DFD05C61514E5361E40 /* Expecta */, + 40ABD98E712A5053984BC199ED6DA104 /* OCMock */, + 93820CA3A04B6318084593D8DE74408F /* SDWebImage */, ); name = Pods; sourceTree = ""; }; - C9E43B533BE078212E35A0699DE9B9E7 /* EasyMapping */ = { + ED80513C2F30BF2523C8D08BFCE891A6 /* Support Files */ = { isa = PBXGroup; children = ( - 321D1991FA9910D4D36F2BACA35A2A18 /* Core */, - 16EB478711C452DD0D87366AE8B67B00 /* Support Files */, + 07AA79D69B5FB87F27A2E1FB405AE847 /* OCMock.xcconfig */, + CD00520D736F4DC065391A2BF2AE25B8 /* OCMock-dummy.m */, + 51CAE3A73022236F4A353AC374B846FD /* OCMock-prefix.pch */, ); - name = EasyMapping; - path = EasyMapping; + name = "Support Files"; + path = "../Target Support Files/OCMock"; sourceTree = ""; }; - D648CE86F139C7CCFD55D5B8A03BE74B /* Frameworks */ = { + FB80286D146BAD6C3AB18805A31907B6 /* Core */ = { isa = PBXGroup; children = ( - 173B2EE5526FC713C4D101E7BCE277DE /* OS X */, + 77AF8C3F5A3C13FC3BB97EA2811532B4 /* NSButton+WebCache.h */, + CFED0F81280EE87CF6174127A22AC747 /* NSButton+WebCache.m */, + 8B992B198B6DAD26DE5AB76ABA94EA99 /* NSData+ImageContentType.h */, + 4E4271238CDDE00F405BB9B66001D21D /* NSData+ImageContentType.m */, + B78324DC1E1EAD0C3BD6D09A030280F9 /* NSImage+WebCache.h */, + 24EDCF54B96DB409AA0E0FD12D1B0542 /* NSImage+WebCache.m */, + A7AAD03092210D4FED060B7142A5C781 /* SDAnimatedImageRep.h */, + D5F7CE41E55428890A7423A8B8453AD4 /* SDAnimatedImageRep.m */, + 15292CEC974415360C05883BD81086C8 /* SDImageCache.h */, + 7344E905A2A1A0E377ED66685F3FB762 /* SDImageCache.m */, + F38189D2BF68EBDC09296D06BCEE6A93 /* SDImageCacheConfig.h */, + B71174280C197813BF65A46BD6BAB222 /* SDImageCacheConfig.m */, + 0566CEFE335244F6542A2F8BC0BCE262 /* SDWebImageCoder.h */, + E34E5651E9EF80FF4A7AF3795F64EBF8 /* SDWebImageCoder.m */, + 09A5FCF8F6D0648736246C2FA115ABB9 /* SDWebImageCoderHelper.h */, + 43757940370787335E848E5A8DE4B5EF /* SDWebImageCoderHelper.m */, + 3CE0267619C9D6A8A1661BF632CE27F9 /* SDWebImageCodersManager.h */, + 6AE35E9B9B81A0C2205128EB2D3E45FA /* SDWebImageCodersManager.m */, + 460CCC1AC68F13A7B16FDA70A93C5BC9 /* SDWebImageCompat.h */, + AED7E93D45BB7393CDE4CF741C85BB0F /* SDWebImageCompat.m */, + 0D3D5EF719A3E19F2D9B2D90BD94BA34 /* SDWebImageDownloader.h */, + 9D9E49C8F2C6B4905F47A2163C7F5EE1 /* SDWebImageDownloader.m */, + E7E10EB6E72D6B4CC1E6C01BDA83478C /* SDWebImageDownloaderOperation.h */, + 224CD2593FA4143CC0B10E1595F57E83 /* SDWebImageDownloaderOperation.m */, + 89EA8CD2162A2E9EEC5F998EF276F4D6 /* SDWebImageFrame.h */, + C376205540F2A60C7B8114CC978D6EDA /* SDWebImageFrame.m */, + 739D5AB7A09BF613DF4CB8F65ED6EEED /* SDWebImageGIFCoder.h */, + 00DDC7F79D09A14C6A8E337E7BCF9122 /* SDWebImageGIFCoder.m */, + 1E58A951274FA82776F437870AEF1D88 /* SDWebImageImageIOCoder.h */, + 2AD4E797287E048F99FAA6AAD90BC98F /* SDWebImageImageIOCoder.m */, + 9CD1EFED8B065931DC7FDF73FD8425F8 /* SDWebImageManager.h */, + C4490FD1FA4F0893281AD00775D31A97 /* SDWebImageManager.m */, + FD59847FEF3941586C8E617746201C65 /* SDWebImageOperation.h */, + 7A5307E6ECCBC5D78767570A68EF1813 /* SDWebImagePrefetcher.h */, + 0B4EE292F7BFBE10C7D3271BAE0348D0 /* SDWebImagePrefetcher.m */, + 362D370AE65912C4BCB7509F13CC9EDE /* SDWebImageTransition.h */, + 0D479D420386C6919B3476788F949EBF /* SDWebImageTransition.m */, + 47CACA3C086D1FADD9674D5CD54BF599 /* UIButton+WebCache.h */, + B9C3E0FD5A1BFD12E095386DC5628B6D /* UIButton+WebCache.m */, + 00278FD297EAA81BA2A37548EC2C39F4 /* UIImage+ForceDecode.h */, + F748D2D26DA72F086B398E33BF33FB70 /* UIImage+ForceDecode.m */, + 7338A23D2FDCF3693BBFB761080F29C6 /* UIImage+GIF.h */, + CE6B625532033ED5F74ADE59558ACF11 /* UIImage+GIF.m */, + 169FA45C58F64E7535305F4879FA39FD /* UIImage+MultiFormat.h */, + A29B7FDCDAEE7F88F2233717B0666C60 /* UIImage+MultiFormat.m */, + 08C436BCE21622AE33F251B801BEDFE6 /* UIImageView+HighlightedWebCache.h */, + 3D902A090D26256E2B791352C22BF567 /* UIImageView+HighlightedWebCache.m */, + 8BA3961754FF0C91C3152D74C6DBBC52 /* UIImageView+WebCache.h */, + 951D4B1B23F313B624C75757F8D4E6F4 /* UIImageView+WebCache.m */, + A1BB607ADEFBE2577AF0DD5D39DAFCD2 /* UIView+WebCache.h */, + 1C0126F4D9382877850A0E78128C1D6B /* UIView+WebCache.m */, + F03AAF26D3C6A36EE9FA745FCD932BEB /* UIView+WebCacheOperation.h */, + 24137F022856CEB9ED1C86B5DAC1CC65 /* UIView+WebCacheOperation.m */, ); - name = Frameworks; + name = Core; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 0C3C6F182AD2FF5CA9323CAD9541FA4E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + E480D106649982A3FED5AF88931EA26C /* NSInvocation+OCMAdditions.h in Headers */, + D9EFD9F5C3649C82124861086557FBDB /* NSMethodSignature+OCMAdditions.h in Headers */, + 17A4047722DCF7F8CEED3A0D8D3A3789 /* NSNotificationCenter+OCMAdditions.h in Headers */, + 96BD10DD47D6C14F6D9529B32EAFD824 /* NSObject+OCMAdditions.h in Headers */, + 484FCC532855B4310C411D2AF1026633 /* NSValue+OCMAdditions.h in Headers */, + B2421093F87DEED9CC3359AB01C92536 /* OCClassMockObject.h in Headers */, + BE54480C1574B0D2EEB10556C0DFDCE0 /* OCMArg.h in Headers */, + A4909B1DDA62226F62A8F6F2F0E97AB3 /* OCMArgAction.h in Headers */, + 1D4B909FA297987231981D0063095435 /* OCMBlockArgCaller.h in Headers */, + 7D8AA0010A0E6229434E356E28A5331B /* OCMBlockCaller.h in Headers */, + FD8C8795CC1F6DB449338DD8DBD07FF3 /* OCMBoxedReturnValueProvider.h in Headers */, + 2521EA063FE5E49BE95C1E2ABBA63AA0 /* OCMConstraint.h in Headers */, + 2849BD9709A667C1B87B9974E4244B37 /* OCMExceptionReturnValueProvider.h in Headers */, + D94E169A2425A3B84302713FD1F30283 /* OCMExpectationRecorder.h in Headers */, + B7D441423105D9457FFA469155C1CE39 /* OCMFunctions.h in Headers */, + CE676A9E9A17FCDDCE46622196F4A16C /* OCMFunctionsPrivate.h in Headers */, + E24C1928D8FAC9480422E60157EE7CA1 /* OCMIndirectReturnValueProvider.h in Headers */, + 81BC0C9433D99512C68A9A1628681EA8 /* OCMInvocationExpectation.h in Headers */, + 15CF67700C7C23875F797E16DB33098B /* OCMInvocationMatcher.h in Headers */, + 6DD927C9B3E5629B1B9E302891B0BE34 /* OCMInvocationStub.h in Headers */, + BC8744CF3D90848EFD988BE353A5B746 /* OCMLocation.h in Headers */, + 4F918EA05E195EEE7D5E0B1EF8D63C07 /* OCMMacroState.h in Headers */, + 03142316E7B39721EEB471BF6174A3C9 /* OCMNotificationPoster.h in Headers */, + 22E36E64366E6250FCD50658F56C318F /* OCMObserverRecorder.h in Headers */, + C98182D05EE0A6DA8C24B8DFA8FE5027 /* OCMock.h in Headers */, + 6DC9097CD0D9BAE7480CA152EFF0CB41 /* OCMockObject.h in Headers */, + FCD9A0FAF7813F1B54ED1CB80E914D28 /* OCMPassByRefSetter.h in Headers */, + CDAFA0F2121F8091A5349DD3A643259F /* OCMRealObjectForwarder.h in Headers */, + EDFB5E61E89C29D3C83C2C4267B53220 /* OCMRecorder.h in Headers */, + 31F968CB550FB697BE9BF15FDE4B4340 /* OCMReturnValueProvider.h in Headers */, + FC8968B9DF6C1CE11F2C7ABFE5270093 /* OCMStubRecorder.h in Headers */, + 409E73A4DAECE0C14EC9EF0615B779CE /* OCMVerifier.h in Headers */, + CB2FF8C62BA8D641E67E2E0FDDD1B639 /* OCObserverMockObject.h in Headers */, + F42853C5307AD32AFB79996F4908F41E /* OCPartialMockObject.h in Headers */, + 894ED6475D00F6E7C3151798C8653E32 /* OCProtocolMockObject.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 272DA41A36005354B38AAC9E09F2486D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -529,6 +1084,59 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6BEB3C67F7FFB280AB1882CD015BF9A1 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F15D027606061CC85404F7B42DCC4B76 /* EXPBlockDefinedMatcher.h in Headers */, + 6D5F44172F6AAF24D4247D37094BC155 /* EXPDefines.h in Headers */, + 01D2DF942F5EA2CF9A3521A3038A3329 /* EXPDoubleTuple.h in Headers */, + 6849ADCF79AF3D161FBF7F60FEF911CF /* Expecta.h in Headers */, + D8D7E54B80DAA1E55FE055E6D99F0D58 /* ExpectaObject.h in Headers */, + 098562CA49DC385B7C4EB46B312A1C7D /* ExpectaSupport.h in Headers */, + 377BA877A725435D078BD8591ACC2271 /* EXPExpect.h in Headers */, + D237129D7173A137ADFEBC3AB1CD6DB5 /* EXPFloatTuple.h in Headers */, + EF04C640BA7EEEB81446613F22E96774 /* EXPMatcher.h in Headers */, + 318F82D2BD9FF120D4D9EBCE096E9963 /* EXPMatcherHelpers.h in Headers */, + BDDB1F5D66FFF46AC15B13F74D65FA07 /* EXPMatchers+beCloseTo.h in Headers */, + B67E5C353B849EE14AB231F4B6300202 /* EXPMatchers+beFalsy.h in Headers */, + 2BE5F801929C0162A2EC55CB1232C056 /* EXPMatchers+beginWith.h in Headers */, + E94AC102014ABE5C8D37A0A7B465E523 /* EXPMatchers+beGreaterThan.h in Headers */, + BE54A0902E6EB79861B5BCA6990FF0FF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, + 197BD0EAF2B8B8E1DA7B65B82E27133A /* EXPMatchers+beIdenticalTo.h in Headers */, + 993ED47BA6B60C214B39DB4D35E1C04F /* EXPMatchers+beInstanceOf.h in Headers */, + 2CDF58E4DBD75C68C7DFA7EAB88234BF /* EXPMatchers+beInTheRangeOf.h in Headers */, + 4C35E7911543D1BC76F8C272C36640DA /* EXPMatchers+beKindOf.h in Headers */, + 201D40D63C43A4FAB1082EE5098901EB /* EXPMatchers+beLessThan.h in Headers */, + BD513782772FB9C8D088EECEB26994CA /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, + C2B68344FD47E6858D5E4334F0613EE6 /* EXPMatchers+beNil.h in Headers */, + 363458F1BDA4A3C107E84C6060AB3A7E /* EXPMatchers+beSubclassOf.h in Headers */, + 350451B877576A77F8E59C5644EE3C56 /* EXPMatchers+beSupersetOf.h in Headers */, + 56FB80211E0860AC159095C4E100C3C2 /* EXPMatchers+beTruthy.h in Headers */, + 0AE212F7CDA9749547620FE976BA88F4 /* EXPMatchers+conformTo.h in Headers */, + 3328BCF13ECAA14F6A55B3913A9563A9 /* EXPMatchers+contain.h in Headers */, + 97608DD732C7501FA73459EAEFFDBC93 /* EXPMatchers+endWith.h in Headers */, + C81A1DB73312FEEAA34D09324000B55D /* EXPMatchers+equal.h in Headers */, + 9540D014FB0C64E24A6E6A857CEE2647 /* EXPMatchers+haveCountOf.h in Headers */, + 048261C6DC90BD20FB6B7D80D39FAAF1 /* EXPMatchers+match.h in Headers */, + 438D276A2D57438A513843B07D96DF03 /* EXPMatchers+postNotification.h in Headers */, + D6A37D98D7F4B1F3E6BCABC252708FA3 /* EXPMatchers+raise.h in Headers */, + 24F18AC451AF480B2AE995F6AAA6C28E /* EXPMatchers+raiseWithReason.h in Headers */, + 7CED56B0BD2B2620B7BA217EABF2D786 /* EXPMatchers+respondTo.h in Headers */, + CB3682266535621C3A27C76EF64E9867 /* EXPMatchers.h in Headers */, + 4CD6CB8AAFF20879DCBF76E285F28E54 /* EXPUnsupportedObject.h in Headers */, + 623976AE79DDE4B446ADB0AB18158DF4 /* NSObject+Expecta.h in Headers */, + 34247D73BA4ED2166489ABF8D5FB42C3 /* NSValue+Expecta.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 82FDDE4C10176C0F11EEC234E97B4DA5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 952253DA39EBC8DD60C645A9A3141C22 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -552,13 +1160,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9C0D28F05BC6B904B8BABC339EF4AF1E /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; B7E0DAA3226E90A631FCECF8AA7308C8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -583,42 +1184,78 @@ ); name = EasyMapping; productName = EasyMapping; - productReference = CA3C8B7DEB66B1CFB19F315EE5AF60BF /* libEasyMapping.a */; + productReference = 8B2E1393719E608469ACEDA014B9EAF5 /* libEasyMapping.a */; productType = "com.apple.product-type.library.static"; }; - 4923FD1FC346828E471EE57EE5FF2C19 /* SDWebImage */ = { + 2D0C7C26A7C7C2ED37C3F4E6ABA1A2A4 /* OCMock */ = { isa = PBXNativeTarget; - buildConfigurationList = 082CD5F4396F96FAB851C3BDDBE64AC4 /* Build configuration list for PBXNativeTarget "SDWebImage" */; + buildConfigurationList = 9C26079D02F5B3ED09C11B0FB70270C6 /* Build configuration list for PBXNativeTarget "OCMock" */; buildPhases = ( - 272DA41A36005354B38AAC9E09F2486D /* Headers */, - DDA6B96577904B6DC573EBE5CAD408EE /* Sources */, - 720DE65488D6023B38F49DD0FD3121B5 /* Frameworks */, + 0C3C6F182AD2FF5CA9323CAD9541FA4E /* Headers */, + DB321AC977E3FFCB818B890C8A7AA5A6 /* Sources */, + 75886AD9E9E6D122DD89B35A2D61B59D /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = SDWebImage; - productName = SDWebImage; - productReference = 4E4183DCF4665F4C5721AB99C436192A /* libSDWebImage.a */; + name = OCMock; + productName = OCMock; + productReference = 440A1E391C12A941810C990593DC906C /* libOCMock.a */; productType = "com.apple.product-type.library.static"; }; - B739F9F1B9D8196F0F853956E6962058 /* Pods-BitriseTests */ = { + 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */ = { isa = PBXNativeTarget; - buildConfigurationList = EFD6AEBB7D55CFE1CEB6D7663396B644 /* Build configuration list for PBXNativeTarget "Pods-BitriseTests" */; + buildConfigurationList = 8BBE730D642231F14A1F426F44F85AEC /* Build configuration list for PBXNativeTarget "Expecta" */; buildPhases = ( - 9C0D28F05BC6B904B8BABC339EF4AF1E /* Headers */, - 99BDE72E3F9CF4B32DFADC7E652709AF /* Sources */, - 420187B848C7C70CADE85A9C2DC45979 /* Frameworks */, + 6BEB3C67F7FFB280AB1882CD015BF9A1 /* Headers */, + 3CA62BC6D3BA04C0745181392D6863EF /* Sources */, + C612259F05A2C8B976735ABC62436A36 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 9A3BB09B3B887E996F4E030E78D5CDFD /* PBXTargetDependency */, + ); + name = Expecta; + productName = Expecta; + productReference = B18270B5B4973100C7C03FFE27B76607 /* libExpecta.a */; + productType = "com.apple.product-type.library.static"; + }; + 3A286E908A020C8B2B2A9B2F3A027773 /* Pods-BitriseTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 350C3CAF1C3149509D32DD1B93918EA6 /* Build configuration list for PBXNativeTarget "Pods-BitriseTests" */; + buildPhases = ( + 82FDDE4C10176C0F11EEC234E97B4DA5 /* Headers */, + D881CD53E245BE076F732713D327B72D /* Sources */, + CC8D84C57135F26869A142935BE2E03A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 6B031851CE4D026ADE211215CC4BC8FD /* PBXTargetDependency */, + 15DC6F9FFD84DD103C75EED85ED3F6F4 /* PBXTargetDependency */, + 9D06084A94F32E34B2B6E6DF3E9B4B4C /* PBXTargetDependency */, ); name = "Pods-BitriseTests"; productName = "Pods-BitriseTests"; - productReference = C48A47BB072D753855FCC5436B389EDC /* libPods-BitriseTests.a */; + productReference = 48EF9ABA3A2F4D2A52025EA32502E14B /* libPods-BitriseTests.a */; + productType = "com.apple.product-type.library.static"; + }; + 4923FD1FC346828E471EE57EE5FF2C19 /* SDWebImage */ = { + isa = PBXNativeTarget; + buildConfigurationList = 082CD5F4396F96FAB851C3BDDBE64AC4 /* Build configuration list for PBXNativeTarget "SDWebImage" */; + buildPhases = ( + 272DA41A36005354B38AAC9E09F2486D /* Headers */, + DDA6B96577904B6DC573EBE5CAD408EE /* Sources */, + 720DE65488D6023B38F49DD0FD3121B5 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SDWebImage; + productName = SDWebImage; + productReference = 50E8A51F0B866231A83811E65FB671C8 /* libSDWebImage.a */; productType = "com.apple.product-type.library.static"; }; F98B30D4C34076B9FD4B710DF72747B6 /* Pods-Bitrise */ = { @@ -637,7 +1274,7 @@ ); name = "Pods-Bitrise"; productName = "Pods-Bitrise"; - productReference = A8824D0A7DAE0DB762A2C49381849693 /* libPods-Bitrise.a */; + productReference = AE39E1CF16DCABB6E3BC4A0AC67C317B /* libPods-Bitrise.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -657,13 +1294,15 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 0D76BAF84141666F809A6B9BA27FD2E8 /* Products */; + productRefGroup = 036FC573053334DEA4F23A94F10E4888 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 10524E27DEBE1284E0DE96AFA308A536 /* EasyMapping */, + 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */, + 2D0C7C26A7C7C2ED37C3F4E6ABA1A2A4 /* OCMock */, F98B30D4C34076B9FD4B710DF72747B6 /* Pods-Bitrise */, - B739F9F1B9D8196F0F853956E6962058 /* Pods-BitriseTests */, + 3A286E908A020C8B2B2A9B2F3A027773 /* Pods-BitriseTests */, 4923FD1FC346828E471EE57EE5FF2C19 /* SDWebImage */, ); }; @@ -678,11 +1317,45 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 99BDE72E3F9CF4B32DFADC7E652709AF /* Sources */ = { + 3CA62BC6D3BA04C0745181392D6863EF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9BE1D2D32E33741F418C7C7AE17C63E9 /* Pods-BitriseTests-dummy.m in Sources */, + B60DED481B8C9145ED79C156F76E4FCF /* EXPBlockDefinedMatcher.m in Sources */, + 4A9A562406FF3C97C4129D66B18F6859 /* EXPDoubleTuple.m in Sources */, + 1FE049AF9EA4DFEE0ADAE2E08F0294F9 /* Expecta-dummy.m in Sources */, + 936F558BB8EA4B91337D3C5F3B01CC7E /* ExpectaObject.m in Sources */, + 30DC49514C1A0C670507330948AAB941 /* ExpectaSupport.m in Sources */, + 7BAEC6BD63A58DA35019F4928C72D9C9 /* EXPExpect.m in Sources */, + 854A5179B17321B1ACE2F4F89A1A6887 /* EXPFloatTuple.m in Sources */, + FB1C06DEA18A3F43E40E1FB8E311623E /* EXPMatcherHelpers.m in Sources */, + 5B131207C7BA6BF1455FD2194CB63B7F /* EXPMatchers+beCloseTo.m in Sources */, + D728200841DAF28BBAFA715C27EE08CB /* EXPMatchers+beFalsy.m in Sources */, + 522B93E3C9779AC51A0B6DDA8DBC3169 /* EXPMatchers+beginWith.m in Sources */, + E88E4C1BCB1CBA2A553235BB712DD5DA /* EXPMatchers+beGreaterThan.m in Sources */, + 7167A0191A09719D4A5FC81E405FD491 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, + 21F2EF2767136B85E80E026A974D9CCC /* EXPMatchers+beIdenticalTo.m in Sources */, + C1EB4DAB79037286B468228A394383C2 /* EXPMatchers+beInstanceOf.m in Sources */, + E012F56169477B39357852DEA9ED4567 /* EXPMatchers+beInTheRangeOf.m in Sources */, + 9E1436121B15B5382F66D42C2FF72011 /* EXPMatchers+beKindOf.m in Sources */, + 82C5215501C4109081E963A4815FCCF1 /* EXPMatchers+beLessThan.m in Sources */, + 6AFE20F50EBDFC499A6FE45DA4FB3739 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, + 37E74BB611D287EA8DA7D4A9433ADCC3 /* EXPMatchers+beNil.m in Sources */, + B93A615A86ABFFAB3D0CF5A94130F439 /* EXPMatchers+beSubclassOf.m in Sources */, + 08A77C331857F6CB64AE42ED3A2C2668 /* EXPMatchers+beSupersetOf.m in Sources */, + 11370609D1CD9B9107F787C3BB5B4492 /* EXPMatchers+beTruthy.m in Sources */, + 9C753A1C10DDC28C8C9215D0B58CCE9A /* EXPMatchers+conformTo.m in Sources */, + D9F69F13B40DC9DB196645DC5CBEE6AC /* EXPMatchers+contain.m in Sources */, + 317B01976E992013776876BF69F013C5 /* EXPMatchers+endWith.m in Sources */, + 6A55F873250A5B1E26E0320E42790F94 /* EXPMatchers+equal.m in Sources */, + 4AC1B9D0D40CAC17B102DDBBD3BA0999 /* EXPMatchers+haveCountOf.m in Sources */, + FE623762B1E5D0FEB3625D5B819E8FF8 /* EXPMatchers+match.m in Sources */, + DA9DFA194BC2AE32325A7B91FDEE82AB /* EXPMatchers+postNotification.m in Sources */, + 3E83440DD72381F99AF66A1C0D5E5461 /* EXPMatchers+raise.m in Sources */, + F57A53A72B4869B03D6D11E48FC32FA8 /* EXPMatchers+raiseWithReason.m in Sources */, + D4EE59FAC1241AA395EA48C2815687B6 /* EXPMatchers+respondTo.m in Sources */, + 1CBF9A754FEBA4FD0E5D8AD2EB3FFCD9 /* EXPUnsupportedObject.m in Sources */, + 5C836967A64A9B0A73004E02B0A797BA /* NSValue+Expecta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -707,6 +1380,55 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D881CD53E245BE076F732713D327B72D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 36290B51C6245A3F18115ABDDDC5054F /* Pods-BitriseTests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DB321AC977E3FFCB818B890C8A7AA5A6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE6C5AE1E82E86F9718229064377DE40 /* NSInvocation+OCMAdditions.m in Sources */, + AD53E266C9BD8EA940FB2ADD0AD3FC8F /* NSMethodSignature+OCMAdditions.m in Sources */, + 73799EA18FC93429894CA5C4D25B685A /* NSNotificationCenter+OCMAdditions.m in Sources */, + 017DBB4CEBEDE5683B1D5B9DF916DD44 /* NSObject+OCMAdditions.m in Sources */, + BA8A48AA76DE9C805BDA4DF120D7E948 /* NSValue+OCMAdditions.m in Sources */, + 94D32006C76376807A3A86A8125D266D /* OCClassMockObject.m in Sources */, + D203DAA6B9A8B9E38E24227C7F5C1BF5 /* OCMArg.m in Sources */, + 4A2DF607DCE67DF80E9FEE42CEEE4FDF /* OCMArgAction.m in Sources */, + A2E92E45A9A60C77802E9308CF15EAFE /* OCMBlockArgCaller.m in Sources */, + 74B244F242F2F67B47BE3689B9691FB8 /* OCMBlockCaller.m in Sources */, + CFC72B052045D42081C6AA4765606918 /* OCMBoxedReturnValueProvider.m in Sources */, + 72A77F616555C148EDB65033809078AB /* OCMConstraint.m in Sources */, + E4D68D3D88239C81CD2CD7A72CEF7957 /* OCMExceptionReturnValueProvider.m in Sources */, + E88C3CE01E9753CDDF9545364F7CF464 /* OCMExpectationRecorder.m in Sources */, + CE8AEC6A8921D884A1310FCC4407D638 /* OCMFunctions.m in Sources */, + 41984E5666897A1AD8AEBAD994EF0DDA /* OCMIndirectReturnValueProvider.m in Sources */, + 5608507D389F19CFC9C54B71DF057572 /* OCMInvocationExpectation.m in Sources */, + 15BAB5BF2E4B6618D32E92999ED20E7E /* OCMInvocationMatcher.m in Sources */, + A8D1D93077C15754F47DE88F369EDA1D /* OCMInvocationStub.m in Sources */, + 220009AA09AA19AEA1A9DF29B61E8C65 /* OCMLocation.m in Sources */, + 32AB6CE5B6C11FC0F2780B7DDB4F23AC /* OCMMacroState.m in Sources */, + 97028F33F6443F70797546BE59BF90AA /* OCMNotificationPoster.m in Sources */, + 8FC3153E60A34423FE8CEE22EF8587F6 /* OCMObserverRecorder.m in Sources */, + F96BDD22BD329035A7BB968017450D8C /* OCMock-dummy.m in Sources */, + 1DA72D67A5407CEAD08A2DBFCB4B132A /* OCMockObject.m in Sources */, + 859BAFD5DB0FC318DDAEC272B021893D /* OCMPassByRefSetter.m in Sources */, + CE808C76798707DD24E07A16F73A1762 /* OCMRealObjectForwarder.m in Sources */, + CE8DD96E978F48613F266E470E96EFAA /* OCMRecorder.m in Sources */, + E5C255366B68EC5E323E5C5E83E6D22E /* OCMReturnValueProvider.m in Sources */, + 141BF165EEA829EA2EB4656723B548D6 /* OCMStubRecorder.m in Sources */, + 31CEBE13D2BE79ACD953743932D37BFF /* OCMVerifier.m in Sources */, + B6185DE487E10D92076656F70B30978D /* OCObserverMockObject.m in Sources */, + 0D37CE5092E7A187FA450EEB5284D477 /* OCPartialMockObject.m in Sources */, + ED698226BDBDEDF43737C4E3B84C5316 /* OCProtocolMockObject.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DDA6B96577904B6DC573EBE5CAD408EE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -744,17 +1466,29 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 15DC6F9FFD84DD103C75EED85ED3F6F4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = OCMock; + target = 2D0C7C26A7C7C2ED37C3F4E6ABA1A2A4 /* OCMock */; + targetProxy = 76408253DDE241DEECA8945025E5462E /* PBXContainerItemProxy */; + }; 6A1FBAAE5F9B6216B30CEC5965CE4193 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SDWebImage; target = 4923FD1FC346828E471EE57EE5FF2C19 /* SDWebImage */; targetProxy = 756629846FFF44AB6567E0BCA05CC45F /* PBXContainerItemProxy */; }; - 9A3BB09B3B887E996F4E030E78D5CDFD /* PBXTargetDependency */ = { + 6B031851CE4D026ADE211215CC4BC8FD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Expecta; + target = 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */; + targetProxy = 1FD322E21C840D37F2F53A791B392C40 /* PBXContainerItemProxy */; + }; + 9D06084A94F32E34B2B6E6DF3E9B4B4C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Pods-Bitrise"; target = F98B30D4C34076B9FD4B710DF72747B6 /* Pods-Bitrise */; - targetProxy = 847CFA6B92C7B43B20506348A3591DB5 /* PBXContainerItemProxy */; + targetProxy = 4E9CE797D117497C4397A9EA3FAC02DD /* PBXContainerItemProxy */; }; D0B858D6DCDD5AF7408121043F6D2D82 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -765,32 +1499,32 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 375A0677EE6D62676DB6D3D01379CEAD /* Debug */ = { + 0729261783F66D2106EBECEBACBF4EF7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46D2AEE765AA1E5B7F6BC0040F6BCCBE /* EasyMapping.xcconfig */; + baseConfigurationReference = 07AA79D69B5FB87F27A2E1FB405AE847 /* OCMock.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/EasyMapping/EasyMapping-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + GCC_PREFIX_HEADER = "Target Support Files/OCMock/OCMock-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.8; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = EasyMapping; - PRODUCT_NAME = EasyMapping; + PRODUCT_MODULE_NAME = OCMock; + PRODUCT_NAME = OCMock; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Debug; + name = Release; }; - 45F25DD4CA0FC3E3ABE10A079BCF2548 /* Release */ = { + 375A0677EE6D62676DB6D3D01379CEAD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46D2AEE765AA1E5B7F6BC0040F6BCCBE /* EasyMapping.xcconfig */; + baseConfigurationReference = 74570883FDCF02FFEFBEFE04C41A495E /* EasyMapping.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -809,24 +1543,24 @@ SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Release; + name = Debug; }; - 4D590B5FE78D718AE76B1F18DBBA3F21 /* Release */ = { + 45F25DD4CA0FC3E3ABE10A079BCF2548 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2C9F3B28BC21CEC69D545C601DBEC8E6 /* SDWebImage.xcconfig */; + baseConfigurationReference = 74570883FDCF02FFEFBEFE04C41A495E /* EasyMapping.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/EasyMapping/EasyMapping-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SDWebImage; - PRODUCT_NAME = SDWebImage; + PRODUCT_MODULE_NAME = EasyMapping; + PRODUCT_NAME = EasyMapping; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -834,25 +1568,26 @@ }; name = Release; }; - 570162B32F819E70EBE458FB7D1FA51D /* Release */ = { + 4D590B5FE78D718AE76B1F18DBBA3F21 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B68894F6585B294FF5551AAB01F2AF13 /* Pods-BitriseTests.release.xcconfig */; + baseConfigurationReference = 0FFC430EAAE0E4ACE2F097D3B952D28C /* SDWebImage.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SDWebImage; + PRODUCT_NAME = SDWebImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; name = Release; }; @@ -944,6 +1679,96 @@ }; name = Release; }; + B5D36EDEEA13B38BA8152031919D1342 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 57266B4CFDEBBC20432BCF328072F9ED /* Expecta.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.8; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Debug; + }; + B694B1828D83A1C8E032B86F6AC1639C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B68894F6585B294FF5551AAB01F2AF13 /* Pods-BitriseTests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + }; + name = Release; + }; + C010B846B7896ACE98D41A7A1C722F68 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07AA79D69B5FB87F27A2E1FB405AE847 /* OCMock.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/OCMock/OCMock-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.8; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = OCMock; + PRODUCT_NAME = OCMock; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Debug; + }; + C838C749FE0E85BB6370B729ED1609F2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B57A52961C48A4D3097094BC66639A37 /* Pods-BitriseTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + }; + name = Debug; + }; CBCE2F234ACD647BCF15805AE6D5AEAE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1008,7 +1833,7 @@ }; CE135F22342496A99FE2BBCA7C9A72EB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2C9F3B28BC21CEC69D545C601DBEC8E6 /* SDWebImage.xcconfig */; + baseConfigurationReference = 0FFC430EAAE0E4ACE2F097D3B952D28C /* SDWebImage.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1051,27 +1876,28 @@ }; name = Debug; }; - FC229DA781C683BF608DE23A5031CCEF /* Debug */ = { + FE8FD5A25E2CC8E2A8EE51B46085357F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B57A52961C48A4D3097094BC66639A37 /* Pods-BitriseTests.debug.xcconfig */; + baseConfigurationReference = 57266B4CFDEBBC20432BCF328072F9ED /* Expecta.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.8; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ @@ -1094,6 +1920,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 350C3CAF1C3149509D32DD1B93918EA6 /* Build configuration list for PBXNativeTarget "Pods-BitriseTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C838C749FE0E85BB6370B729ED1609F2 /* Debug */, + B694B1828D83A1C8E032B86F6AC1639C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 49D5B077C24CEAF2EE1FC5D824AE4B70 /* Build configuration list for PBXNativeTarget "Pods-Bitrise" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1103,20 +1938,29 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C4461A9F1E2CB2E477B878E93D785DCE /* Build configuration list for PBXNativeTarget "EasyMapping" */ = { + 8BBE730D642231F14A1F426F44F85AEC /* Build configuration list for PBXNativeTarget "Expecta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 375A0677EE6D62676DB6D3D01379CEAD /* Debug */, - 45F25DD4CA0FC3E3ABE10A079BCF2548 /* Release */, + B5D36EDEEA13B38BA8152031919D1342 /* Debug */, + FE8FD5A25E2CC8E2A8EE51B46085357F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EFD6AEBB7D55CFE1CEB6D7663396B644 /* Build configuration list for PBXNativeTarget "Pods-BitriseTests" */ = { + 9C26079D02F5B3ED09C11B0FB70270C6 /* Build configuration list for PBXNativeTarget "OCMock" */ = { isa = XCConfigurationList; buildConfigurations = ( - FC229DA781C683BF608DE23A5031CCEF /* Debug */, - 570162B32F819E70EBE458FB7D1FA51D /* Release */, + C010B846B7896ACE98D41A7A1C722F68 /* Debug */, + 0729261783F66D2106EBECEBACBF4EF7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C4461A9F1E2CB2E477B878E93D785DCE /* Build configuration list for PBXNativeTarget "EasyMapping" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 375A0677EE6D62676DB6D3D01379CEAD /* Debug */, + 45F25DD4CA0FC3E3ABE10A079BCF2548 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/Pods-BitriseTests.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/Pods-BitriseTests.xcscheme index 920b3794..553058f1 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/Pods-BitriseTests.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/Pods-BitriseTests.xcscheme @@ -14,7 +14,7 @@ buildForArchiving = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist index b88c0ce5..7f790344 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/zardoz.xcuserdatad/xcschemes/xcschememanagement.plist @@ -11,27 +11,41 @@ orderHint 0 - Pods-Bitrise.xcscheme + Expecta.xcscheme isShown orderHint 1 - Pods-BitriseTests.xcscheme + OCMock.xcscheme isShown orderHint 2 - SDWebImage.xcscheme + Pods-Bitrise.xcscheme isShown orderHint 3 + Pods-BitriseTests.xcscheme + + isShown + + orderHint + 4 + + SDWebImage.xcscheme + + isShown + + orderHint + 5 + SuppressBuildableAutocreation diff --git a/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.debug.xcconfig b/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.debug.xcconfig index 3b0d6bab..9c92f601 100644 --- a/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.debug.xcconfig +++ b/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.debug.xcconfig @@ -1,7 +1,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/SDWebImage" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCMock" "${PODS_ROOT}/Headers/Public/SDWebImage" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/OCMock" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" OTHER_LDFLAGS = $(inherited) -ObjC -l"EasyMapping" -l"SDWebImage" -framework "CoreData" -framework "ImageIO" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.release.xcconfig b/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.release.xcconfig index 3b0d6bab..9c92f601 100644 --- a/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.release.xcconfig +++ b/Pods/Target Support Files/Pods-Bitrise/Pods-Bitrise.release.xcconfig @@ -1,7 +1,7 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/SDWebImage" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCMock" "${PODS_ROOT}/Headers/Public/SDWebImage" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/OCMock" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" OTHER_LDFLAGS = $(inherited) -ObjC -l"EasyMapping" -l"SDWebImage" -framework "CoreData" -framework "ImageIO" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.markdown b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.markdown index 102af753..777e8c53 100644 --- a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.markdown @@ -1,3 +1,207 @@ # Acknowledgements This application makes use of the following third party libraries: + +## Expecta + +Copyright (c) 2011-2015 Specta Team - https://github.com/specta + +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. + + +## OCMock + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.plist b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.plist index 7acbad1e..ab3d46eb 100644 --- a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests-acknowledgements.plist @@ -12,6 +12,222 @@ Type PSGroupSpecifier + + FooterText + Copyright (c) 2011-2015 Specta Team - https://github.com/specta + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + Expecta + Type + PSGroupSpecifier + + + FooterText + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + License + Apache 2.0 + Title + OCMock + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.debug.xcconfig b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.debug.xcconfig index e4affbde..60089ed7 100644 --- a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.debug.xcconfig @@ -1,8 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/SDWebImage" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "CoreData" -framework "ImageIO" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCMock" "${PODS_ROOT}/Headers/Public/SDWebImage" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/OCMock" "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/OCMock" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"OCMock" -framework "CoreData" -framework "Foundation" -framework "ImageIO" -framework "XCTest" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. diff --git a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.release.xcconfig b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.release.xcconfig index e4affbde..60089ed7 100644 --- a/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.release.xcconfig +++ b/Pods/Target Support Files/Pods-BitriseTests/Pods-BitriseTests.release.xcconfig @@ -1,8 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/SDWebImage" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "CoreData" -framework "ImageIO" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EasyMapping" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCMock" "${PODS_ROOT}/Headers/Public/SDWebImage" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/OCMock" "${PODS_CONFIGURATION_BUILD_DIR}/EasyMapping" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/EasyMapping" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/OCMock" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Expecta" -l"OCMock" -framework "CoreData" -framework "Foundation" -framework "ImageIO" -framework "XCTest" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/.