├── .gitignore ├── .travis.yml ├── Classes ├── RamblerAppDelegateProxy.h ├── RamblerAppDelegateProxy.m ├── RamblerAppDelegateProxyInjector.h ├── RamblerAppDelegateProxyInjector.m ├── RamblerAppDelegateProxyProtocol.h ├── RamblerDefaultAppDelegate.h └── RamblerDefaultAppDelegate.m ├── LICENSE ├── Project ├── Podfile ├── Podfile.lock ├── Pods │ ├── Headers │ │ ├── Private │ │ │ └── RamblerAppDelegateProxy │ │ │ │ ├── RamblerAppDelegateProxy.h │ │ │ │ ├── RamblerAppDelegateProxyInjector.h │ │ │ │ ├── RamblerAppDelegateProxyProtocol.h │ │ │ │ └── RamblerDefaultAppDelegate.h │ │ └── Public │ │ │ └── RamblerAppDelegateProxy │ │ │ ├── RamblerAppDelegateProxy.h │ │ │ ├── RamblerAppDelegateProxyInjector.h │ │ │ ├── RamblerAppDelegateProxyProtocol.h │ │ │ └── RamblerDefaultAppDelegate.h │ ├── Local Podspecs │ │ └── RamblerAppDelegateProxy.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── RamblerAppDelegateProxy.xcscheme │ └── Target Support Files │ │ ├── Pods-RamblerAppDelegateProxyExample │ │ ├── Pods-RamblerAppDelegateProxyExample-acknowledgements.markdown │ │ ├── Pods-RamblerAppDelegateProxyExample-acknowledgements.plist │ │ ├── Pods-RamblerAppDelegateProxyExample-dummy.m │ │ ├── Pods-RamblerAppDelegateProxyExample-frameworks.sh │ │ ├── Pods-RamblerAppDelegateProxyExample-resources.sh │ │ ├── Pods-RamblerAppDelegateProxyExample.debug.xcconfig │ │ └── Pods-RamblerAppDelegateProxyExample.release.xcconfig │ │ ├── Pods-RamblerAppDelegateProxyExampleTests │ │ ├── Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.markdown │ │ ├── Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.plist │ │ ├── Pods-RamblerAppDelegateProxyExampleTests-dummy.m │ │ ├── Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh │ │ ├── Pods-RamblerAppDelegateProxyExampleTests-resources.sh │ │ ├── Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig │ │ └── Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig │ │ └── RamblerAppDelegateProxy │ │ ├── RamblerAppDelegateProxy-dummy.m │ │ ├── RamblerAppDelegateProxy-prefix.pch │ │ └── RamblerAppDelegateProxy.xcconfig ├── RamblerAppDelegateProxyExample.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── RamblerAppDelegateProxyExample.xcscheme ├── RamblerAppDelegateProxyExample.xcworkspace │ └── contents.xcworkspacedata ├── RamblerAppDelegateProxyExample │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── LogAppDelegate.h │ ├── LogAppDelegate.m │ ├── RemoteNotificationAppDelegate.h │ ├── RemoteNotificationAppDelegate.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m └── RamblerAppDelegateProxyExampleTests │ ├── Info.plist │ ├── MockAppDelegate.h │ ├── MockAppDelegate.m │ └── RamblerAppDelegateProxyExampleTests.m ├── README.md └── RamblerAppDelegateProxy.podspec /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata 19 | 20 | ## Other 21 | *.xccheckout 22 | *.moved-aside 23 | *.xcuserstate 24 | *.xcscmblueprint 25 | 26 | ## Obj-C/Swift specific 27 | *.hmap 28 | *.ipa 29 | 30 | # CocoaPods 31 | # 32 | # We recommend against adding the Pods directory to your .gitignore. However 33 | # you should judge for yourself, the pros and cons are mentioned at: 34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 35 | # 36 | # Pods/ 37 | 38 | # Carthage 39 | # 40 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 41 | # Carthage/Checkouts 42 | 43 | Carthage/Build 44 | 45 | # fastlane 46 | # 47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 48 | # screenshots whenever they are needed. 49 | # For more information about the recommended setup visit: 50 | # https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md 51 | 52 | fastlane/report.xml 53 | fastlane/screenshots 54 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: xcode7.2 3 | script: xctool test -workspace Project/RamblerAppDelegateProxyExample.xcworkspace -scheme RamblerAppDelegateProxyExample -sdk iphonesimulator9.3 4 | -------------------------------------------------------------------------------- /Classes/RamblerAppDelegateProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxy.h 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "RamblerAppDelegateProxyProtocol.h" 10 | 11 | /** 12 | @author Vadim Smal 13 | 14 | Proxy for AppDelegate class replacement. 15 | */ 16 | @interface RamblerAppDelegateProxy : NSProxy 17 | 18 | /** 19 | @author Vadim Smal 20 | 21 | Constructor 22 | 23 | @return instancetype 24 | */ 25 | - (instancetype)init; 26 | 27 | /** 28 | @author Vadim Smal 29 | 30 | Dependency injection container 31 | 32 | @return RamblerAppDelegateProxyInjector 33 | */ 34 | + (instancetype)injector; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Classes/RamblerAppDelegateProxy.m: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxy.m 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "RamblerAppDelegateProxy.h" 10 | #import "RamblerDefaultAppDelegate.h" 11 | #import "RamblerAppDelegateProxyInjector.h" 12 | 13 | #import 14 | 15 | @interface RamblerAppDelegateProxy () 16 | 17 | @property (strong, nonatomic) NSMutableArray *delegates; 18 | 19 | @end 20 | 21 | @implementation RamblerAppDelegateProxy 22 | 23 | @synthesize defaultAppDelegate = _defaultAppDelegate; 24 | 25 | - (instancetype)init { 26 | _delegates = [NSMutableArray new]; 27 | [(RamblerAppDelegateProxyInjector *)[[self class] injector] apply:self]; 28 | return self; 29 | } 30 | 31 | + (instancetype)injector { 32 | static id injector; 33 | if (!injector) { 34 | injector = [[RamblerAppDelegateProxyInjector alloc] init]; 35 | } 36 | return injector; 37 | } 38 | 39 | - (UIResponder *)defaultAppDelegate { 40 | if (!_defaultAppDelegate) { 41 | _defaultAppDelegate = [RamblerDefaultAppDelegate new]; 42 | } 43 | return _defaultAppDelegate; 44 | } 45 | 46 | - (void)addAppDelegate:(id)delegate { 47 | if ([delegate conformsToProtocol:@protocol(UIApplicationDelegate)]) { 48 | [self.delegates addObject:delegate]; 49 | } else { 50 | [NSException raise:NSInvalidArgumentException 51 | format:@"Delegate %@ doesn't conform to protocol UIApplicationDelegate", delegate]; 52 | } 53 | } 54 | 55 | - (void)addAppDelegates:(NSArray *)delegates { 56 | for (id delegate in delegates) { 57 | [self addAppDelegate:delegate]; 58 | } 59 | } 60 | 61 | - (BOOL)respondsToSelector:(SEL)selector { 62 | 63 | if ([self shouldForwardToSelf:selector]) { 64 | return YES; 65 | } 66 | 67 | if ([self shouldForwardToDelegatesSelector:selector]) { 68 | for (id target in self.delegates) { 69 | if ([target respondsToSelector:selector]) { 70 | return YES; 71 | } 72 | } 73 | } 74 | 75 | return [self.defaultAppDelegate respondsToSelector:selector]; 76 | } 77 | 78 | - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { 79 | return [self.defaultAppDelegate methodSignatureForSelector:sel]; 80 | } 81 | 82 | - (void)forwardInvocation:(NSInvocation *)invocation { 83 | 84 | SEL selector = [invocation selector]; 85 | 86 | if ([self shouldForwardToSelf:selector]) { 87 | [invocation invokeWithTarget:self]; 88 | } 89 | 90 | BOOL hasResponder = NO; 91 | 92 | if ([self shouldForwardToDelegatesSelector:selector]) { 93 | for (id target in self.delegates) { 94 | if ([target respondsToSelector:selector]) { 95 | [invocation invokeWithTarget:target]; 96 | hasResponder = YES; 97 | } 98 | } 99 | } 100 | 101 | if (hasResponder) return; 102 | [invocation invokeWithTarget:self.defaultAppDelegate]; 103 | } 104 | 105 | - (BOOL)shouldForwardToDelegatesSelector:(SEL)selector { 106 | 107 | if ([self isSelector:selector fromProtocol:@protocol(UIApplicationDelegate)] && ![self isSelector:selector fromProtocol:@protocol(NSObject)]) { 108 | return YES; 109 | } 110 | 111 | return NO; 112 | } 113 | 114 | - (BOOL)isSelector:(SEL)selector fromProtocol:(Protocol *)protocol { 115 | 116 | static BOOL isReqVals[4] = {NO, NO, YES, YES}; 117 | static BOOL isInstanceVals[4] = {NO, YES, NO, YES}; 118 | struct objc_method_description methodDescription; 119 | 120 | for(int i = 0; i < 4; i++) { 121 | methodDescription = protocol_getMethodDescription(protocol, 122 | selector, 123 | isReqVals[i], 124 | isInstanceVals[i]); 125 | 126 | if(methodDescription.types != NULL && methodDescription.name != NULL){ 127 | return YES; 128 | } 129 | } 130 | 131 | return NO; 132 | } 133 | 134 | - (BOOL)shouldForwardToSelf:(SEL)selector { 135 | return sel_isEqual(selector, @selector(addAppDelegate:)) || 136 | sel_isEqual(selector, @selector(addAppDelegates:)); 137 | } 138 | 139 | 140 | @end 141 | -------------------------------------------------------------------------------- /Classes/RamblerAppDelegateProxyInjector.h: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxyInjector.h 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** 12 | @author Vadim Smal 13 | 14 | Object for lazy injection to RamblerAppDelegateProxy 15 | 16 | */ 17 | @interface RamblerAppDelegateProxyInjector : NSProxy 18 | 19 | /** 20 | @author Vadim Smal 21 | 22 | Constructor 23 | 24 | @return instancetype 25 | */ 26 | - (instancetype)init; 27 | 28 | /** 29 | @author Vadim Smal 30 | 31 | Method for apply injection 32 | 33 | @param object object for injection (RamblerAppDelegateProxy) 34 | */ 35 | - (void)apply:(id)object; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Classes/RamblerAppDelegateProxyInjector.m: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxyInjector.m 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "RamblerAppDelegateProxyInjector.h" 10 | #import "RamblerAppDelegateProxyProtocol.h" 11 | #import 12 | 13 | @interface RamblerAppDelegateProxyInjector () 14 | 15 | @property (strong, nonatomic) NSMutableArray *invocations; 16 | 17 | @end 18 | 19 | @implementation RamblerAppDelegateProxyInjector 20 | 21 | - (instancetype)init { 22 | _invocations = [NSMutableArray new]; 23 | return self; 24 | } 25 | 26 | - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { 27 | struct { BOOL isRequired; BOOL isInstance; } opts[4] = { {YES, YES}, {NO, YES}, {YES, NO}, {NO, NO} }; 28 | for(int i = 0; i < 4; i++) 29 | { 30 | struct objc_method_description methodDescription = protocol_getMethodDescription(@protocol(RamblerAppDelegateProxyProtocol), aSelector, opts[i].isRequired, opts[i].isInstance); 31 | if(methodDescription.name != NULL) 32 | return [NSMethodSignature signatureWithObjCTypes:methodDescription.types]; 33 | } 34 | return nil; 35 | 36 | } 37 | 38 | - (void)forwardInvocation:(NSInvocation *)anInvocation { 39 | [anInvocation retainArguments]; 40 | [self.invocations addObject:anInvocation]; 41 | } 42 | 43 | - (void)apply:(id)object { 44 | for (NSInvocation *invocation in self.invocations) { 45 | [invocation invokeWithTarget:object]; 46 | } 47 | [self.invocations removeAllObjects]; 48 | } 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Classes/RamblerAppDelegateProxyProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxyProtocol.h 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol RamblerAppDelegateProxyProtocol 12 | 13 | /** 14 | @author Vadim Smal 15 | 16 | Default AppDelegate for forwarding UIResponder methods and other methods not implemented in array of . If the property is not specified, then RamblerDefaultAppDelegate instance will be lazily initialized. 17 | */ 18 | @property (strong, nonatomic) UIResponder *defaultAppDelegate; 19 | /** 20 | @author Vadim Smal 21 | 22 | Insert object for forwarding UIApplicationDelegate methods. 23 | Object should conform to UIApplicationDelegate protocol, otherwise it throws exception. 24 | 25 | @param delegate object 26 | */ 27 | - (void)addAppDelegate:(id)delegate; 28 | 29 | /** 30 | @author Vadim Smal 31 | 32 | Add an array of for forwarding UIApplicationDelegate methods. 33 | 34 | @param delegates Array of objects 35 | */ 36 | - (void)addAppDelegates:(NSArray> *)delegates; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Classes/RamblerDefaultAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerDefaultAppDelegate.h 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** 12 | @author Vadim Smal 13 | 14 | Default AppDelegate for responding UIResponder methods 15 | */ 16 | @interface RamblerDefaultAppDelegate : UIResponder 17 | 18 | @property (strong, nonatomic) UIWindow *window; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Classes/RamblerDefaultAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerDefaultAppDelegate.m 3 | // Pods 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | // 9 | 10 | #import "RamblerDefaultAppDelegate.h" 11 | 12 | @implementation RamblerDefaultAppDelegate 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 iOS Team @ Rambler&Co 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Project/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '8.0' 3 | # Uncomment this line if you're using Swift 4 | # use_frameworks! 5 | 6 | target 'RamblerAppDelegateProxyExample' do 7 | pod "RamblerAppDelegateProxy", :path => "../" 8 | end 9 | 10 | target 'RamblerAppDelegateProxyExampleTests' do 11 | pod "RamblerAppDelegateProxy", :path => "../" 12 | end 13 | 14 | -------------------------------------------------------------------------------- /Project/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - RamblerAppDelegateProxy (0.0.1) 3 | 4 | DEPENDENCIES: 5 | - RamblerAppDelegateProxy (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | RamblerAppDelegateProxy: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | RamblerAppDelegateProxy: 8926ec7e066d4f4aabf965a32126c747d32498a7 13 | 14 | COCOAPODS: 0.39.0 15 | -------------------------------------------------------------------------------- /Project/Pods/Headers/Private/RamblerAppDelegateProxy/RamblerAppDelegateProxy.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxy.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Private/RamblerAppDelegateProxy/RamblerAppDelegateProxyInjector.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxyInjector.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Private/RamblerAppDelegateProxy/RamblerAppDelegateProxyProtocol.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxyProtocol.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Private/RamblerAppDelegateProxy/RamblerDefaultAppDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerDefaultAppDelegate.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Public/RamblerAppDelegateProxy/RamblerAppDelegateProxy.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxy.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Public/RamblerAppDelegateProxy/RamblerAppDelegateProxyInjector.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxyInjector.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Public/RamblerAppDelegateProxy/RamblerAppDelegateProxyProtocol.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerAppDelegateProxyProtocol.h -------------------------------------------------------------------------------- /Project/Pods/Headers/Public/RamblerAppDelegateProxy/RamblerDefaultAppDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../../../Classes/RamblerDefaultAppDelegate.h -------------------------------------------------------------------------------- /Project/Pods/Local Podspecs/RamblerAppDelegateProxy.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "RamblerAppDelegateProxy", 3 | "version": "0.0.1", 4 | "summary": "Proxy for UIApplicationDelegate protocol", 5 | "homepage": "https://github.com/rambler-ios/RamblerAppDelegateProxy", 6 | "license": { 7 | "type": "MIT", 8 | "file": "LICENSE" 9 | }, 10 | "authors": { 11 | "Vadim Smal": "vadim.smal92@gmail.com" 12 | }, 13 | "platforms": { 14 | "ios": "7.0" 15 | }, 16 | "source": { 17 | "git": "https://github.com/rambler-ios/RamblerAppDelegateProxy.git", 18 | "tag": "0.0.1" 19 | }, 20 | "source_files": "Classes/*.{h,m}", 21 | "public_header_files": "Classes/*.h", 22 | "frameworks": "Foundation", 23 | "requires_arc": true 24 | } 25 | -------------------------------------------------------------------------------- /Project/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - RamblerAppDelegateProxy (0.0.1) 3 | 4 | DEPENDENCIES: 5 | - RamblerAppDelegateProxy (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | RamblerAppDelegateProxy: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | RamblerAppDelegateProxy: 8926ec7e066d4f4aabf965a32126c747d32498a7 13 | 14 | COCOAPODS: 0.39.0 15 | -------------------------------------------------------------------------------- /Project/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 07DEDC1BC7624422170972F635B5A024 /* RamblerAppDelegateProxyProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 854397D95EA390FA4A39400FD9E79C6A /* RamblerAppDelegateProxyProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; 11 | 2882FB8A5187BD6E4442A81051285EE1 /* RamblerAppDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28034E65F8A4A4A0EC031A5C7BF06512 /* RamblerAppDelegateProxy.m */; }; 12 | 37036C7F76F6792C127C2CDE5819619E /* RamblerDefaultAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A15D688A5AB57BA609F56117FA3B6C /* RamblerDefaultAppDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; 13 | 4995187A5393C98E506A7362ABF723B1 /* Pods-RamblerAppDelegateProxyExampleTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0386B6C5BDE8F4BF5F5B5B527BC6EF2 /* Pods-RamblerAppDelegateProxyExampleTests-dummy.m */; }; 14 | 51C5A633204491D8C948FB60E19A8B37 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; 15 | 6415E8D28D8F02BB389EEDA63424EEFB /* RamblerAppDelegateProxyInjector.h in Headers */ = {isa = PBXBuildFile; fileRef = 6054BEF792942799485F62ED44101726 /* RamblerAppDelegateProxyInjector.h */; settings = {ATTRIBUTES = (Public, ); }; }; 16 | 6590A15678E55BA578EA296AAECB7D49 /* Pods-RamblerAppDelegateProxyExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D893D5A311E17684B5471401522AE6B5 /* Pods-RamblerAppDelegateProxyExample-dummy.m */; }; 17 | 6A89A4C5CC17C0E5B45BA1940845951D /* RamblerDefaultAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D706EC5037F4BFEA8FBDA92263BBB61D /* RamblerDefaultAppDelegate.m */; }; 18 | 7EB07DB6CE0BDAB089FACDEE91984882 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; 19 | BAB14541006AF1C8318802E999EFE074 /* RamblerAppDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C11101CE6DB04CEF8A97F7770730094 /* RamblerAppDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; 20 | CD39FD07EED6D1C5F8A80709423EF2D5 /* RamblerAppDelegateProxyInjector.m in Sources */ = {isa = PBXBuildFile; fileRef = 12B26834BB8CC54AAF0EAFF74344197E /* RamblerAppDelegateProxyInjector.m */; }; 21 | DF87B43E970FD3B3771F8F85C0C2D082 /* RamblerAppDelegateProxy-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EA83C961C0E011E2AA0216EC2F43A098 /* RamblerAppDelegateProxy-dummy.m */; }; 22 | E996885D8481BF03FB78FDF1D319D28D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; 23 | /* End PBXBuildFile section */ 24 | 25 | /* Begin PBXContainerItemProxy section */ 26 | 064F5515B3E23A7E2AE2394DDB0B589D /* PBXContainerItemProxy */ = { 27 | isa = PBXContainerItemProxy; 28 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 29 | proxyType = 1; 30 | remoteGlobalIDString = 166D991CECFBDDB67D897AB50B1BCC91; 31 | remoteInfo = RamblerAppDelegateProxy; 32 | }; 33 | 7847EEF890201AC6A648FDEAF0AA7651 /* PBXContainerItemProxy */ = { 34 | isa = PBXContainerItemProxy; 35 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 36 | proxyType = 1; 37 | remoteGlobalIDString = 166D991CECFBDDB67D897AB50B1BCC91; 38 | remoteInfo = RamblerAppDelegateProxy; 39 | }; 40 | /* End PBXContainerItemProxy section */ 41 | 42 | /* Begin PBXFileReference section */ 43 | 10156A351F0A9246F199D91EF5EC9694 /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig"; sourceTree = ""; }; 44 | 1152EEC89F9D497DE823F9A6AF6DFCE0 /* RamblerAppDelegateProxy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RamblerAppDelegateProxy.xcconfig; sourceTree = ""; }; 45 | 12B26834BB8CC54AAF0EAFF74344197E /* RamblerAppDelegateProxyInjector.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RamblerAppDelegateProxyInjector.m; sourceTree = ""; }; 46 | 28034E65F8A4A4A0EC031A5C7BF06512 /* RamblerAppDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RamblerAppDelegateProxy.m; sourceTree = ""; }; 47 | 3246A9F830CA12AA73C85681CDD0C837 /* Pods-RamblerAppDelegateProxyExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RamblerAppDelegateProxyExample-acknowledgements.markdown"; sourceTree = ""; }; 48 | 3670CA4C480AF9BC24481135B72337B6 /* Pods-RamblerAppDelegateProxyExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RamblerAppDelegateProxyExample-frameworks.sh"; sourceTree = ""; }; 49 | 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 50 | 51A15D688A5AB57BA609F56117FA3B6C /* RamblerDefaultAppDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RamblerDefaultAppDelegate.h; sourceTree = ""; }; 51 | 579E6A65F68F0333154DC758C3166E8C /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RamblerAppDelegateProxyExample.debug.xcconfig"; sourceTree = ""; }; 52 | 6054BEF792942799485F62ED44101726 /* RamblerAppDelegateProxyInjector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RamblerAppDelegateProxyInjector.h; sourceTree = ""; }; 53 | 6C11101CE6DB04CEF8A97F7770730094 /* RamblerAppDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RamblerAppDelegateProxy.h; sourceTree = ""; }; 54 | 720A15FB8B1013CD048EEEA7A6EA08E0 /* Pods-RamblerAppDelegateProxyExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RamblerAppDelegateProxyExample-acknowledgements.plist"; sourceTree = ""; }; 55 | 854397D95EA390FA4A39400FD9E79C6A /* RamblerAppDelegateProxyProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RamblerAppDelegateProxyProtocol.h; sourceTree = ""; }; 56 | 8C31F0EBF57E1F3E6C1D2768164CEF20 /* libPods-RamblerAppDelegateProxyExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RamblerAppDelegateProxyExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 57 | 8DFA2541938DB590C7725177F535B314 /* Pods-RamblerAppDelegateProxyExampleTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RamblerAppDelegateProxyExampleTests-resources.sh"; sourceTree = ""; }; 58 | 8FDB3B05AFE8C8DC56E8FB8047E9A1C9 /* Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh"; sourceTree = ""; }; 59 | A393B2AE19BCFB2B255304FE4EAB943E /* Pods-RamblerAppDelegateProxyExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RamblerAppDelegateProxyExample-resources.sh"; sourceTree = ""; }; 60 | A4EB25AC4D54D97D5A4421FB1C64809C /* Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.plist"; sourceTree = ""; }; 61 | A53D220FC9F239DBD2BEA435B4DE6827 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RamblerAppDelegateProxyExample.release.xcconfig"; sourceTree = ""; }; 62 | BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 63 | D706EC5037F4BFEA8FBDA92263BBB61D /* RamblerDefaultAppDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RamblerDefaultAppDelegate.m; sourceTree = ""; }; 64 | D893D5A311E17684B5471401522AE6B5 /* Pods-RamblerAppDelegateProxyExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RamblerAppDelegateProxyExample-dummy.m"; sourceTree = ""; }; 65 | DB021C02E271498077E1ADD4D74954CF /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig"; sourceTree = ""; }; 66 | E337A488DF5309D967F633EFB40FCC57 /* Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.markdown"; sourceTree = ""; }; 67 | E47238AB8C7DB7FD9465215370A65AC5 /* libPods-RamblerAppDelegateProxyExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RamblerAppDelegateProxyExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 68 | E4BD96ABF498F97ED53FB23D4C32D01A /* libRamblerAppDelegateProxy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRamblerAppDelegateProxy.a; sourceTree = BUILT_PRODUCTS_DIR; }; 69 | EA83C961C0E011E2AA0216EC2F43A098 /* RamblerAppDelegateProxy-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RamblerAppDelegateProxy-dummy.m"; sourceTree = ""; }; 70 | EF29D9AB1AE2DD569CC687720A57DE5C /* RamblerAppDelegateProxy-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RamblerAppDelegateProxy-prefix.pch"; sourceTree = ""; }; 71 | F0386B6C5BDE8F4BF5F5B5B527BC6EF2 /* Pods-RamblerAppDelegateProxyExampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RamblerAppDelegateProxyExampleTests-dummy.m"; sourceTree = ""; }; 72 | /* End PBXFileReference section */ 73 | 74 | /* Begin PBXFrameworksBuildPhase section */ 75 | 0D4A3500B85A1051723224B52F5D1BE7 /* Frameworks */ = { 76 | isa = PBXFrameworksBuildPhase; 77 | buildActionMask = 2147483647; 78 | files = ( 79 | E996885D8481BF03FB78FDF1D319D28D /* Foundation.framework in Frameworks */, 80 | ); 81 | runOnlyForDeploymentPostprocessing = 0; 82 | }; 83 | DC3874BD2EBA5F7E6772F000FE99371C /* Frameworks */ = { 84 | isa = PBXFrameworksBuildPhase; 85 | buildActionMask = 2147483647; 86 | files = ( 87 | 51C5A633204491D8C948FB60E19A8B37 /* Foundation.framework in Frameworks */, 88 | ); 89 | runOnlyForDeploymentPostprocessing = 0; 90 | }; 91 | EA55168EDDA3AD62367B9DB90CF1DEEC /* Frameworks */ = { 92 | isa = PBXFrameworksBuildPhase; 93 | buildActionMask = 2147483647; 94 | files = ( 95 | 7EB07DB6CE0BDAB089FACDEE91984882 /* Foundation.framework in Frameworks */, 96 | ); 97 | runOnlyForDeploymentPostprocessing = 0; 98 | }; 99 | /* End PBXFrameworksBuildPhase section */ 100 | 101 | /* Begin PBXGroup section */ 102 | 0629E844D8D0AB8D06AB6D048BD2CAC4 /* Targets Support Files */ = { 103 | isa = PBXGroup; 104 | children = ( 105 | F33DE538CF2B8AC254A0D4299AA4457D /* Pods-RamblerAppDelegateProxyExample */, 106 | A95E5C4801E827EA4CD0BC0B96E0BC29 /* Pods-RamblerAppDelegateProxyExampleTests */, 107 | ); 108 | name = "Targets Support Files"; 109 | sourceTree = ""; 110 | }; 111 | 2285DC8A271C6327965B3BACBD6286B2 /* Support Files */ = { 112 | isa = PBXGroup; 113 | children = ( 114 | 1152EEC89F9D497DE823F9A6AF6DFCE0 /* RamblerAppDelegateProxy.xcconfig */, 115 | EA83C961C0E011E2AA0216EC2F43A098 /* RamblerAppDelegateProxy-dummy.m */, 116 | EF29D9AB1AE2DD569CC687720A57DE5C /* RamblerAppDelegateProxy-prefix.pch */, 117 | ); 118 | name = "Support Files"; 119 | path = "Project/Pods/Target Support Files/RamblerAppDelegateProxy"; 120 | sourceTree = ""; 121 | }; 122 | 6811831ABBFBF98A8101B1289AFCAE8A /* Products */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | 8C31F0EBF57E1F3E6C1D2768164CEF20 /* libPods-RamblerAppDelegateProxyExample.a */, 126 | E47238AB8C7DB7FD9465215370A65AC5 /* libPods-RamblerAppDelegateProxyExampleTests.a */, 127 | E4BD96ABF498F97ED53FB23D4C32D01A /* libRamblerAppDelegateProxy.a */, 128 | ); 129 | name = Products; 130 | sourceTree = ""; 131 | }; 132 | 7DB346D0F39D3F0E887471402A8071AB = { 133 | isa = PBXGroup; 134 | children = ( 135 | BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, 136 | FDD578EE024A6AFE24658DCBB4C6F507 /* Development Pods */, 137 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, 138 | 6811831ABBFBF98A8101B1289AFCAE8A /* Products */, 139 | 0629E844D8D0AB8D06AB6D048BD2CAC4 /* Targets Support Files */, 140 | ); 141 | sourceTree = ""; 142 | }; 143 | A95E5C4801E827EA4CD0BC0B96E0BC29 /* Pods-RamblerAppDelegateProxyExampleTests */ = { 144 | isa = PBXGroup; 145 | children = ( 146 | E337A488DF5309D967F633EFB40FCC57 /* Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.markdown */, 147 | A4EB25AC4D54D97D5A4421FB1C64809C /* Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.plist */, 148 | F0386B6C5BDE8F4BF5F5B5B527BC6EF2 /* Pods-RamblerAppDelegateProxyExampleTests-dummy.m */, 149 | 8FDB3B05AFE8C8DC56E8FB8047E9A1C9 /* Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh */, 150 | 8DFA2541938DB590C7725177F535B314 /* Pods-RamblerAppDelegateProxyExampleTests-resources.sh */, 151 | DB021C02E271498077E1ADD4D74954CF /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */, 152 | 10156A351F0A9246F199D91EF5EC9694 /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */, 153 | ); 154 | name = "Pods-RamblerAppDelegateProxyExampleTests"; 155 | path = "Target Support Files/Pods-RamblerAppDelegateProxyExampleTests"; 156 | sourceTree = ""; 157 | }; 158 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { 159 | isa = PBXGroup; 160 | children = ( 161 | BF6342C8B29F4CEEA088EFF7AB4DE362 /* iOS */, 162 | ); 163 | name = Frameworks; 164 | sourceTree = ""; 165 | }; 166 | BF6342C8B29F4CEEA088EFF7AB4DE362 /* iOS */ = { 167 | isa = PBXGroup; 168 | children = ( 169 | 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */, 170 | ); 171 | name = iOS; 172 | sourceTree = ""; 173 | }; 174 | D1487B809979730A15786803EE6D1F6C /* Classes */ = { 175 | isa = PBXGroup; 176 | children = ( 177 | 6C11101CE6DB04CEF8A97F7770730094 /* RamblerAppDelegateProxy.h */, 178 | 28034E65F8A4A4A0EC031A5C7BF06512 /* RamblerAppDelegateProxy.m */, 179 | 6054BEF792942799485F62ED44101726 /* RamblerAppDelegateProxyInjector.h */, 180 | 12B26834BB8CC54AAF0EAFF74344197E /* RamblerAppDelegateProxyInjector.m */, 181 | 854397D95EA390FA4A39400FD9E79C6A /* RamblerAppDelegateProxyProtocol.h */, 182 | 51A15D688A5AB57BA609F56117FA3B6C /* RamblerDefaultAppDelegate.h */, 183 | D706EC5037F4BFEA8FBDA92263BBB61D /* RamblerDefaultAppDelegate.m */, 184 | ); 185 | path = Classes; 186 | sourceTree = ""; 187 | }; 188 | F33DE538CF2B8AC254A0D4299AA4457D /* Pods-RamblerAppDelegateProxyExample */ = { 189 | isa = PBXGroup; 190 | children = ( 191 | 3246A9F830CA12AA73C85681CDD0C837 /* Pods-RamblerAppDelegateProxyExample-acknowledgements.markdown */, 192 | 720A15FB8B1013CD048EEEA7A6EA08E0 /* Pods-RamblerAppDelegateProxyExample-acknowledgements.plist */, 193 | D893D5A311E17684B5471401522AE6B5 /* Pods-RamblerAppDelegateProxyExample-dummy.m */, 194 | 3670CA4C480AF9BC24481135B72337B6 /* Pods-RamblerAppDelegateProxyExample-frameworks.sh */, 195 | A393B2AE19BCFB2B255304FE4EAB943E /* Pods-RamblerAppDelegateProxyExample-resources.sh */, 196 | 579E6A65F68F0333154DC758C3166E8C /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */, 197 | A53D220FC9F239DBD2BEA435B4DE6827 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */, 198 | ); 199 | name = "Pods-RamblerAppDelegateProxyExample"; 200 | path = "Target Support Files/Pods-RamblerAppDelegateProxyExample"; 201 | sourceTree = ""; 202 | }; 203 | F4D28A06BF9A680B10E9EEDE694F52DA /* RamblerAppDelegateProxy */ = { 204 | isa = PBXGroup; 205 | children = ( 206 | D1487B809979730A15786803EE6D1F6C /* Classes */, 207 | 2285DC8A271C6327965B3BACBD6286B2 /* Support Files */, 208 | ); 209 | name = RamblerAppDelegateProxy; 210 | path = ../..; 211 | sourceTree = ""; 212 | }; 213 | FDD578EE024A6AFE24658DCBB4C6F507 /* Development Pods */ = { 214 | isa = PBXGroup; 215 | children = ( 216 | F4D28A06BF9A680B10E9EEDE694F52DA /* RamblerAppDelegateProxy */, 217 | ); 218 | name = "Development Pods"; 219 | sourceTree = ""; 220 | }; 221 | /* End PBXGroup section */ 222 | 223 | /* Begin PBXHeadersBuildPhase section */ 224 | 7B0D948604893A25D3046B3C992BEBBB /* Headers */ = { 225 | isa = PBXHeadersBuildPhase; 226 | buildActionMask = 2147483647; 227 | files = ( 228 | BAB14541006AF1C8318802E999EFE074 /* RamblerAppDelegateProxy.h in Headers */, 229 | 6415E8D28D8F02BB389EEDA63424EEFB /* RamblerAppDelegateProxyInjector.h in Headers */, 230 | 07DEDC1BC7624422170972F635B5A024 /* RamblerAppDelegateProxyProtocol.h in Headers */, 231 | 37036C7F76F6792C127C2CDE5819619E /* RamblerDefaultAppDelegate.h in Headers */, 232 | ); 233 | runOnlyForDeploymentPostprocessing = 0; 234 | }; 235 | /* End PBXHeadersBuildPhase section */ 236 | 237 | /* Begin PBXNativeTarget section */ 238 | 166D991CECFBDDB67D897AB50B1BCC91 /* RamblerAppDelegateProxy */ = { 239 | isa = PBXNativeTarget; 240 | buildConfigurationList = 40D368686F715AB8D556B433C8032202 /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxy" */; 241 | buildPhases = ( 242 | A2C67D05972C1240E1079F759B4EB831 /* Sources */, 243 | DC3874BD2EBA5F7E6772F000FE99371C /* Frameworks */, 244 | 7B0D948604893A25D3046B3C992BEBBB /* Headers */, 245 | ); 246 | buildRules = ( 247 | ); 248 | dependencies = ( 249 | ); 250 | name = RamblerAppDelegateProxy; 251 | productName = RamblerAppDelegateProxy; 252 | productReference = E4BD96ABF498F97ED53FB23D4C32D01A /* libRamblerAppDelegateProxy.a */; 253 | productType = "com.apple.product-type.library.static"; 254 | }; 255 | 584AD86133B978EC4F5C9C6AD3A9CBD4 /* Pods-RamblerAppDelegateProxyExample */ = { 256 | isa = PBXNativeTarget; 257 | buildConfigurationList = AFE81A981115323815EDA0ACD69E7F65 /* Build configuration list for PBXNativeTarget "Pods-RamblerAppDelegateProxyExample" */; 258 | buildPhases = ( 259 | 1C21A7A7DE0900973398C05108A910B6 /* Sources */, 260 | 0D4A3500B85A1051723224B52F5D1BE7 /* Frameworks */, 261 | ); 262 | buildRules = ( 263 | ); 264 | dependencies = ( 265 | 65A33E1F441417B42750E5E9178E75CA /* PBXTargetDependency */, 266 | ); 267 | name = "Pods-RamblerAppDelegateProxyExample"; 268 | productName = "Pods-RamblerAppDelegateProxyExample"; 269 | productReference = 8C31F0EBF57E1F3E6C1D2768164CEF20 /* libPods-RamblerAppDelegateProxyExample.a */; 270 | productType = "com.apple.product-type.library.static"; 271 | }; 272 | 7C6F34C1B9C3F4912A325F5F43F90664 /* Pods-RamblerAppDelegateProxyExampleTests */ = { 273 | isa = PBXNativeTarget; 274 | buildConfigurationList = 3DF8B45E74C82C0456EDEF65515FD0B2 /* Build configuration list for PBXNativeTarget "Pods-RamblerAppDelegateProxyExampleTests" */; 275 | buildPhases = ( 276 | 3F2E868A543ACEFFC6B0A31EE11B3CE1 /* Sources */, 277 | EA55168EDDA3AD62367B9DB90CF1DEEC /* Frameworks */, 278 | ); 279 | buildRules = ( 280 | ); 281 | dependencies = ( 282 | 281922951A12442CFD9BB763E1D2A32B /* PBXTargetDependency */, 283 | ); 284 | name = "Pods-RamblerAppDelegateProxyExampleTests"; 285 | productName = "Pods-RamblerAppDelegateProxyExampleTests"; 286 | productReference = E47238AB8C7DB7FD9465215370A65AC5 /* libPods-RamblerAppDelegateProxyExampleTests.a */; 287 | productType = "com.apple.product-type.library.static"; 288 | }; 289 | /* End PBXNativeTarget section */ 290 | 291 | /* Begin PBXProject section */ 292 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 293 | isa = PBXProject; 294 | attributes = { 295 | LastSwiftUpdateCheck = 0700; 296 | LastUpgradeCheck = 0700; 297 | }; 298 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 299 | compatibilityVersion = "Xcode 3.2"; 300 | developmentRegion = English; 301 | hasScannedForEncodings = 0; 302 | knownRegions = ( 303 | en, 304 | ); 305 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 306 | productRefGroup = 6811831ABBFBF98A8101B1289AFCAE8A /* Products */; 307 | projectDirPath = ""; 308 | projectRoot = ""; 309 | targets = ( 310 | 584AD86133B978EC4F5C9C6AD3A9CBD4 /* Pods-RamblerAppDelegateProxyExample */, 311 | 7C6F34C1B9C3F4912A325F5F43F90664 /* Pods-RamblerAppDelegateProxyExampleTests */, 312 | 166D991CECFBDDB67D897AB50B1BCC91 /* RamblerAppDelegateProxy */, 313 | ); 314 | }; 315 | /* End PBXProject section */ 316 | 317 | /* Begin PBXSourcesBuildPhase section */ 318 | 1C21A7A7DE0900973398C05108A910B6 /* Sources */ = { 319 | isa = PBXSourcesBuildPhase; 320 | buildActionMask = 2147483647; 321 | files = ( 322 | 6590A15678E55BA578EA296AAECB7D49 /* Pods-RamblerAppDelegateProxyExample-dummy.m in Sources */, 323 | ); 324 | runOnlyForDeploymentPostprocessing = 0; 325 | }; 326 | 3F2E868A543ACEFFC6B0A31EE11B3CE1 /* Sources */ = { 327 | isa = PBXSourcesBuildPhase; 328 | buildActionMask = 2147483647; 329 | files = ( 330 | 4995187A5393C98E506A7362ABF723B1 /* Pods-RamblerAppDelegateProxyExampleTests-dummy.m in Sources */, 331 | ); 332 | runOnlyForDeploymentPostprocessing = 0; 333 | }; 334 | A2C67D05972C1240E1079F759B4EB831 /* Sources */ = { 335 | isa = PBXSourcesBuildPhase; 336 | buildActionMask = 2147483647; 337 | files = ( 338 | DF87B43E970FD3B3771F8F85C0C2D082 /* RamblerAppDelegateProxy-dummy.m in Sources */, 339 | 2882FB8A5187BD6E4442A81051285EE1 /* RamblerAppDelegateProxy.m in Sources */, 340 | CD39FD07EED6D1C5F8A80709423EF2D5 /* RamblerAppDelegateProxyInjector.m in Sources */, 341 | 6A89A4C5CC17C0E5B45BA1940845951D /* RamblerDefaultAppDelegate.m in Sources */, 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | }; 345 | /* End PBXSourcesBuildPhase section */ 346 | 347 | /* Begin PBXTargetDependency section */ 348 | 281922951A12442CFD9BB763E1D2A32B /* PBXTargetDependency */ = { 349 | isa = PBXTargetDependency; 350 | name = RamblerAppDelegateProxy; 351 | target = 166D991CECFBDDB67D897AB50B1BCC91 /* RamblerAppDelegateProxy */; 352 | targetProxy = 064F5515B3E23A7E2AE2394DDB0B589D /* PBXContainerItemProxy */; 353 | }; 354 | 65A33E1F441417B42750E5E9178E75CA /* PBXTargetDependency */ = { 355 | isa = PBXTargetDependency; 356 | name = RamblerAppDelegateProxy; 357 | target = 166D991CECFBDDB67D897AB50B1BCC91 /* RamblerAppDelegateProxy */; 358 | targetProxy = 7847EEF890201AC6A648FDEAF0AA7651 /* PBXContainerItemProxy */; 359 | }; 360 | /* End PBXTargetDependency section */ 361 | 362 | /* Begin XCBuildConfiguration section */ 363 | 20EA6722C28D4F800FD02C905F449369 /* Release */ = { 364 | isa = XCBuildConfiguration; 365 | baseConfigurationReference = 10156A351F0A9246F199D91EF5EC9694 /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */; 366 | buildSettings = { 367 | ENABLE_STRICT_OBJC_MSGSEND = YES; 368 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 369 | MACH_O_TYPE = staticlib; 370 | MTL_ENABLE_DEBUG_INFO = NO; 371 | OTHER_LDFLAGS = ""; 372 | OTHER_LIBTOOLFLAGS = ""; 373 | PODS_ROOT = "$(SRCROOT)"; 374 | PRODUCT_NAME = "$(TARGET_NAME)"; 375 | SDKROOT = iphoneos; 376 | SKIP_INSTALL = YES; 377 | }; 378 | name = Release; 379 | }; 380 | 4BFFDCEF2791D46A03630075709B3453 /* Debug */ = { 381 | isa = XCBuildConfiguration; 382 | baseConfigurationReference = 1152EEC89F9D497DE823F9A6AF6DFCE0 /* RamblerAppDelegateProxy.xcconfig */; 383 | buildSettings = { 384 | ENABLE_STRICT_OBJC_MSGSEND = YES; 385 | GCC_PREFIX_HEADER = "Target Support Files/RamblerAppDelegateProxy/RamblerAppDelegateProxy-prefix.pch"; 386 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 387 | MTL_ENABLE_DEBUG_INFO = YES; 388 | OTHER_LDFLAGS = ""; 389 | OTHER_LIBTOOLFLAGS = ""; 390 | PRIVATE_HEADERS_FOLDER_PATH = ""; 391 | PRODUCT_NAME = "$(TARGET_NAME)"; 392 | PUBLIC_HEADERS_FOLDER_PATH = ""; 393 | SDKROOT = iphoneos; 394 | SKIP_INSTALL = YES; 395 | }; 396 | name = Debug; 397 | }; 398 | 6A2E77776F8E9EDD54A2D67361656980 /* Debug */ = { 399 | isa = XCBuildConfiguration; 400 | baseConfigurationReference = DB021C02E271498077E1ADD4D74954CF /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */; 401 | buildSettings = { 402 | ENABLE_STRICT_OBJC_MSGSEND = YES; 403 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 404 | MACH_O_TYPE = staticlib; 405 | MTL_ENABLE_DEBUG_INFO = YES; 406 | OTHER_LDFLAGS = ""; 407 | OTHER_LIBTOOLFLAGS = ""; 408 | PODS_ROOT = "$(SRCROOT)"; 409 | PRODUCT_NAME = "$(TARGET_NAME)"; 410 | SDKROOT = iphoneos; 411 | SKIP_INSTALL = YES; 412 | }; 413 | name = Debug; 414 | }; 415 | 6E77A9C858E5719B049419D94597B608 /* Release */ = { 416 | isa = XCBuildConfiguration; 417 | baseConfigurationReference = 1152EEC89F9D497DE823F9A6AF6DFCE0 /* RamblerAppDelegateProxy.xcconfig */; 418 | buildSettings = { 419 | ENABLE_STRICT_OBJC_MSGSEND = YES; 420 | GCC_PREFIX_HEADER = "Target Support Files/RamblerAppDelegateProxy/RamblerAppDelegateProxy-prefix.pch"; 421 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 422 | MTL_ENABLE_DEBUG_INFO = NO; 423 | OTHER_LDFLAGS = ""; 424 | OTHER_LIBTOOLFLAGS = ""; 425 | PRIVATE_HEADERS_FOLDER_PATH = ""; 426 | PRODUCT_NAME = "$(TARGET_NAME)"; 427 | PUBLIC_HEADERS_FOLDER_PATH = ""; 428 | SDKROOT = iphoneos; 429 | SKIP_INSTALL = YES; 430 | }; 431 | name = Release; 432 | }; 433 | 8D1534490D941DCA47C62AC4314182AF /* Debug */ = { 434 | isa = XCBuildConfiguration; 435 | buildSettings = { 436 | ALWAYS_SEARCH_USER_PATHS = NO; 437 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 438 | CLANG_CXX_LIBRARY = "libc++"; 439 | CLANG_ENABLE_MODULES = YES; 440 | CLANG_ENABLE_OBJC_ARC = YES; 441 | CLANG_WARN_BOOL_CONVERSION = YES; 442 | CLANG_WARN_CONSTANT_CONVERSION = YES; 443 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 444 | CLANG_WARN_EMPTY_BODY = YES; 445 | CLANG_WARN_ENUM_CONVERSION = YES; 446 | CLANG_WARN_INT_CONVERSION = YES; 447 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 448 | CLANG_WARN_UNREACHABLE_CODE = YES; 449 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 450 | COPY_PHASE_STRIP = NO; 451 | GCC_C_LANGUAGE_STANDARD = gnu99; 452 | GCC_DYNAMIC_NO_PIC = NO; 453 | GCC_OPTIMIZATION_LEVEL = 0; 454 | GCC_PREPROCESSOR_DEFINITIONS = ( 455 | "DEBUG=1", 456 | "$(inherited)", 457 | ); 458 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 459 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 460 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 461 | GCC_WARN_UNDECLARED_SELECTOR = YES; 462 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 463 | GCC_WARN_UNUSED_FUNCTION = YES; 464 | GCC_WARN_UNUSED_VARIABLE = YES; 465 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 466 | ONLY_ACTIVE_ARCH = YES; 467 | STRIP_INSTALLED_PRODUCT = NO; 468 | SYMROOT = "${SRCROOT}/../build"; 469 | }; 470 | name = Debug; 471 | }; 472 | C5A18280E9321A9268D1C80B7DA43967 /* Release */ = { 473 | isa = XCBuildConfiguration; 474 | buildSettings = { 475 | ALWAYS_SEARCH_USER_PATHS = NO; 476 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 477 | CLANG_CXX_LIBRARY = "libc++"; 478 | CLANG_ENABLE_MODULES = YES; 479 | CLANG_ENABLE_OBJC_ARC = YES; 480 | CLANG_WARN_BOOL_CONVERSION = YES; 481 | CLANG_WARN_CONSTANT_CONVERSION = YES; 482 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 483 | CLANG_WARN_EMPTY_BODY = YES; 484 | CLANG_WARN_ENUM_CONVERSION = YES; 485 | CLANG_WARN_INT_CONVERSION = YES; 486 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 487 | CLANG_WARN_UNREACHABLE_CODE = YES; 488 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 489 | COPY_PHASE_STRIP = YES; 490 | ENABLE_NS_ASSERTIONS = NO; 491 | GCC_C_LANGUAGE_STANDARD = gnu99; 492 | GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; 493 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 494 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 495 | GCC_WARN_UNDECLARED_SELECTOR = YES; 496 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 497 | GCC_WARN_UNUSED_FUNCTION = YES; 498 | GCC_WARN_UNUSED_VARIABLE = YES; 499 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 500 | STRIP_INSTALLED_PRODUCT = NO; 501 | SYMROOT = "${SRCROOT}/../build"; 502 | VALIDATE_PRODUCT = YES; 503 | }; 504 | name = Release; 505 | }; 506 | EAAF8E0D9D6F6A62EB852202B63C4A54 /* Release */ = { 507 | isa = XCBuildConfiguration; 508 | baseConfigurationReference = A53D220FC9F239DBD2BEA435B4DE6827 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */; 509 | buildSettings = { 510 | ENABLE_STRICT_OBJC_MSGSEND = YES; 511 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 512 | MACH_O_TYPE = staticlib; 513 | MTL_ENABLE_DEBUG_INFO = NO; 514 | OTHER_LDFLAGS = ""; 515 | OTHER_LIBTOOLFLAGS = ""; 516 | PODS_ROOT = "$(SRCROOT)"; 517 | PRODUCT_NAME = "$(TARGET_NAME)"; 518 | SDKROOT = iphoneos; 519 | SKIP_INSTALL = YES; 520 | }; 521 | name = Release; 522 | }; 523 | FF0B8B062E5EB94AF942986EF06291E0 /* Debug */ = { 524 | isa = XCBuildConfiguration; 525 | baseConfigurationReference = 579E6A65F68F0333154DC758C3166E8C /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */; 526 | buildSettings = { 527 | ENABLE_STRICT_OBJC_MSGSEND = YES; 528 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 529 | MACH_O_TYPE = staticlib; 530 | MTL_ENABLE_DEBUG_INFO = YES; 531 | OTHER_LDFLAGS = ""; 532 | OTHER_LIBTOOLFLAGS = ""; 533 | PODS_ROOT = "$(SRCROOT)"; 534 | PRODUCT_NAME = "$(TARGET_NAME)"; 535 | SDKROOT = iphoneos; 536 | SKIP_INSTALL = YES; 537 | }; 538 | name = Debug; 539 | }; 540 | /* End XCBuildConfiguration section */ 541 | 542 | /* Begin XCConfigurationList section */ 543 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 544 | isa = XCConfigurationList; 545 | buildConfigurations = ( 546 | 8D1534490D941DCA47C62AC4314182AF /* Debug */, 547 | C5A18280E9321A9268D1C80B7DA43967 /* Release */, 548 | ); 549 | defaultConfigurationIsVisible = 0; 550 | defaultConfigurationName = Release; 551 | }; 552 | 3DF8B45E74C82C0456EDEF65515FD0B2 /* Build configuration list for PBXNativeTarget "Pods-RamblerAppDelegateProxyExampleTests" */ = { 553 | isa = XCConfigurationList; 554 | buildConfigurations = ( 555 | 6A2E77776F8E9EDD54A2D67361656980 /* Debug */, 556 | 20EA6722C28D4F800FD02C905F449369 /* Release */, 557 | ); 558 | defaultConfigurationIsVisible = 0; 559 | defaultConfigurationName = Release; 560 | }; 561 | 40D368686F715AB8D556B433C8032202 /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxy" */ = { 562 | isa = XCConfigurationList; 563 | buildConfigurations = ( 564 | 4BFFDCEF2791D46A03630075709B3453 /* Debug */, 565 | 6E77A9C858E5719B049419D94597B608 /* Release */, 566 | ); 567 | defaultConfigurationIsVisible = 0; 568 | defaultConfigurationName = Release; 569 | }; 570 | AFE81A981115323815EDA0ACD69E7F65 /* Build configuration list for PBXNativeTarget "Pods-RamblerAppDelegateProxyExample" */ = { 571 | isa = XCConfigurationList; 572 | buildConfigurations = ( 573 | FF0B8B062E5EB94AF942986EF06291E0 /* Debug */, 574 | EAAF8E0D9D6F6A62EB852202B63C4A54 /* Release */, 575 | ); 576 | defaultConfigurationIsVisible = 0; 577 | defaultConfigurationName = Release; 578 | }; 579 | /* End XCConfigurationList section */ 580 | }; 581 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 582 | } 583 | -------------------------------------------------------------------------------- /Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/RamblerAppDelegateProxy.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## RamblerAppDelegateProxy 5 | 6 | The MIT License (MIT) 7 | 8 | Copyright (c) 2016 iOS Team @ Rambler&Co 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | Generated by CocoaPods - http://cocoapods.org 29 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | The MIT License (MIT) 18 | 19 | Copyright (c) 2016 iOS Team @ Rambler&Co 20 | 21 | Permission is hereby granted, free of charge, to any person obtaining a copy 22 | of this software and associated documentation files (the "Software"), to deal 23 | in the Software without restriction, including without limitation the rights 24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 25 | copies of the Software, and to permit persons to whom the Software is 26 | furnished to do so, subject to the following conditions: 27 | 28 | The above copyright notice and this permission notice shall be included in all 29 | copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 37 | SOFTWARE. 38 | 39 | Title 40 | RamblerAppDelegateProxy 41 | Type 42 | PSGroupSpecifier 43 | 44 | 45 | FooterText 46 | Generated by CocoaPods - http://cocoapods.org 47 | Title 48 | 49 | Type 50 | PSGroupSpecifier 51 | 52 | 53 | StringsTable 54 | Acknowledgements 55 | Title 56 | Acknowledgements 57 | 58 | 59 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_RamblerAppDelegateProxyExample : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_RamblerAppDelegateProxyExample 5 | @end 6 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | realpath() { 12 | DIRECTORY="$(cd "${1%/*}" && pwd)" 13 | FILENAME="${1##*/}" 14 | echo "$DIRECTORY/$FILENAME" 15 | } 16 | 17 | install_resource() 18 | { 19 | case $1 in 20 | *.storyboard) 21 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 22 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 23 | ;; 24 | *.xib) 25 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 26 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 27 | ;; 28 | *.framework) 29 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 30 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 31 | echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 32 | rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 33 | ;; 34 | *.xcdatamodel) 35 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" 36 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" 37 | ;; 38 | *.xcdatamodeld) 39 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" 40 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" 41 | ;; 42 | *.xcmappingmodel) 43 | echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" 44 | xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" 45 | ;; 46 | *.xcassets) 47 | ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") 48 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 49 | ;; 50 | /*) 51 | echo "$1" 52 | echo "$1" >> "$RESOURCES_TO_COPY" 53 | ;; 54 | *) 55 | echo "${PODS_ROOT}/$1" 56 | echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" 57 | ;; 58 | esac 59 | } 60 | 61 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 62 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 63 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 64 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 65 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 66 | fi 67 | rm -f "$RESOURCES_TO_COPY" 68 | 69 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 70 | then 71 | case "${TARGETED_DEVICE_FAMILY}" in 72 | 1,2) 73 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 74 | ;; 75 | 1) 76 | TARGET_DEVICE_ARGS="--target-device iphone" 77 | ;; 78 | 2) 79 | TARGET_DEVICE_ARGS="--target-device ipad" 80 | ;; 81 | *) 82 | TARGET_DEVICE_ARGS="--target-device mac" 83 | ;; 84 | esac 85 | 86 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 87 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 88 | while read line; do 89 | if [[ $line != "`realpath $PODS_ROOT`*" ]]; then 90 | XCASSET_FILES+=("$line") 91 | fi 92 | done <<<"$OTHER_XCASSETS" 93 | 94 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 95 | fi 96 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"RamblerAppDelegateProxy" -framework "Foundation" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"RamblerAppDelegateProxy" -framework "Foundation" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## RamblerAppDelegateProxy 5 | 6 | The MIT License (MIT) 7 | 8 | Copyright (c) 2016 iOS Team @ Rambler&Co 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | Generated by CocoaPods - http://cocoapods.org 29 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | The MIT License (MIT) 18 | 19 | Copyright (c) 2016 iOS Team @ Rambler&Co 20 | 21 | Permission is hereby granted, free of charge, to any person obtaining a copy 22 | of this software and associated documentation files (the "Software"), to deal 23 | in the Software without restriction, including without limitation the rights 24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 25 | copies of the Software, and to permit persons to whom the Software is 26 | furnished to do so, subject to the following conditions: 27 | 28 | The above copyright notice and this permission notice shall be included in all 29 | copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 37 | SOFTWARE. 38 | 39 | Title 40 | RamblerAppDelegateProxy 41 | Type 42 | PSGroupSpecifier 43 | 44 | 45 | FooterText 46 | Generated by CocoaPods - http://cocoapods.org 47 | Title 48 | 49 | Type 50 | PSGroupSpecifier 51 | 52 | 53 | StringsTable 54 | Acknowledgements 55 | Title 56 | Acknowledgements 57 | 58 | 59 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_RamblerAppDelegateProxyExampleTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_RamblerAppDelegateProxyExampleTests 5 | @end 6 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | realpath() { 12 | DIRECTORY="$(cd "${1%/*}" && pwd)" 13 | FILENAME="${1##*/}" 14 | echo "$DIRECTORY/$FILENAME" 15 | } 16 | 17 | install_resource() 18 | { 19 | case $1 in 20 | *.storyboard) 21 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 22 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 23 | ;; 24 | *.xib) 25 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" 26 | ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" 27 | ;; 28 | *.framework) 29 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 30 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 31 | echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 32 | rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 33 | ;; 34 | *.xcdatamodel) 35 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" 36 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" 37 | ;; 38 | *.xcdatamodeld) 39 | echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" 40 | xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" 41 | ;; 42 | *.xcmappingmodel) 43 | echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" 44 | xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" 45 | ;; 46 | *.xcassets) 47 | ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") 48 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 49 | ;; 50 | /*) 51 | echo "$1" 52 | echo "$1" >> "$RESOURCES_TO_COPY" 53 | ;; 54 | *) 55 | echo "${PODS_ROOT}/$1" 56 | echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" 57 | ;; 58 | esac 59 | } 60 | 61 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 62 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 63 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 64 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 65 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 66 | fi 67 | rm -f "$RESOURCES_TO_COPY" 68 | 69 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 70 | then 71 | case "${TARGETED_DEVICE_FAMILY}" in 72 | 1,2) 73 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 74 | ;; 75 | 1) 76 | TARGET_DEVICE_ARGS="--target-device iphone" 77 | ;; 78 | 2) 79 | TARGET_DEVICE_ARGS="--target-device ipad" 80 | ;; 81 | *) 82 | TARGET_DEVICE_ARGS="--target-device mac" 83 | ;; 84 | esac 85 | 86 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 87 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 88 | while read line; do 89 | if [[ $line != "`realpath $PODS_ROOT`*" ]]; then 90 | XCASSET_FILES+=("$line") 91 | fi 92 | done <<<"$OTHER_XCASSETS" 93 | 94 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 95 | fi 96 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"RamblerAppDelegateProxy" -framework "Foundation" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"RamblerAppDelegateProxy" -framework "Foundation" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/RamblerAppDelegateProxy/RamblerAppDelegateProxy-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RamblerAppDelegateProxy : NSObject 3 | @end 4 | @implementation PodsDummy_RamblerAppDelegateProxy 5 | @end 6 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/RamblerAppDelegateProxy/RamblerAppDelegateProxy-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Project/Pods/Target Support Files/RamblerAppDelegateProxy/RamblerAppDelegateProxy.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/RamblerAppDelegateProxy" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RamblerAppDelegateProxy" 3 | OTHER_LDFLAGS = -framework "Foundation" 4 | PODS_ROOT = ${SRCROOT} 5 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 5D7E7E7FD8336A3D4A524FD8 /* libPods-RamblerAppDelegateProxyExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA9AAFC2BEFD91E183B769EF /* libPods-RamblerAppDelegateProxyExampleTests.a */; }; 11 | 8C91151F2FE3843A6F89B207 /* libPods-RamblerAppDelegateProxyExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 319DB86576D2319435FCCCD1 /* libPods-RamblerAppDelegateProxyExample.a */; }; 12 | DD161F691CABE675005ADB9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F681CABE675005ADB9A /* main.m */; }; 13 | DD161F721CABE675005ADB9A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DD161F701CABE675005ADB9A /* Main.storyboard */; }; 14 | DD161F771CABE675005ADB9A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DD161F751CABE675005ADB9A /* LaunchScreen.storyboard */; }; 15 | DD161F7C1CABE793005ADB9A /* LogAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F3F1CABC35B005ADB9A /* LogAppDelegate.m */; }; 16 | DD161F7D1CABE79A005ADB9A /* RemoteNotificationAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F501CABC4B7005ADB9A /* RemoteNotificationAppDelegate.m */; }; 17 | DD161F831CABE84C005ADB9A /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F821CABE84C005ADB9A /* ViewController.m */; }; 18 | DD161F8D1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F8C1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.m */; }; 19 | DD161F941CABEB46005ADB9A /* MockAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD161F551CABC89D005ADB9A /* MockAppDelegate.m */; }; 20 | /* End PBXBuildFile section */ 21 | 22 | /* Begin PBXContainerItemProxy section */ 23 | DD161F8F1CABEAAC005ADB9A /* PBXContainerItemProxy */ = { 24 | isa = PBXContainerItemProxy; 25 | containerPortal = DDACE93D1C9DEE8B00CE5DAD /* Project object */; 26 | proxyType = 1; 27 | remoteGlobalIDString = DD161F641CABE675005ADB9A; 28 | remoteInfo = RamblerAppDelegateProxyExample; 29 | }; 30 | /* End PBXContainerItemProxy section */ 31 | 32 | /* Begin PBXFileReference section */ 33 | 0C9E3C75152D18F5D5713CE8 /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig"; sourceTree = ""; }; 34 | 2DFF4BE54AE0BBC1E991F7CB /* libPods-AppDelegateProxyExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AppDelegateProxyExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 35 | 315AB1108C2A3A0CBDE06817 /* Pods-AppDelegateProxyExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppDelegateProxyExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AppDelegateProxyExample/Pods-AppDelegateProxyExample.debug.xcconfig"; sourceTree = ""; }; 36 | 319DB86576D2319435FCCCD1 /* libPods-RamblerAppDelegateProxyExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RamblerAppDelegateProxyExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 37 | 3E64C3C13CBC90D830D4620C /* Pods-AppDelegateProxyExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppDelegateProxyExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AppDelegateProxyExampleTests/Pods-AppDelegateProxyExampleTests.debug.xcconfig"; sourceTree = ""; }; 38 | 521A48AD483053DAAEC674B4 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RamblerAppDelegateProxyExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample.release.xcconfig"; sourceTree = ""; }; 39 | 653B7D574F31B95705D7B5BD /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig"; sourceTree = ""; }; 40 | 7AA5CFBAEF9ED85B20BB7EDC /* Pods-AppDelegateProxyExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppDelegateProxyExampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AppDelegateProxyExampleTests/Pods-AppDelegateProxyExampleTests.release.xcconfig"; sourceTree = ""; }; 41 | CCC133FADCB2510544738D8F /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RamblerAppDelegateProxyExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample.debug.xcconfig"; sourceTree = ""; }; 42 | DD161F3E1CABC35B005ADB9A /* LogAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LogAppDelegate.h; path = RamblerAppDelegateProxyExample/LogAppDelegate.h; sourceTree = SOURCE_ROOT; }; 43 | DD161F3F1CABC35B005ADB9A /* LogAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LogAppDelegate.m; path = RamblerAppDelegateProxyExample/LogAppDelegate.m; sourceTree = SOURCE_ROOT; }; 44 | DD161F4F1CABC4B7005ADB9A /* RemoteNotificationAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RemoteNotificationAppDelegate.h; path = RamblerAppDelegateProxyExample/RemoteNotificationAppDelegate.h; sourceTree = SOURCE_ROOT; }; 45 | DD161F501CABC4B7005ADB9A /* RemoteNotificationAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RemoteNotificationAppDelegate.m; path = RamblerAppDelegateProxyExample/RemoteNotificationAppDelegate.m; sourceTree = SOURCE_ROOT; }; 46 | DD161F541CABC89D005ADB9A /* MockAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MockAppDelegate.h; path = RamblerAppDelegateProxyExampleTests/MockAppDelegate.h; sourceTree = SOURCE_ROOT; }; 47 | DD161F551CABC89D005ADB9A /* MockAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MockAppDelegate.m; path = RamblerAppDelegateProxyExampleTests/MockAppDelegate.m; sourceTree = SOURCE_ROOT; }; 48 | DD161F5F1CABE4F9005ADB9A /* libPods-RamblerAppDelegateProxyExampleTests.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RamblerAppDelegateProxyExampleTests.a"; path = "Pods/../build/Debug-iphoneos/libPods-RamblerAppDelegateProxyExampleTests.a"; sourceTree = ""; }; 49 | DD161F651CABE675005ADB9A /* RamblerAppDelegateProxyExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RamblerAppDelegateProxyExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 50 | DD161F681CABE675005ADB9A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 51 | DD161F711CABE675005ADB9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 52 | DD161F761CABE675005ADB9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 53 | DD161F781CABE675005ADB9A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 54 | DD161F811CABE84C005ADB9A /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ViewController.h; path = RamblerAppDelegateProxyExample/ViewController.h; sourceTree = SOURCE_ROOT; }; 55 | DD161F821CABE84C005ADB9A /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ViewController.m; path = RamblerAppDelegateProxyExample/ViewController.m; sourceTree = SOURCE_ROOT; }; 56 | DD161F8A1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RamblerAppDelegateProxyExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 57 | DD161F8C1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RamblerAppDelegateProxyExampleTests.m; sourceTree = ""; }; 58 | DD161F8E1CABEAAC005ADB9A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 59 | E1F4BA315C80E2B409D61DE9 /* Pods-AppDelegateProxyExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppDelegateProxyExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-AppDelegateProxyExample/Pods-AppDelegateProxyExample.release.xcconfig"; sourceTree = ""; }; 60 | E28249107E8AF8E059AA1839 /* libPods-AppDelegateProxyExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AppDelegateProxyExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 61 | EA9AAFC2BEFD91E183B769EF /* libPods-RamblerAppDelegateProxyExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RamblerAppDelegateProxyExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 62 | /* End PBXFileReference section */ 63 | 64 | /* Begin PBXFrameworksBuildPhase section */ 65 | DD161F621CABE675005ADB9A /* Frameworks */ = { 66 | isa = PBXFrameworksBuildPhase; 67 | buildActionMask = 2147483647; 68 | files = ( 69 | 8C91151F2FE3843A6F89B207 /* libPods-RamblerAppDelegateProxyExample.a in Frameworks */, 70 | ); 71 | runOnlyForDeploymentPostprocessing = 0; 72 | }; 73 | DD161F871CABEAAC005ADB9A /* Frameworks */ = { 74 | isa = PBXFrameworksBuildPhase; 75 | buildActionMask = 2147483647; 76 | files = ( 77 | 5D7E7E7FD8336A3D4A524FD8 /* libPods-RamblerAppDelegateProxyExampleTests.a in Frameworks */, 78 | ); 79 | runOnlyForDeploymentPostprocessing = 0; 80 | }; 81 | /* End PBXFrameworksBuildPhase section */ 82 | 83 | /* Begin PBXGroup section */ 84 | 0A6688E5DF9D4FEDEDAB13FE /* Frameworks */ = { 85 | isa = PBXGroup; 86 | children = ( 87 | DD161F5F1CABE4F9005ADB9A /* libPods-RamblerAppDelegateProxyExampleTests.a */, 88 | 2DFF4BE54AE0BBC1E991F7CB /* libPods-AppDelegateProxyExample.a */, 89 | E28249107E8AF8E059AA1839 /* libPods-AppDelegateProxyExampleTests.a */, 90 | 319DB86576D2319435FCCCD1 /* libPods-RamblerAppDelegateProxyExample.a */, 91 | EA9AAFC2BEFD91E183B769EF /* libPods-RamblerAppDelegateProxyExampleTests.a */, 92 | ); 93 | name = Frameworks; 94 | sourceTree = ""; 95 | }; 96 | AB14643CB008DD7F682B34D1 /* Pods */ = { 97 | isa = PBXGroup; 98 | children = ( 99 | 315AB1108C2A3A0CBDE06817 /* Pods-AppDelegateProxyExample.debug.xcconfig */, 100 | E1F4BA315C80E2B409D61DE9 /* Pods-AppDelegateProxyExample.release.xcconfig */, 101 | 3E64C3C13CBC90D830D4620C /* Pods-AppDelegateProxyExampleTests.debug.xcconfig */, 102 | 7AA5CFBAEF9ED85B20BB7EDC /* Pods-AppDelegateProxyExampleTests.release.xcconfig */, 103 | CCC133FADCB2510544738D8F /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */, 104 | 521A48AD483053DAAEC674B4 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */, 105 | 0C9E3C75152D18F5D5713CE8 /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */, 106 | 653B7D574F31B95705D7B5BD /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */, 107 | ); 108 | name = Pods; 109 | sourceTree = ""; 110 | }; 111 | DD161F4D1CABC3BA005ADB9A /* PresentationLayer */ = { 112 | isa = PBXGroup; 113 | children = ( 114 | DD161F811CABE84C005ADB9A /* ViewController.h */, 115 | DD161F821CABE84C005ADB9A /* ViewController.m */, 116 | ); 117 | name = PresentationLayer; 118 | path = ../AppDelegateProxyExample; 119 | sourceTree = ""; 120 | }; 121 | DD161F4E1CABC3C7005ADB9A /* AppDelegate */ = { 122 | isa = PBXGroup; 123 | children = ( 124 | DD161F3E1CABC35B005ADB9A /* LogAppDelegate.h */, 125 | DD161F3F1CABC35B005ADB9A /* LogAppDelegate.m */, 126 | DD161F4F1CABC4B7005ADB9A /* RemoteNotificationAppDelegate.h */, 127 | DD161F501CABC4B7005ADB9A /* RemoteNotificationAppDelegate.m */, 128 | ); 129 | name = AppDelegate; 130 | path = ../AppDelegateProxyExample; 131 | sourceTree = ""; 132 | }; 133 | DD161F661CABE675005ADB9A /* RamblerAppDelegateProxyExample */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | DD161F4E1CABC3C7005ADB9A /* AppDelegate */, 137 | DD161F4D1CABC3BA005ADB9A /* PresentationLayer */, 138 | DD161F701CABE675005ADB9A /* Main.storyboard */, 139 | DD161F751CABE675005ADB9A /* LaunchScreen.storyboard */, 140 | DD161F781CABE675005ADB9A /* Info.plist */, 141 | DD161F671CABE675005ADB9A /* Supporting Files */, 142 | ); 143 | path = RamblerAppDelegateProxyExample; 144 | sourceTree = ""; 145 | }; 146 | DD161F671CABE675005ADB9A /* Supporting Files */ = { 147 | isa = PBXGroup; 148 | children = ( 149 | DD161F681CABE675005ADB9A /* main.m */, 150 | ); 151 | name = "Supporting Files"; 152 | sourceTree = ""; 153 | }; 154 | DD161F8B1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests */ = { 155 | isa = PBXGroup; 156 | children = ( 157 | DD161F541CABC89D005ADB9A /* MockAppDelegate.h */, 158 | DD161F551CABC89D005ADB9A /* MockAppDelegate.m */, 159 | DD161F8C1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.m */, 160 | DD161F8E1CABEAAC005ADB9A /* Info.plist */, 161 | ); 162 | path = RamblerAppDelegateProxyExampleTests; 163 | sourceTree = ""; 164 | }; 165 | DDACE93C1C9DEE8B00CE5DAD = { 166 | isa = PBXGroup; 167 | children = ( 168 | DD161F661CABE675005ADB9A /* RamblerAppDelegateProxyExample */, 169 | DD161F8B1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests */, 170 | DDACE9461C9DEE8B00CE5DAD /* Products */, 171 | AB14643CB008DD7F682B34D1 /* Pods */, 172 | 0A6688E5DF9D4FEDEDAB13FE /* Frameworks */, 173 | ); 174 | sourceTree = ""; 175 | }; 176 | DDACE9461C9DEE8B00CE5DAD /* Products */ = { 177 | isa = PBXGroup; 178 | children = ( 179 | DD161F651CABE675005ADB9A /* RamblerAppDelegateProxyExample.app */, 180 | DD161F8A1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.xctest */, 181 | ); 182 | name = Products; 183 | sourceTree = ""; 184 | }; 185 | /* End PBXGroup section */ 186 | 187 | /* Begin PBXNativeTarget section */ 188 | DD161F641CABE675005ADB9A /* RamblerAppDelegateProxyExample */ = { 189 | isa = PBXNativeTarget; 190 | buildConfigurationList = DD161F791CABE675005ADB9A /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxyExample" */; 191 | buildPhases = ( 192 | 71C135D1DE760E785A9F8043 /* Check Pods Manifest.lock */, 193 | DD161F611CABE675005ADB9A /* Sources */, 194 | DD161F621CABE675005ADB9A /* Frameworks */, 195 | DD161F631CABE675005ADB9A /* Resources */, 196 | CD917106E44371BBFABF682B /* Embed Pods Frameworks */, 197 | 5A562D1721353D83163F44D0 /* Copy Pods Resources */, 198 | ); 199 | buildRules = ( 200 | ); 201 | dependencies = ( 202 | ); 203 | name = RamblerAppDelegateProxyExample; 204 | productName = RamblerAppDelegateProxyExample; 205 | productReference = DD161F651CABE675005ADB9A /* RamblerAppDelegateProxyExample.app */; 206 | productType = "com.apple.product-type.application"; 207 | }; 208 | DD161F891CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests */ = { 209 | isa = PBXNativeTarget; 210 | buildConfigurationList = DD161F911CABEAAD005ADB9A /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxyExampleTests" */; 211 | buildPhases = ( 212 | 42048CD38004D97F13E0BE58 /* Check Pods Manifest.lock */, 213 | DD161F861CABEAAC005ADB9A /* Sources */, 214 | DD161F871CABEAAC005ADB9A /* Frameworks */, 215 | DD161F881CABEAAC005ADB9A /* Resources */, 216 | 0282946275932E6DF1AD289E /* Embed Pods Frameworks */, 217 | A6102D2D75C9DFEEEFC1C3C2 /* Copy Pods Resources */, 218 | ); 219 | buildRules = ( 220 | ); 221 | dependencies = ( 222 | DD161F901CABEAAC005ADB9A /* PBXTargetDependency */, 223 | ); 224 | name = RamblerAppDelegateProxyExampleTests; 225 | productName = RamblerAppDelegateProxyExampleTests; 226 | productReference = DD161F8A1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.xctest */; 227 | productType = "com.apple.product-type.bundle.unit-test"; 228 | }; 229 | /* End PBXNativeTarget section */ 230 | 231 | /* Begin PBXProject section */ 232 | DDACE93D1C9DEE8B00CE5DAD /* Project object */ = { 233 | isa = PBXProject; 234 | attributes = { 235 | LastUpgradeCheck = 0720; 236 | ORGANIZATIONNAME = "Vadim Smal"; 237 | TargetAttributes = { 238 | DD161F641CABE675005ADB9A = { 239 | CreatedOnToolsVersion = 7.2.1; 240 | }; 241 | DD161F891CABEAAC005ADB9A = { 242 | CreatedOnToolsVersion = 7.2.1; 243 | TestTargetID = DD161F641CABE675005ADB9A; 244 | }; 245 | }; 246 | }; 247 | buildConfigurationList = DDACE9401C9DEE8B00CE5DAD /* Build configuration list for PBXProject "RamblerAppDelegateProxyExample" */; 248 | compatibilityVersion = "Xcode 3.2"; 249 | developmentRegion = English; 250 | hasScannedForEncodings = 0; 251 | knownRegions = ( 252 | en, 253 | Base, 254 | ); 255 | mainGroup = DDACE93C1C9DEE8B00CE5DAD; 256 | productRefGroup = DDACE9461C9DEE8B00CE5DAD /* Products */; 257 | projectDirPath = ""; 258 | projectRoot = ""; 259 | targets = ( 260 | DD161F641CABE675005ADB9A /* RamblerAppDelegateProxyExample */, 261 | DD161F891CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests */, 262 | ); 263 | }; 264 | /* End PBXProject section */ 265 | 266 | /* Begin PBXResourcesBuildPhase section */ 267 | DD161F631CABE675005ADB9A /* Resources */ = { 268 | isa = PBXResourcesBuildPhase; 269 | buildActionMask = 2147483647; 270 | files = ( 271 | DD161F771CABE675005ADB9A /* LaunchScreen.storyboard in Resources */, 272 | DD161F721CABE675005ADB9A /* Main.storyboard in Resources */, 273 | ); 274 | runOnlyForDeploymentPostprocessing = 0; 275 | }; 276 | DD161F881CABEAAC005ADB9A /* Resources */ = { 277 | isa = PBXResourcesBuildPhase; 278 | buildActionMask = 2147483647; 279 | files = ( 280 | ); 281 | runOnlyForDeploymentPostprocessing = 0; 282 | }; 283 | /* End PBXResourcesBuildPhase section */ 284 | 285 | /* Begin PBXShellScriptBuildPhase section */ 286 | 0282946275932E6DF1AD289E /* Embed Pods Frameworks */ = { 287 | isa = PBXShellScriptBuildPhase; 288 | buildActionMask = 2147483647; 289 | files = ( 290 | ); 291 | inputPaths = ( 292 | ); 293 | name = "Embed Pods Frameworks"; 294 | outputPaths = ( 295 | ); 296 | runOnlyForDeploymentPostprocessing = 0; 297 | shellPath = /bin/sh; 298 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-frameworks.sh\"\n"; 299 | showEnvVarsInLog = 0; 300 | }; 301 | 42048CD38004D97F13E0BE58 /* Check Pods Manifest.lock */ = { 302 | isa = PBXShellScriptBuildPhase; 303 | buildActionMask = 2147483647; 304 | files = ( 305 | ); 306 | inputPaths = ( 307 | ); 308 | name = "Check Pods Manifest.lock"; 309 | outputPaths = ( 310 | ); 311 | runOnlyForDeploymentPostprocessing = 0; 312 | shellPath = /bin/sh; 313 | 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"; 314 | showEnvVarsInLog = 0; 315 | }; 316 | 5A562D1721353D83163F44D0 /* Copy Pods Resources */ = { 317 | isa = PBXShellScriptBuildPhase; 318 | buildActionMask = 2147483647; 319 | files = ( 320 | ); 321 | inputPaths = ( 322 | ); 323 | name = "Copy Pods Resources"; 324 | outputPaths = ( 325 | ); 326 | runOnlyForDeploymentPostprocessing = 0; 327 | shellPath = /bin/sh; 328 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-resources.sh\"\n"; 329 | showEnvVarsInLog = 0; 330 | }; 331 | 71C135D1DE760E785A9F8043 /* Check Pods Manifest.lock */ = { 332 | isa = PBXShellScriptBuildPhase; 333 | buildActionMask = 2147483647; 334 | files = ( 335 | ); 336 | inputPaths = ( 337 | ); 338 | name = "Check Pods Manifest.lock"; 339 | outputPaths = ( 340 | ); 341 | runOnlyForDeploymentPostprocessing = 0; 342 | shellPath = /bin/sh; 343 | 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"; 344 | showEnvVarsInLog = 0; 345 | }; 346 | A6102D2D75C9DFEEEFC1C3C2 /* Copy Pods Resources */ = { 347 | isa = PBXShellScriptBuildPhase; 348 | buildActionMask = 2147483647; 349 | files = ( 350 | ); 351 | inputPaths = ( 352 | ); 353 | name = "Copy Pods Resources"; 354 | outputPaths = ( 355 | ); 356 | runOnlyForDeploymentPostprocessing = 0; 357 | shellPath = /bin/sh; 358 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExampleTests/Pods-RamblerAppDelegateProxyExampleTests-resources.sh\"\n"; 359 | showEnvVarsInLog = 0; 360 | }; 361 | CD917106E44371BBFABF682B /* Embed Pods Frameworks */ = { 362 | isa = PBXShellScriptBuildPhase; 363 | buildActionMask = 2147483647; 364 | files = ( 365 | ); 366 | inputPaths = ( 367 | ); 368 | name = "Embed Pods Frameworks"; 369 | outputPaths = ( 370 | ); 371 | runOnlyForDeploymentPostprocessing = 0; 372 | shellPath = /bin/sh; 373 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RamblerAppDelegateProxyExample/Pods-RamblerAppDelegateProxyExample-frameworks.sh\"\n"; 374 | showEnvVarsInLog = 0; 375 | }; 376 | /* End PBXShellScriptBuildPhase section */ 377 | 378 | /* Begin PBXSourcesBuildPhase section */ 379 | DD161F611CABE675005ADB9A /* Sources */ = { 380 | isa = PBXSourcesBuildPhase; 381 | buildActionMask = 2147483647; 382 | files = ( 383 | DD161F7C1CABE793005ADB9A /* LogAppDelegate.m in Sources */, 384 | DD161F7D1CABE79A005ADB9A /* RemoteNotificationAppDelegate.m in Sources */, 385 | DD161F831CABE84C005ADB9A /* ViewController.m in Sources */, 386 | DD161F691CABE675005ADB9A /* main.m in Sources */, 387 | ); 388 | runOnlyForDeploymentPostprocessing = 0; 389 | }; 390 | DD161F861CABEAAC005ADB9A /* Sources */ = { 391 | isa = PBXSourcesBuildPhase; 392 | buildActionMask = 2147483647; 393 | files = ( 394 | DD161F941CABEB46005ADB9A /* MockAppDelegate.m in Sources */, 395 | DD161F8D1CABEAAC005ADB9A /* RamblerAppDelegateProxyExampleTests.m in Sources */, 396 | ); 397 | runOnlyForDeploymentPostprocessing = 0; 398 | }; 399 | /* End PBXSourcesBuildPhase section */ 400 | 401 | /* Begin PBXTargetDependency section */ 402 | DD161F901CABEAAC005ADB9A /* PBXTargetDependency */ = { 403 | isa = PBXTargetDependency; 404 | target = DD161F641CABE675005ADB9A /* RamblerAppDelegateProxyExample */; 405 | targetProxy = DD161F8F1CABEAAC005ADB9A /* PBXContainerItemProxy */; 406 | }; 407 | /* End PBXTargetDependency section */ 408 | 409 | /* Begin PBXVariantGroup section */ 410 | DD161F701CABE675005ADB9A /* Main.storyboard */ = { 411 | isa = PBXVariantGroup; 412 | children = ( 413 | DD161F711CABE675005ADB9A /* Base */, 414 | ); 415 | name = Main.storyboard; 416 | sourceTree = ""; 417 | }; 418 | DD161F751CABE675005ADB9A /* LaunchScreen.storyboard */ = { 419 | isa = PBXVariantGroup; 420 | children = ( 421 | DD161F761CABE675005ADB9A /* Base */, 422 | ); 423 | name = LaunchScreen.storyboard; 424 | sourceTree = ""; 425 | }; 426 | /* End PBXVariantGroup section */ 427 | 428 | /* Begin XCBuildConfiguration section */ 429 | DD161F7A1CABE675005ADB9A /* Debug */ = { 430 | isa = XCBuildConfiguration; 431 | baseConfigurationReference = CCC133FADCB2510544738D8F /* Pods-RamblerAppDelegateProxyExample.debug.xcconfig */; 432 | buildSettings = { 433 | INFOPLIST_FILE = RamblerAppDelegateProxyExample/Info.plist; 434 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 435 | PRODUCT_BUNDLE_IDENTIFIER = cognitivedisson.RamblerAppDelegateProxyExample; 436 | PRODUCT_NAME = "$(TARGET_NAME)"; 437 | }; 438 | name = Debug; 439 | }; 440 | DD161F7B1CABE675005ADB9A /* Release */ = { 441 | isa = XCBuildConfiguration; 442 | baseConfigurationReference = 521A48AD483053DAAEC674B4 /* Pods-RamblerAppDelegateProxyExample.release.xcconfig */; 443 | buildSettings = { 444 | INFOPLIST_FILE = RamblerAppDelegateProxyExample/Info.plist; 445 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 446 | PRODUCT_BUNDLE_IDENTIFIER = cognitivedisson.RamblerAppDelegateProxyExample; 447 | PRODUCT_NAME = "$(TARGET_NAME)"; 448 | }; 449 | name = Release; 450 | }; 451 | DD161F921CABEAAD005ADB9A /* Debug */ = { 452 | isa = XCBuildConfiguration; 453 | baseConfigurationReference = 0C9E3C75152D18F5D5713CE8 /* Pods-RamblerAppDelegateProxyExampleTests.debug.xcconfig */; 454 | buildSettings = { 455 | BUNDLE_LOADER = "$(TEST_HOST)"; 456 | INFOPLIST_FILE = RamblerAppDelegateProxyExampleTests/Info.plist; 457 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 458 | PRODUCT_BUNDLE_IDENTIFIER = cognitivedisson.RamblerAppDelegateProxyExampleTests; 459 | PRODUCT_NAME = "$(TARGET_NAME)"; 460 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RamblerAppDelegateProxyExample.app/RamblerAppDelegateProxyExample"; 461 | }; 462 | name = Debug; 463 | }; 464 | DD161F931CABEAAD005ADB9A /* Release */ = { 465 | isa = XCBuildConfiguration; 466 | baseConfigurationReference = 653B7D574F31B95705D7B5BD /* Pods-RamblerAppDelegateProxyExampleTests.release.xcconfig */; 467 | buildSettings = { 468 | BUNDLE_LOADER = "$(TEST_HOST)"; 469 | INFOPLIST_FILE = RamblerAppDelegateProxyExampleTests/Info.plist; 470 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 471 | PRODUCT_BUNDLE_IDENTIFIER = cognitivedisson.RamblerAppDelegateProxyExampleTests; 472 | PRODUCT_NAME = "$(TARGET_NAME)"; 473 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RamblerAppDelegateProxyExample.app/RamblerAppDelegateProxyExample"; 474 | }; 475 | name = Release; 476 | }; 477 | DDACE9651C9DEE8C00CE5DAD /* Debug */ = { 478 | isa = XCBuildConfiguration; 479 | buildSettings = { 480 | ALWAYS_SEARCH_USER_PATHS = NO; 481 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 482 | CLANG_CXX_LIBRARY = "libc++"; 483 | CLANG_ENABLE_MODULES = YES; 484 | CLANG_ENABLE_OBJC_ARC = YES; 485 | CLANG_WARN_BOOL_CONVERSION = YES; 486 | CLANG_WARN_CONSTANT_CONVERSION = YES; 487 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 488 | CLANG_WARN_EMPTY_BODY = YES; 489 | CLANG_WARN_ENUM_CONVERSION = YES; 490 | CLANG_WARN_INT_CONVERSION = YES; 491 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 492 | CLANG_WARN_UNREACHABLE_CODE = YES; 493 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 494 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 495 | COPY_PHASE_STRIP = NO; 496 | DEBUG_INFORMATION_FORMAT = dwarf; 497 | ENABLE_STRICT_OBJC_MSGSEND = YES; 498 | ENABLE_TESTABILITY = YES; 499 | GCC_C_LANGUAGE_STANDARD = gnu99; 500 | GCC_DYNAMIC_NO_PIC = NO; 501 | GCC_NO_COMMON_BLOCKS = YES; 502 | GCC_OPTIMIZATION_LEVEL = 0; 503 | GCC_PREPROCESSOR_DEFINITIONS = ( 504 | "DEBUG=1", 505 | "$(inherited)", 506 | ); 507 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 508 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 509 | GCC_WARN_UNDECLARED_SELECTOR = YES; 510 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 511 | GCC_WARN_UNUSED_FUNCTION = YES; 512 | GCC_WARN_UNUSED_VARIABLE = YES; 513 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 514 | MTL_ENABLE_DEBUG_INFO = YES; 515 | ONLY_ACTIVE_ARCH = YES; 516 | SDKROOT = iphoneos; 517 | TARGETED_DEVICE_FAMILY = "1,2"; 518 | }; 519 | name = Debug; 520 | }; 521 | DDACE9661C9DEE8C00CE5DAD /* Release */ = { 522 | isa = XCBuildConfiguration; 523 | buildSettings = { 524 | ALWAYS_SEARCH_USER_PATHS = NO; 525 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 526 | CLANG_CXX_LIBRARY = "libc++"; 527 | CLANG_ENABLE_MODULES = YES; 528 | CLANG_ENABLE_OBJC_ARC = YES; 529 | CLANG_WARN_BOOL_CONVERSION = YES; 530 | CLANG_WARN_CONSTANT_CONVERSION = YES; 531 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 532 | CLANG_WARN_EMPTY_BODY = YES; 533 | CLANG_WARN_ENUM_CONVERSION = YES; 534 | CLANG_WARN_INT_CONVERSION = YES; 535 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 536 | CLANG_WARN_UNREACHABLE_CODE = YES; 537 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 538 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 539 | COPY_PHASE_STRIP = NO; 540 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 541 | ENABLE_NS_ASSERTIONS = NO; 542 | ENABLE_STRICT_OBJC_MSGSEND = YES; 543 | GCC_C_LANGUAGE_STANDARD = gnu99; 544 | GCC_NO_COMMON_BLOCKS = YES; 545 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 546 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 547 | GCC_WARN_UNDECLARED_SELECTOR = YES; 548 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 549 | GCC_WARN_UNUSED_FUNCTION = YES; 550 | GCC_WARN_UNUSED_VARIABLE = YES; 551 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 552 | MTL_ENABLE_DEBUG_INFO = NO; 553 | SDKROOT = iphoneos; 554 | TARGETED_DEVICE_FAMILY = "1,2"; 555 | VALIDATE_PRODUCT = YES; 556 | }; 557 | name = Release; 558 | }; 559 | /* End XCBuildConfiguration section */ 560 | 561 | /* Begin XCConfigurationList section */ 562 | DD161F791CABE675005ADB9A /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxyExample" */ = { 563 | isa = XCConfigurationList; 564 | buildConfigurations = ( 565 | DD161F7A1CABE675005ADB9A /* Debug */, 566 | DD161F7B1CABE675005ADB9A /* Release */, 567 | ); 568 | defaultConfigurationIsVisible = 0; 569 | defaultConfigurationName = Release; 570 | }; 571 | DD161F911CABEAAD005ADB9A /* Build configuration list for PBXNativeTarget "RamblerAppDelegateProxyExampleTests" */ = { 572 | isa = XCConfigurationList; 573 | buildConfigurations = ( 574 | DD161F921CABEAAD005ADB9A /* Debug */, 575 | DD161F931CABEAAD005ADB9A /* Release */, 576 | ); 577 | defaultConfigurationIsVisible = 0; 578 | defaultConfigurationName = Release; 579 | }; 580 | DDACE9401C9DEE8B00CE5DAD /* Build configuration list for PBXProject "RamblerAppDelegateProxyExample" */ = { 581 | isa = XCConfigurationList; 582 | buildConfigurations = ( 583 | DDACE9651C9DEE8C00CE5DAD /* Debug */, 584 | DDACE9661C9DEE8C00CE5DAD /* Release */, 585 | ); 586 | defaultConfigurationIsVisible = 0; 587 | defaultConfigurationName = Release; 588 | }; 589 | /* End XCConfigurationList section */ 590 | }; 591 | rootObject = DDACE93D1C9DEE8B00CE5DAD /* Project object */; 592 | } 593 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample.xcodeproj/xcshareddata/xcschemes/RamblerAppDelegateProxyExample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 64 | 66 | 72 | 73 | 74 | 75 | 76 | 77 | 83 | 85 | 91 | 92 | 93 | 94 | 96 | 97 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/LogAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogAppDelegate.h 3 | // AppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LogAppDelegate : NSObject 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/LogAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LogAppDelegate.m 3 | // AppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "LogAppDelegate.h" 10 | 11 | @implementation LogAppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions { 14 | NSLog(@"%@ %s", NSStringFromClass([self class]), __PRETTY_FUNCTION__); 15 | return YES; 16 | } 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | NSLog(@"%@ %s", NSStringFromClass([self class]), __PRETTY_FUNCTION__); 20 | return YES; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/RemoteNotificationAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // RemoteNotificationAppDelegate.h 3 | // RamblerAppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RemoteNotificationAppDelegate : NSObject 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/RemoteNotificationAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // RemoteNotificationAppDelegate.m 3 | // RamblerAppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "RemoteNotificationAppDelegate.h" 10 | 11 | @implementation RemoteNotificationAppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 14 | NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 15 | if (notification) { 16 | NSLog(@"Launching from push %@", notification); 17 | } 18 | return YES; 19 | } 20 | 21 | - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 22 | NSLog(@"Did register for remote notifications"); 23 | } 24 | 25 | - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 26 | NSLog(@"Did receive remote notification");} 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // RamblerAppDelegateProxyExample 4 | // 5 | // Created by Smal Vadim on 30/03/16. 6 | // Copyright © 2016 Vadim Smal. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // RamblerAppDelegateProxyExample 4 | // 5 | // Created by Smal Vadim on 30/03/16. 6 | // Copyright © 2016 Vadim Smal. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // RamblerAppDelegateProxyExample 4 | // 5 | // Created by Smal Vadim on 30/03/16. 6 | // Copyright © 2016 Vadim Smal. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "LogAppDelegate.h" 12 | #import "RemoteNotificationAppDelegate.h" 13 | 14 | int main(int argc, char * argv[]) { 15 | @autoreleasepool { 16 | 17 | /** 18 | @author Vadim Smal 19 | 20 | Dependency injection 21 | */ 22 | [[RamblerAppDelegateProxy injector] addAppDelegates:@[[LogAppDelegate new], [RemoteNotificationAppDelegate new]]]; 23 | 24 | 25 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([RamblerAppDelegateProxy class])); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExampleTests/MockAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // MockAppDelegate.h 3 | // AppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MockAppDelegate : UIResponder 12 | 13 | @property (assign, nonatomic) BOOL didFinishLaunchingWithOptions; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExampleTests/MockAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // MockAppDelegate.m 3 | // AppDelegateProxyExample 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import "MockAppDelegate.h" 10 | 11 | @implementation MockAppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 14 | self.didFinishLaunchingWithOptions = YES; 15 | return YES; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Project/RamblerAppDelegateProxyExampleTests/RamblerAppDelegateProxyExampleTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // RamblerAppDelegateProxyExampleTests.m 3 | // RamblerAppDelegateProxyExampleTests 4 | // 5 | // RamblerAppDelegateProxy 6 | // Copyright (c) 2015 Rambler DS. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "MockAppDelegate.h" 12 | 13 | @interface RamblerAppDelegateProxyExampleTests : XCTestCase 14 | 15 | @property (strong, nonatomic) RamblerAppDelegateProxy *proxy; 16 | 17 | @end 18 | 19 | @implementation RamblerAppDelegateProxyExampleTests 20 | 21 | - (void)setUp { 22 | [super setUp]; 23 | } 24 | 25 | - (void)tearDown { 26 | [super tearDown]; 27 | } 28 | 29 | - (void)testForwardAfterInjection { 30 | //given 31 | NSArray *appDelegates = @[[MockAppDelegate new], [MockAppDelegate new]]; 32 | [[RamblerAppDelegateProxy injector] addAppDelegates:appDelegates]; 33 | MockAppDelegate *singleAppDelegate = [MockAppDelegate new]; 34 | [[RamblerAppDelegateProxy injector] addAppDelegate:singleAppDelegate]; 35 | 36 | //when 37 | RamblerAppDelegateProxy *proxy = [[RamblerAppDelegateProxy alloc] init]; 38 | [proxy application:nil didFinishLaunchingWithOptions:nil]; 39 | 40 | //then 41 | XCTAssertTrue([[appDelegates firstObject] didFinishLaunchingWithOptions]); 42 | XCTAssertTrue([[appDelegates lastObject] didFinishLaunchingWithOptions]); 43 | XCTAssertTrue([singleAppDelegate didFinishLaunchingWithOptions]); 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Overview 2 | 3 | **RamblerAppDelegateProxy** is your best cure against massive `AppDelegate` class. It provides a nice and clean way to divide all of the `AppDelegate` responsibilities between multiple helper classes. 4 | 5 | ![Picture](http://www.androidphone.su/wp-content/uploads/2015/09/aaazaaa.png) 6 | 7 | Just imagine, that instead of 2k lines of code monster you have multiple simple classes: 8 | 9 | - `StartAppDelegate` - configures application on start up, 10 | - `AnalyticsAppDelegate` - configures analytics services, 11 | - `RemoteNotificationAppDelegate` - handles push-notifications, 12 | - `SpotlightAppDelegate` - handles start from spotlight results, 13 | - `HandoffAppDelegate` - handles start from handoff, 14 | - `DeepLinkAppDelegate` - incapsulates deep linking logic, 15 | - and anything else. 16 | 17 | ### Key features 18 | 19 | - Provides all the infrastructure - you should only create your own mini-`AppDelegate` classes with single responsibilities. 20 | - Has simple dependency injection system for injecting your mini-instances, 21 | - Battle-tested into a lot of *Rambler&Co* projects. 22 | 23 | ### Installation 24 | 25 | `pod RamblerAppDelegateProxy` 26 | 27 | ### Usage 28 | Create a `RemoteNotificationAppDelegate` class which conforms to `UIApplicationDelegate` protocol. 29 | 30 | ```objc 31 | @interface RemoteNotificationAppDelegate : NSObject 32 | 33 | @end 34 | ... 35 | @implementation RemoteNotificationAppDelegate 36 | 37 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 38 | NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 39 | if (notification) { 40 | NSLog(@"Launching from push %@", notification); 41 | } 42 | return YES; 43 | } 44 | 45 | - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 46 | NSLog(@"Did register for remote notifications"); 47 | } 48 | 49 | - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 50 | NSLog(@"Did receive remote notification");} 51 | } 52 | 53 | @end 54 | ``` 55 | 56 | Change the `main.m` file implementation: 57 | 58 | ```objc 59 | int main(int argc, char * argv[]) { 60 | @autoreleasepool { 61 | [[RamblerAppDelegateProxy injector] addAppDelegates:@[[RemoteNotificationAppDelegate new]]]; 62 | 63 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([RamblerAppDelegateProxy class])); 64 | } 65 | } 66 | ``` 67 | 68 | Use your `RemoteNotificationAppDelegate` in the same way as the standart `AppDelegate` class - just remember to not mess its responsibilities. 69 | 70 | ### Troubleshooting 71 | 72 | Based on the concept, the proxy forwards only the methods defined in the protocol UIApplicationDelegate. If you need a additional method that must be implemented in AppDelegate, you need to create a subclass and implement this method in this class. 73 | ```objc 74 | @interface AppDelegate : UIResponder 75 | 76 | @property (strong, nonatomic) UIWindow *window; 77 | 78 | @end 79 | ``` 80 | This subclass should be set as a default. 81 | ```objc 82 | [[RamblerAppDelegateProxy injector] setDefaultAppDelegate:[AppDelegate new]]; 83 | ``` 84 | This is necessary for example if you are using Typhoon. For injection depending in AppDelegates need to write a definition for RamblerAppDelegateProxy. 85 | ```objc 86 | @implementation ApplicationAssembly 87 | 88 | - (RamblerAppDelegateProxy *)applicationDelegateProxy { 89 | return [TyphoonDefinition withClass:[RamblerAppDelegateProxy class] 90 | configuration:^(TyphoonDefinition *definition) { 91 | [definition injectMethod:@selector(addAppDelegates:) 92 | parameters:^(TyphoonMethod *method) { 93 | NSArray *appDelegates = @[ 94 | [self remoteNotificationAppDelegate] 95 | ]; 96 | [method injectParameterWith:appDelegates]; 97 | }]; 98 | }]; 99 | } 100 | 101 | - (id)remoteNotificationAppDelegate { 102 | return [TyphoonDefinition withClass:[RCMLaunchingAppDelegate class] 103 | configuration:^(TyphoonDefinition *definition) { 104 | }]; 105 | } 106 | 107 | @end 108 | ``` 109 | 110 | ### Authors 111 | 112 | [Vadim Smal](https://github.com/CognitiveDisson) 113 | 114 | ### License 115 | 116 | MIT 117 | -------------------------------------------------------------------------------- /RamblerAppDelegateProxy.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "RamblerAppDelegateProxy" 3 | s.version = "0.0.5" 4 | s.summary = "Proxy for UIApplicationDelegate protocol" 5 | s.homepage = "https://github.com/strongself/RamblerAppDelegateProxy" 6 | s.license = { :type => 'MIT', :file => 'LICENSE' } 7 | s.author = { "Vadim Smal" => "vadim.smal92@gmail.com" } 8 | s.platform = :ios, '7.0' 9 | s.source = { :git => "https://github.com/strongself/RamblerAppDelegateProxy.git", :tag => s.version.to_s } 10 | s.source_files = 'Classes/*.{h,m}' 11 | s.public_header_files = 'Classes/*.h' 12 | s.framework = 'Foundation' 13 | s.requires_arc = true 14 | end --------------------------------------------------------------------------------