From fe953eec0afa2b9743da7dc3dbdbbb00fba2cace Mon Sep 17 00:00:00 2001 From: Sergey Gavrilyuk Date: Thu, 12 Mar 2015 07:36:01 -0400 Subject: [PATCH 1/5] explicit `libextobjc` dependency removed (implicitly included by RAC) --- TableViewReactiveAdapter.podspec | 1 - .../SRGTableViewReactiveAdapter.m | 3 +- TableViewReactiveAdapterDemo/Podfile | 2 +- TableViewReactiveAdapterDemo/Podfile.lock | 113 ++---------------- 4 files changed, 15 insertions(+), 104 deletions(-) diff --git a/TableViewReactiveAdapter.podspec b/TableViewReactiveAdapter.podspec index e23b6df..d021a65 100644 --- a/TableViewReactiveAdapter.podspec +++ b/TableViewReactiveAdapter.podspec @@ -11,6 +11,5 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency 'ReactiveCocoa', '~> 2' - s.dependency 'libextobjc', '0.3' end diff --git a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m index 40429f3..fa118e8 100644 --- a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m +++ b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m @@ -7,7 +7,7 @@ // #import "SRGTableViewReactiveAdapter.h" -#import +#import typedef NS_ENUM(NSUInteger, SRGContentModificationEventType) { SRGInsertRows, @@ -182,7 +182,6 @@ - (instancetype)initWithInitialState:(NSArray *)tableViewSource { [self initInitialState:tableViewSource]; _deleteIndexPaths = [NSMutableArray array]; _deletedSections = [NSMutableIndexSet indexSet]; - } return self; } diff --git a/TableViewReactiveAdapterDemo/Podfile b/TableViewReactiveAdapterDemo/Podfile index f8522fb..474816d 100644 --- a/TableViewReactiveAdapterDemo/Podfile +++ b/TableViewReactiveAdapterDemo/Podfile @@ -1,5 +1,5 @@ platform :ios, '7.0' inhibit_all_warnings! -pod 'TableViewReactiveAdapter', :path=> '../TableViewReactiveAdapter' +pod 'TableViewReactiveAdapter', :path=> '../' diff --git a/TableViewReactiveAdapterDemo/Podfile.lock b/TableViewReactiveAdapterDemo/Podfile.lock index 2117039..b8627af 100644 --- a/TableViewReactiveAdapterDemo/Podfile.lock +++ b/TableViewReactiveAdapterDemo/Podfile.lock @@ -1,110 +1,23 @@ PODS: - - libextobjc (0.3): - - libextobjc/EXTADT - - libextobjc/EXTAnnotation - - libextobjc/EXTAspect - - libextobjc/EXTBlockMethod - - libextobjc/EXTBlockTarget - - libextobjc/EXTConcreteProtocol - - libextobjc/EXTDispatchObject - - libextobjc/EXTFinalMethod - - libextobjc/EXTKeyPathCoding - - libextobjc/EXTMaybe - - libextobjc/EXTMixin - - libextobjc/EXTMultimethod - - libextobjc/EXTMultiObject - - libextobjc/EXTNil - - libextobjc/EXTPassthrough - - libextobjc/EXTPrivateMethod - - libextobjc/EXTProtocolCategory - - libextobjc/EXTSafeCategory - - libextobjc/EXTScope - - libextobjc/EXTSelectorChecking - - libextobjc/EXTSwizzle - - libextobjc/EXTSynthesize - - libextobjc/EXTTuple - - libextobjc/EXTVarargs - - libextobjc/NSInvocation+EXT - - libextobjc/NSMethodSignature+EXT - - libextobjc/RuntimeExtensions - - libextobjc/UmbrellaHeader - - libextobjc/EXTADT (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTAnnotation (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTAspect (0.3): - - libextobjc/RuntimeExtensions - - libffi - - libextobjc/EXTBlockMethod (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTBlockTarget (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTConcreteProtocol (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTDispatchObject (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTFinalMethod (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTKeyPathCoding (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTMaybe (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTMixin (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTMultimethod (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTMultiObject (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTNil (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTPassthrough (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTPrivateMethod (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTProtocolCategory (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTSafeCategory (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTScope (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTSelectorChecking (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTSwizzle (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTSynthesize (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTTuple (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/EXTVarargs (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/NSInvocation+EXT (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/NSMethodSignature+EXT (0.3): - - libextobjc/RuntimeExtensions - - libextobjc/RuntimeExtensions (0.3) - - libextobjc/UmbrellaHeader (0.3) - - libffi (3.0.13) - - ReactiveCocoa (2.1.8): - - ReactiveCocoa/Core - - ReactiveCocoa/no-arc - - ReactiveCocoa/Core (2.1.8): + - ReactiveCocoa (2.4.7): + - ReactiveCocoa/UI (= 2.4.7) + - ReactiveCocoa/Core (2.4.7): - ReactiveCocoa/no-arc - - ReactiveCocoa/no-arc (2.1.8) - - TableViewReactiveAdapter (0.0.1): - - libextobjc (= 0.3) - - ReactiveCocoa (~> 2.1.8) + - ReactiveCocoa/no-arc (2.4.7) + - ReactiveCocoa/UI (2.4.7): + - ReactiveCocoa/Core + - TableViewReactiveAdapter (0.0.2): + - ReactiveCocoa (~> 2) DEPENDENCIES: - - TableViewReactiveAdapter (from `../TableViewReactiveAdapter`) + - TableViewReactiveAdapter (from `../`) EXTERNAL SOURCES: TableViewReactiveAdapter: - :path: ../TableViewReactiveAdapter + :path: ../ SPEC CHECKSUMS: - libextobjc: 820a79dbbbc498611e04fffd07d2d52a5588e7ac - libffi: 64ef39353e747bb2b25e1026afd96a157bf9231c - ReactiveCocoa: 0db710a0afa1c627a64470e5c912a3870d4854ae - TableViewReactiveAdapter: 80fbcc34521fef2e5df7a7d73aee958b587d9686 + ReactiveCocoa: 313fc53cc9aeb2bbbc3f5f13c7eac16478d9af8f + TableViewReactiveAdapter: 5ba380334fdb2125bfb478c8ccf4afe9a585a037 -COCOAPODS: 0.28.0 +COCOAPODS: 0.35.0 From 1f4d1891164946648d24c0a06c637272fdd41372 Mon Sep 17 00:00:00 2001 From: Sergey Gavrilyuk Date: Thu, 12 Mar 2015 07:37:05 -0400 Subject: [PATCH 2/5] Protocol warning suppressed --- .../TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m index fa118e8..ffbbd4a 100644 --- a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m +++ b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m @@ -258,6 +258,9 @@ @interface SRGTableViewReactiveAdapter () @property (nonatomic) SRGTableViewIntermediateState *intermediateState; @end +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wprotocol" + @implementation SRGTableViewReactiveAdapter - (instancetype)initWithTableView:(UITableView *)tableView @@ -431,3 +434,4 @@ - (id)forwardingTargetForSelector:(SEL)aSelector { } @end +#pragma clang diagnostic pop From cf968e3f8f4ed1ef0705ef447361c00da6b811bd Mon Sep 17 00:00:00 2001 From: Sergey Gavrilyuk Date: Thu, 12 Mar 2015 07:37:20 -0400 Subject: [PATCH 3/5] Demo Project file migrated --- .../project.pbxproj | 1615 ++++++----------- 1 file changed, 527 insertions(+), 1088 deletions(-) diff --git a/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo.xcodeproj/project.pbxproj b/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo.xcodeproj/project.pbxproj index 3d0341d..a022be3 100644 --- a/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo.xcodeproj/project.pbxproj +++ b/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo.xcodeproj/project.pbxproj @@ -1,1088 +1,527 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 14E12E6C512D45349A962991 - - fileRef - B74C679F07164EF9B2D1DF64 - isa - PBXBuildFile - - 1540E7F23F9C4B6BB1856E04 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods.xcconfig - path - Pods/Pods.xcconfig - sourceTree - <group> - - 74F1D3141881F1480098D423 - - children - - 74F1D3261881F1480098D423 - 74F1D3451881F1490098D423 - 74F1D31F1881F1480098D423 - 74F1D31E1881F1480098D423 - 1540E7F23F9C4B6BB1856E04 - - isa - PBXGroup - sourceTree - <group> - - 74F1D3151881F1480098D423 - - attributes - - CLASSPREFIX - SRG - LastUpgradeCheck - 0500 - ORGANIZATIONNAME - Sergey Gavrilyuk - TargetAttributes - - 74F1D33D1881F1490098D423 - - TestTargetID - 74F1D31C1881F1480098D423 - - - - buildConfigurationList - 74F1D3181881F1480098D423 - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - Base - - mainGroup - 74F1D3141881F1480098D423 - productRefGroup - 74F1D31E1881F1480098D423 - projectDirPath - - projectReferences - - projectRoot - - targets - - 74F1D31C1881F1480098D423 - 74F1D33D1881F1490098D423 - - - 74F1D3181881F1480098D423 - - buildConfigurations - - 74F1D34D1881F1490098D423 - 74F1D34E1881F1490098D423 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 74F1D3191881F1480098D423 - - buildActionMask - 2147483647 - files - - 74F1D3371881F1480098D423 - 74F1D32D1881F1480098D423 - 74F1D3311881F1480098D423 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D31A1881F1480098D423 - - buildActionMask - 2147483647 - files - - 74F1D3231881F1480098D423 - 74F1D3251881F1480098D423 - 74F1D3211881F1480098D423 - 14E12E6C512D45349A962991 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D31B1881F1480098D423 - - buildActionMask - 2147483647 - files - - 74F1D3391881F1480098D423 - 74F1D32B1881F1480098D423 - 74F1D3341881F1480098D423 - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D31C1881F1480098D423 - - buildConfigurationList - 74F1D34F1881F1490098D423 - buildPhases - - CE188D29AFA8446EB7FF32E4 - 74F1D3191881F1480098D423 - 74F1D31A1881F1480098D423 - 74F1D31B1881F1480098D423 - E38DDFDC822649D3AB7694B3 - - buildRules - - dependencies - - isa - PBXNativeTarget - name - TableViewReactiveAdapterDemo - productName - TableViewReactiveAdapterDemo - productReference - 74F1D31D1881F1480098D423 - productType - com.apple.product-type.application - - 74F1D31D1881F1480098D423 - - explicitFileType - wrapper.application - includeInIndex - 0 - isa - PBXFileReference - path - TableViewReactiveAdapterDemo.app - sourceTree - BUILT_PRODUCTS_DIR - - 74F1D31E1881F1480098D423 - - children - - 74F1D31D1881F1480098D423 - 74F1D33E1881F1490098D423 - - isa - PBXGroup - name - Products - sourceTree - <group> - - 74F1D31F1881F1480098D423 - - children - - 74F1D3201881F1480098D423 - 74F1D3221881F1480098D423 - 74F1D3241881F1480098D423 - 74F1D33F1881F1490098D423 - B74C679F07164EF9B2D1DF64 - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - 74F1D3201881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - Foundation.framework - path - System/Library/Frameworks/Foundation.framework - sourceTree - SDKROOT - - 74F1D3211881F1480098D423 - - fileRef - 74F1D3201881F1480098D423 - isa - PBXBuildFile - - 74F1D3221881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - CoreGraphics.framework - path - System/Library/Frameworks/CoreGraphics.framework - sourceTree - SDKROOT - - 74F1D3231881F1480098D423 - - fileRef - 74F1D3221881F1480098D423 - isa - PBXBuildFile - - 74F1D3241881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - UIKit.framework - path - System/Library/Frameworks/UIKit.framework - sourceTree - SDKROOT - - 74F1D3251881F1480098D423 - - fileRef - 74F1D3241881F1480098D423 - isa - PBXBuildFile - - 74F1D3261881F1480098D423 - - children - - 74F1D32F1881F1480098D423 - 74F1D3301881F1480098D423 - 74F1D3321881F1480098D423 - 74F1D3351881F1480098D423 - 74F1D3361881F1480098D423 - 74F1D3381881F1480098D423 - 74F1D3271881F1480098D423 - - isa - PBXGroup - path - TableViewReactiveAdapterDemo - sourceTree - <group> - - 74F1D3271881F1480098D423 - - children - - 74F1D3281881F1480098D423 - 74F1D3291881F1480098D423 - 74F1D32C1881F1480098D423 - 74F1D32E1881F1480098D423 - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 74F1D3281881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - TableViewReactiveAdapterDemo-Info.plist - sourceTree - <group> - - 74F1D3291881F1480098D423 - - children - - 74F1D32A1881F1480098D423 - - isa - PBXVariantGroup - name - InfoPlist.strings - sourceTree - <group> - - 74F1D32A1881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - text.plist.strings - name - en - path - en.lproj/InfoPlist.strings - sourceTree - <group> - - 74F1D32B1881F1480098D423 - - fileRef - 74F1D3291881F1480098D423 - isa - PBXBuildFile - - 74F1D32C1881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - main.m - sourceTree - <group> - - 74F1D32D1881F1480098D423 - - fileRef - 74F1D32C1881F1480098D423 - isa - PBXBuildFile - - 74F1D32E1881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - TableViewReactiveAdapterDemo-Prefix.pch - sourceTree - <group> - - 74F1D32F1881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - SRGAppDelegate.h - sourceTree - <group> - - 74F1D3301881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - SRGAppDelegate.m - sourceTree - <group> - - 74F1D3311881F1480098D423 - - fileRef - 74F1D3301881F1480098D423 - isa - PBXBuildFile - - 74F1D3321881F1480098D423 - - children - - 74F1D3331881F1480098D423 - - isa - PBXVariantGroup - name - Main.storyboard - sourceTree - <group> - - 74F1D3331881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - file.storyboard - name - Base - path - Base.lproj/Main.storyboard - sourceTree - <group> - - 74F1D3341881F1480098D423 - - fileRef - 74F1D3321881F1480098D423 - isa - PBXBuildFile - - 74F1D3351881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - SRGViewController.h - sourceTree - <group> - - 74F1D3361881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - SRGViewController.m - sourceTree - <group> - - 74F1D3371881F1480098D423 - - fileRef - 74F1D3361881F1480098D423 - isa - PBXBuildFile - - 74F1D3381881F1480098D423 - - isa - PBXFileReference - lastKnownFileType - folder.assetcatalog - path - Images.xcassets - sourceTree - <group> - - 74F1D3391881F1480098D423 - - fileRef - 74F1D3381881F1480098D423 - isa - PBXBuildFile - - 74F1D33A1881F1490098D423 - - buildActionMask - 2147483647 - files - - 74F1D34C1881F1490098D423 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D33B1881F1490098D423 - - buildActionMask - 2147483647 - files - - 74F1D3401881F1490098D423 - 74F1D3421881F1490098D423 - 74F1D3411881F1490098D423 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D33C1881F1490098D423 - - buildActionMask - 2147483647 - files - - 74F1D34A1881F1490098D423 - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 74F1D33D1881F1490098D423 - - buildConfigurationList - 74F1D3521881F1490098D423 - buildPhases - - 74F1D33A1881F1490098D423 - 74F1D33B1881F1490098D423 - 74F1D33C1881F1490098D423 - - buildRules - - dependencies - - 74F1D3441881F1490098D423 - - isa - PBXNativeTarget - name - TableViewReactiveAdapterDemoTests - productName - TableViewReactiveAdapterDemoTests - productReference - 74F1D33E1881F1490098D423 - productType - com.apple.product-type.bundle.unit-test - - 74F1D33E1881F1490098D423 - - explicitFileType - wrapper.cfbundle - includeInIndex - 0 - isa - PBXFileReference - path - TableViewReactiveAdapterDemoTests.xctest - sourceTree - BUILT_PRODUCTS_DIR - - 74F1D33F1881F1490098D423 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - XCTest.framework - path - Library/Frameworks/XCTest.framework - sourceTree - DEVELOPER_DIR - - 74F1D3401881F1490098D423 - - fileRef - 74F1D33F1881F1490098D423 - isa - PBXBuildFile - - 74F1D3411881F1490098D423 - - fileRef - 74F1D3201881F1480098D423 - isa - PBXBuildFile - - 74F1D3421881F1490098D423 - - fileRef - 74F1D3241881F1480098D423 - isa - PBXBuildFile - - 74F1D3431881F1490098D423 - - containerPortal - 74F1D3151881F1480098D423 - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 74F1D31C1881F1480098D423 - remoteInfo - TableViewReactiveAdapterDemo - - 74F1D3441881F1490098D423 - - isa - PBXTargetDependency - target - 74F1D31C1881F1480098D423 - targetProxy - 74F1D3431881F1490098D423 - - 74F1D3451881F1490098D423 - - children - - 74F1D34B1881F1490098D423 - 74F1D3461881F1490098D423 - - isa - PBXGroup - path - TableViewReactiveAdapterDemoTests - sourceTree - <group> - - 74F1D3461881F1490098D423 - - children - - 74F1D3471881F1490098D423 - 74F1D3481881F1490098D423 - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 74F1D3471881F1490098D423 - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - TableViewReactiveAdapterDemoTests-Info.plist - sourceTree - <group> - - 74F1D3481881F1490098D423 - - children - - 74F1D3491881F1490098D423 - - isa - PBXVariantGroup - name - InfoPlist.strings - sourceTree - <group> - - 74F1D3491881F1490098D423 - - isa - PBXFileReference - lastKnownFileType - text.plist.strings - name - en - path - en.lproj/InfoPlist.strings - sourceTree - <group> - - 74F1D34A1881F1490098D423 - - fileRef - 74F1D3481881F1490098D423 - isa - PBXBuildFile - - 74F1D34B1881F1490098D423 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - TableViewReactiveAdapterDemoTests.m - sourceTree - <group> - - 74F1D34C1881F1490098D423 - - fileRef - 74F1D34B1881F1490098D423 - isa - PBXBuildFile - - 74F1D34D1881F1490098D423 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - ARCHS - $(ARCHS_STANDARD_INCLUDING_64_BIT) - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - ONLY_ACTIVE_ARCH - YES - SDKROOT - iphoneos - - isa - XCBuildConfiguration - name - Debug - - 74F1D34E1881F1490098D423 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - ARCHS - $(ARCHS_STANDARD_INCLUDING_64_BIT) - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - YES - ENABLE_NS_ASSERTIONS - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - SDKROOT - iphoneos - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 74F1D34F1881F1490098D423 - - buildConfigurations - - 74F1D3501881F1490098D423 - 74F1D3511881F1490098D423 - - defaultConfigurationIsVisible - 0 - isa - XCConfigurationList - - 74F1D3501881F1490098D423 - - baseConfigurationReference - 1540E7F23F9C4B6BB1856E04 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch - INFOPLIST_FILE - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Info.plist - PRODUCT_NAME - $(TARGET_NAME) - WRAPPER_EXTENSION - app - - isa - XCBuildConfiguration - name - Debug - - 74F1D3511881F1490098D423 - - baseConfigurationReference - 1540E7F23F9C4B6BB1856E04 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch - INFOPLIST_FILE - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Info.plist - PRODUCT_NAME - $(TARGET_NAME) - WRAPPER_EXTENSION - app - - isa - XCBuildConfiguration - name - Release - - 74F1D3521881F1490098D423 - - buildConfigurations - - 74F1D3531881F1490098D423 - 74F1D3541881F1490098D423 - - defaultConfigurationIsVisible - 0 - isa - XCConfigurationList - - 74F1D3531881F1490098D423 - - buildSettings - - ARCHS - $(ARCHS_STANDARD_INCLUDING_64_BIT) - BUNDLE_LOADER - $(BUILT_PRODUCTS_DIR)/TableViewReactiveAdapterDemo.app/TableViewReactiveAdapterDemo - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - $(DEVELOPER_FRAMEWORKS_DIR) - - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - INFOPLIST_FILE - TableViewReactiveAdapterDemoTests/TableViewReactiveAdapterDemoTests-Info.plist - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUNDLE_LOADER) - WRAPPER_EXTENSION - xctest - - isa - XCBuildConfiguration - name - Debug - - 74F1D3541881F1490098D423 - - buildSettings - - ARCHS - $(ARCHS_STANDARD_INCLUDING_64_BIT) - BUNDLE_LOADER - $(BUILT_PRODUCTS_DIR)/TableViewReactiveAdapterDemo.app/TableViewReactiveAdapterDemo - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - $(DEVELOPER_FRAMEWORKS_DIR) - - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch - INFOPLIST_FILE - TableViewReactiveAdapterDemoTests/TableViewReactiveAdapterDemoTests-Info.plist - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUNDLE_LOADER) - WRAPPER_EXTENSION - xctest - - isa - XCBuildConfiguration - name - Release - - B74C679F07164EF9B2D1DF64 - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods.a - sourceTree - BUILT_PRODUCTS_DIR - - CE188D29AFA8446EB7FF32E4 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - E38DDFDC822649D3AB7694B3 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Pods-resources.sh" - - showEnvVarsInLog - 0 - - - rootObject - 74F1D3151881F1480098D423 - - +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 14E12E6C512D45349A962991 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B74C679F07164EF9B2D1DF64 /* libPods.a */; }; + 74F1D3211881F1480098D423 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D3201881F1480098D423 /* Foundation.framework */; }; + 74F1D3231881F1480098D423 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D3221881F1480098D423 /* CoreGraphics.framework */; }; + 74F1D3251881F1480098D423 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D3241881F1480098D423 /* UIKit.framework */; }; + 74F1D32B1881F1480098D423 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 74F1D3291881F1480098D423 /* InfoPlist.strings */; }; + 74F1D32D1881F1480098D423 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 74F1D32C1881F1480098D423 /* main.m */; }; + 74F1D3311881F1480098D423 /* SRGAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 74F1D3301881F1480098D423 /* SRGAppDelegate.m */; }; + 74F1D3341881F1480098D423 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 74F1D3321881F1480098D423 /* Main.storyboard */; }; + 74F1D3371881F1480098D423 /* SRGViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 74F1D3361881F1480098D423 /* SRGViewController.m */; }; + 74F1D3391881F1480098D423 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 74F1D3381881F1480098D423 /* Images.xcassets */; }; + 74F1D3401881F1490098D423 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D33F1881F1490098D423 /* XCTest.framework */; }; + 74F1D3411881F1490098D423 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D3201881F1480098D423 /* Foundation.framework */; }; + 74F1D3421881F1490098D423 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74F1D3241881F1480098D423 /* UIKit.framework */; }; + 74F1D34A1881F1490098D423 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 74F1D3481881F1490098D423 /* InfoPlist.strings */; }; + 74F1D34C1881F1490098D423 /* TableViewReactiveAdapterDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 74F1D34B1881F1490098D423 /* TableViewReactiveAdapterDemoTests.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 74F1D3431881F1490098D423 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 74F1D3151881F1480098D423 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 74F1D31C1881F1480098D423; + remoteInfo = TableViewReactiveAdapterDemo; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 283FEE932F1E11E185EAC293 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + 74F1D31D1881F1480098D423 /* TableViewReactiveAdapterDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TableViewReactiveAdapterDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 74F1D3201881F1480098D423 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 74F1D3221881F1480098D423 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 74F1D3241881F1480098D423 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 74F1D3281881F1480098D423 /* TableViewReactiveAdapterDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TableViewReactiveAdapterDemo-Info.plist"; sourceTree = ""; }; + 74F1D32A1881F1480098D423 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 74F1D32C1881F1480098D423 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 74F1D32E1881F1480098D423 /* TableViewReactiveAdapterDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TableViewReactiveAdapterDemo-Prefix.pch"; sourceTree = ""; }; + 74F1D32F1881F1480098D423 /* SRGAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRGAppDelegate.h; sourceTree = ""; }; + 74F1D3301881F1480098D423 /* SRGAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGAppDelegate.m; sourceTree = ""; }; + 74F1D3331881F1480098D423 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 74F1D3351881F1480098D423 /* SRGViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRGViewController.h; sourceTree = ""; }; + 74F1D3361881F1480098D423 /* SRGViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SRGViewController.m; sourceTree = ""; }; + 74F1D3381881F1480098D423 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 74F1D33E1881F1490098D423 /* TableViewReactiveAdapterDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TableViewReactiveAdapterDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 74F1D33F1881F1490098D423 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 74F1D3471881F1490098D423 /* TableViewReactiveAdapterDemoTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TableViewReactiveAdapterDemoTests-Info.plist"; sourceTree = ""; }; + 74F1D3491881F1490098D423 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 74F1D34B1881F1490098D423 /* TableViewReactiveAdapterDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TableViewReactiveAdapterDemoTests.m; sourceTree = ""; }; + B74C679F07164EF9B2D1DF64 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DDB9779612CE22872343DD13 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 74F1D31A1881F1480098D423 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D3231881F1480098D423 /* CoreGraphics.framework in Frameworks */, + 74F1D3251881F1480098D423 /* UIKit.framework in Frameworks */, + 74F1D3211881F1480098D423 /* Foundation.framework in Frameworks */, + 14E12E6C512D45349A962991 /* libPods.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 74F1D33B1881F1490098D423 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D3401881F1490098D423 /* XCTest.framework in Frameworks */, + 74F1D3421881F1490098D423 /* UIKit.framework in Frameworks */, + 74F1D3411881F1490098D423 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 74F1D3141881F1480098D423 = { + isa = PBXGroup; + children = ( + 74F1D3261881F1480098D423 /* TableViewReactiveAdapterDemo */, + 74F1D3451881F1490098D423 /* TableViewReactiveAdapterDemoTests */, + 74F1D31F1881F1480098D423 /* Frameworks */, + 74F1D31E1881F1480098D423 /* Products */, + FD1883C583355D2D35CCEBF4 /* Pods */, + ); + sourceTree = ""; + }; + 74F1D31E1881F1480098D423 /* Products */ = { + isa = PBXGroup; + children = ( + 74F1D31D1881F1480098D423 /* TableViewReactiveAdapterDemo.app */, + 74F1D33E1881F1490098D423 /* TableViewReactiveAdapterDemoTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 74F1D31F1881F1480098D423 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 74F1D3201881F1480098D423 /* Foundation.framework */, + 74F1D3221881F1480098D423 /* CoreGraphics.framework */, + 74F1D3241881F1480098D423 /* UIKit.framework */, + 74F1D33F1881F1490098D423 /* XCTest.framework */, + B74C679F07164EF9B2D1DF64 /* libPods.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 74F1D3261881F1480098D423 /* TableViewReactiveAdapterDemo */ = { + isa = PBXGroup; + children = ( + 74F1D32F1881F1480098D423 /* SRGAppDelegate.h */, + 74F1D3301881F1480098D423 /* SRGAppDelegate.m */, + 74F1D3321881F1480098D423 /* Main.storyboard */, + 74F1D3351881F1480098D423 /* SRGViewController.h */, + 74F1D3361881F1480098D423 /* SRGViewController.m */, + 74F1D3381881F1480098D423 /* Images.xcassets */, + 74F1D3271881F1480098D423 /* Supporting Files */, + ); + path = TableViewReactiveAdapterDemo; + sourceTree = ""; + }; + 74F1D3271881F1480098D423 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 74F1D3281881F1480098D423 /* TableViewReactiveAdapterDemo-Info.plist */, + 74F1D3291881F1480098D423 /* InfoPlist.strings */, + 74F1D32C1881F1480098D423 /* main.m */, + 74F1D32E1881F1480098D423 /* TableViewReactiveAdapterDemo-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 74F1D3451881F1490098D423 /* TableViewReactiveAdapterDemoTests */ = { + isa = PBXGroup; + children = ( + 74F1D34B1881F1490098D423 /* TableViewReactiveAdapterDemoTests.m */, + 74F1D3461881F1490098D423 /* Supporting Files */, + ); + path = TableViewReactiveAdapterDemoTests; + sourceTree = ""; + }; + 74F1D3461881F1490098D423 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 74F1D3471881F1490098D423 /* TableViewReactiveAdapterDemoTests-Info.plist */, + 74F1D3481881F1490098D423 /* InfoPlist.strings */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + FD1883C583355D2D35CCEBF4 /* Pods */ = { + isa = PBXGroup; + children = ( + 283FEE932F1E11E185EAC293 /* Pods.debug.xcconfig */, + DDB9779612CE22872343DD13 /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 74F1D31C1881F1480098D423 /* TableViewReactiveAdapterDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = 74F1D34F1881F1490098D423 /* Build configuration list for PBXNativeTarget "TableViewReactiveAdapterDemo" */; + buildPhases = ( + CE188D29AFA8446EB7FF32E4 /* Check Pods Manifest.lock */, + 74F1D3191881F1480098D423 /* Sources */, + 74F1D31A1881F1480098D423 /* Frameworks */, + 74F1D31B1881F1480098D423 /* Resources */, + E38DDFDC822649D3AB7694B3 /* Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TableViewReactiveAdapterDemo; + productName = TableViewReactiveAdapterDemo; + productReference = 74F1D31D1881F1480098D423 /* TableViewReactiveAdapterDemo.app */; + productType = "com.apple.product-type.application"; + }; + 74F1D33D1881F1490098D423 /* TableViewReactiveAdapterDemoTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 74F1D3521881F1490098D423 /* Build configuration list for PBXNativeTarget "TableViewReactiveAdapterDemoTests" */; + buildPhases = ( + 74F1D33A1881F1490098D423 /* Sources */, + 74F1D33B1881F1490098D423 /* Frameworks */, + 74F1D33C1881F1490098D423 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 74F1D3441881F1490098D423 /* PBXTargetDependency */, + ); + name = TableViewReactiveAdapterDemoTests; + productName = TableViewReactiveAdapterDemoTests; + productReference = 74F1D33E1881F1490098D423 /* TableViewReactiveAdapterDemoTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 74F1D3151881F1480098D423 /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = SRG; + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = "Sergey Gavrilyuk"; + TargetAttributes = { + 74F1D33D1881F1490098D423 = { + TestTargetID = 74F1D31C1881F1480098D423; + }; + }; + }; + buildConfigurationList = 74F1D3181881F1480098D423 /* Build configuration list for PBXProject "TableViewReactiveAdapterDemo" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 74F1D3141881F1480098D423; + productRefGroup = 74F1D31E1881F1480098D423 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 74F1D31C1881F1480098D423 /* TableViewReactiveAdapterDemo */, + 74F1D33D1881F1490098D423 /* TableViewReactiveAdapterDemoTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 74F1D31B1881F1480098D423 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D3391881F1480098D423 /* Images.xcassets in Resources */, + 74F1D32B1881F1480098D423 /* InfoPlist.strings in Resources */, + 74F1D3341881F1480098D423 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 74F1D33C1881F1490098D423 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D34A1881F1490098D423 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + CE188D29AFA8446EB7FF32E4 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + E38DDFDC822649D3AB7694B3 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 74F1D3191881F1480098D423 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D3371881F1480098D423 /* SRGViewController.m in Sources */, + 74F1D32D1881F1480098D423 /* main.m in Sources */, + 74F1D3311881F1480098D423 /* SRGAppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 74F1D33A1881F1490098D423 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74F1D34C1881F1490098D423 /* TableViewReactiveAdapterDemoTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 74F1D3441881F1490098D423 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 74F1D31C1881F1480098D423 /* TableViewReactiveAdapterDemo */; + targetProxy = 74F1D3431881F1490098D423 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 74F1D3291881F1480098D423 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 74F1D32A1881F1480098D423 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 74F1D3321881F1480098D423 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 74F1D3331881F1480098D423 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 74F1D3481881F1490098D423 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 74F1D3491881F1490098D423 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 74F1D34D1881F1490098D423 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 74F1D34E1881F1490098D423 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 74F1D3501881F1490098D423 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 283FEE932F1E11E185EAC293 /* Pods.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch"; + INFOPLIST_FILE = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 74F1D3511881F1490098D423 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DDB9779612CE22872343DD13 /* Pods.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch"; + INFOPLIST_FILE = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 74F1D3531881F1490098D423 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TableViewReactiveAdapterDemo.app/TableViewReactiveAdapterDemo"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "TableViewReactiveAdapterDemoTests/TableViewReactiveAdapterDemoTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + 74F1D3541881F1490098D423 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TableViewReactiveAdapterDemo.app/TableViewReactiveAdapterDemo"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo-Prefix.pch"; + INFOPLIST_FILE = "TableViewReactiveAdapterDemoTests/TableViewReactiveAdapterDemoTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 74F1D3181881F1480098D423 /* Build configuration list for PBXProject "TableViewReactiveAdapterDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 74F1D34D1881F1490098D423 /* Debug */, + 74F1D34E1881F1490098D423 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 74F1D34F1881F1490098D423 /* Build configuration list for PBXNativeTarget "TableViewReactiveAdapterDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 74F1D3501881F1490098D423 /* Debug */, + 74F1D3511881F1490098D423 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 74F1D3521881F1490098D423 /* Build configuration list for PBXNativeTarget "TableViewReactiveAdapterDemoTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 74F1D3531881F1490098D423 /* Debug */, + 74F1D3541881F1490098D423 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 74F1D3151881F1480098D423 /* Project object */; +} From 014ab6aa5e8f4e52f9346377dc272e4086aca36c Mon Sep 17 00:00:00 2001 From: Sergey Gavrilyuk Date: Thu, 12 Mar 2015 07:37:53 -0400 Subject: [PATCH 4/5] `flushSignal` property added to TableviewReactiveAdapter --- .../SRGTableViewReactiveAdapter.h | 7 ++++ .../SRGTableViewReactiveAdapter.m | 34 +++++++++++++++---- .../SRGViewController.m | 5 ++- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.h b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.h index 8d19adb..95b6d7f 100644 --- a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.h +++ b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.h @@ -69,6 +69,7 @@ - (instancetype)initWithTableView:(UITableView *)tableView withInitialState:(NSArray *)array; + /// Subscriber for UITableView source events. Can be used for RACSignal to subscribe to. - (id)sourceEventsSubscriber; @@ -100,4 +101,10 @@ /// Upon initialization, this property is automatically set to whatever UITableView instance had before. @property (nonatomic, weak) id dataSource; +/// TableViewReactiveAdapter flush signal +/// +/// @discussion sends this SRGTableViewReactiveAdapter instance everytime update events get flushed +/// into managed UITableView +@property (nonatomic, readonly) RACSignal *flushSignal; + @end diff --git a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m index ffbbd4a..ddbaf92 100644 --- a/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m +++ b/TableViewReactiveAdapter/TableViewReactiveAdapter/SRGTableViewReactiveAdapter.m @@ -267,22 +267,23 @@ - (instancetype)initWithTableView:(UITableView *)tableView withInitialState:(NSArray *)array { self = [super init]; if (self) { - self.tableView = tableView; - self.dataSource = self.tableView.dataSource; - self.tableView.dataSource = self; + [self _setTableView:tableView]; + @weakify(self) self.flushCommand = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) { return [RACSignal createSignal:^RACDisposable *(id subscriber) { + @strongify(self) [self processTableViewFlush]; // since flushCommand has concurrentExecution turned off, this delay will // ensure flush is performed not more frequent than this delay. (so tableView can finish it's animations safely) - [[RACScheduler mainThreadScheduler] afterDelay:.33 schedule:^{ + RACDisposable *disposable = [[RACScheduler mainThreadScheduler] afterDelay:1.33 schedule:^{ [subscriber sendCompleted]; }]; - return nil; + return disposable; }]; }]; + self.sourceEventsSignal = [RACSubject subject]; NSMutableArray *arr = [NSMutableArray array]; @@ -296,6 +297,13 @@ - (instancetype)initWithTableView:(UITableView *)tableView return self; } +- (void)_setTableView:(UITableView *)tableView { + self.tableView = tableView; + + self.dataSource = self.tableView.dataSource; + self.tableView.dataSource = self; +} + - (void)initRelations { RACSignal *allEventsSignal = [self.sourceEventsSignal filter:^BOOL(SRGTableViewContentModificationEvent *value) { @@ -329,8 +337,12 @@ - (void)initRelations { return event.eventType == SRGDeleteRows; }], nil]; - - [self.flushCommand rac_liftSelector:@selector(execute:) withSignals:[allEventsSignal logNext], nil]; + RACSignal *executing = self.flushCommand.executing; + + [self.flushCommand rac_liftSelector:@selector(execute:) withSignals: + [allEventsSignal map: ^id (id event) { + return [[[executing ignore:@YES] take:1] mapReplace:event]; + }].switchToLatest, nil]; } @@ -385,6 +397,14 @@ - (void)processTableViewFlush { return self.sourceEventsSignal; } +- (RACSignal *)flushSignal { + @weakify(self) + return [self.flushCommand.executionSignals map:^id(RACSignal *flushSignal) { + @strongify(self) + return [flushSignal.ignoreValues concat:[RACSignal return:self]]; + }].switchToLatest; +} + #pragma mark - UITableViewDataSource diff --git a/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo/SRGViewController.m b/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo/SRGViewController.m index 06f5fe3..9431be0 100644 --- a/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo/SRGViewController.m +++ b/TableViewReactiveAdapterDemo/TableViewReactiveAdapterDemo/SRGViewController.m @@ -24,11 +24,14 @@ - (void)viewDidLoad { static int cellNumber = 0; + [self.tableViewReactiveAdapter.flushSignal subscribeNext:^(id x) { + NSLog(@"***** ReactiveAdapter flushed"); + }]; [[RACSignal createSignal:^RACDisposable *(id subscriber) { void (^__block recurse)() = ^{ - double delayInSeconds = 2.25; + double delayInSeconds = .25; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, arc4random() % (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ SRGTableViewContentModificationEvent *event = nil; From fa656f9d4118f182b0005da057a253d99731f92a Mon Sep 17 00:00:00 2001 From: Sergey Gavrilyuk Date: Thu, 12 Mar 2015 07:39:39 -0400 Subject: [PATCH 5/5] pod version updated in podspec file --- TableViewReactiveAdapter.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TableViewReactiveAdapter.podspec b/TableViewReactiveAdapter.podspec index d021a65..41a396e 100644 --- a/TableViewReactiveAdapter.podspec +++ b/TableViewReactiveAdapter.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |s| s.license = { :type => 'MIT' } s.author = { "Sergey Gavrilyuk" => "sergey.gavrilyuk@gmail.com" } s.platform = :ios, "6.0" - s.source = { :git => "https://github.com/gavrix/TableViewReactiveAdapter.git", :tag => "0.0.1" } + s.source = { :git => "https://github.com/gavrix/TableViewReactiveAdapter.git", :tag => "0.0.2" } s.source_files = 'TableViewReactiveAdapter/TableViewReactiveAdapter/*.{h,m}' s.requires_arc = true