├── .coveralls.yml ├── Gemfile ├── Raw └── colorMap.psd ├── Assets └── colorMap.png ├── Screenshots └── screenshot1.png ├── ColorMapView.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── ColorMapView.xccheckout ├── ColorMapViewSimulatorTests ├── ReferenceImages │ └── ColorMapViewSpec │ │ ├── ColorMapView_Appearance@2x.png │ │ └── ColorMapView_Appearance@3x.png ├── ColorMapViewSimulatorSpec.m └── Info.plist ├── ColorMapView.xcodeproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── ColorMapView.xccheckout ├── xcshareddata │ └── xcschemes │ │ ├── Podspec Lint.xcscheme │ │ ├── ColorMapExample.xcscheme │ │ ├── ColorMapViewTests.xcscheme │ │ ├── ColorMapViewSimulatorTests.xcscheme │ │ └── ColorMapView.xcscheme └── project.pbxproj ├── ColorMapExample ├── ViewController.h ├── AppDelegate.h ├── main.m ├── ViewController.m ├── Images.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── LaunchImage.launchimage │ │ └── Contents.json ├── Info.plist ├── AppDelegate.m └── Base.lproj │ └── Main.storyboard ├── ColorMapView ├── UIImage+ColorMapView.h ├── Info.plist ├── ColorMapView.h ├── UIImage+ColorMapView.m └── ColorMapView.m ├── .gitignore ├── Podfile ├── .travis.yml ├── Podfile.lock ├── ColorMapViewTests ├── Info.plist └── ColorMapViewSpec.m ├── ColorMapView.podspec ├── LICENSE.md ├── Gemfile.lock ├── README.md └── Tools └── coveralls.rb /.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-ci 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'cocoapods' -------------------------------------------------------------------------------- /Raw/colorMap.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adorkable/ColorMapView/master/Raw/colorMap.psd -------------------------------------------------------------------------------- /Assets/colorMap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adorkable/ColorMapView/master/Assets/colorMap.png -------------------------------------------------------------------------------- /Screenshots/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adorkable/ColorMapView/master/Screenshots/screenshot1.png -------------------------------------------------------------------------------- /ColorMapView.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ColorMapViewSimulatorTests/ReferenceImages/ColorMapViewSpec/ColorMapView_Appearance@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adorkable/ColorMapView/master/ColorMapViewSimulatorTests/ReferenceImages/ColorMapViewSpec/ColorMapView_Appearance@2x.png -------------------------------------------------------------------------------- /ColorMapViewSimulatorTests/ReferenceImages/ColorMapViewSpec/ColorMapView_Appearance@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adorkable/ColorMapView/master/ColorMapViewSimulatorTests/ReferenceImages/ColorMapViewSpec/ColorMapView_Appearance@3x.png -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ColorMapExample/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ColorMapExample 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ColorMapExample/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ColorMapExample 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /ColorMapExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ColorMapExample 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ColorMapView/UIImage+ColorMapView.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+ColorMapView.h 3 | // ColorMapView 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (ColorMapView) 12 | 13 | - (UIColor *)colorAtLocation:(CGPoint)location; 14 | + (UIColor *)colorAtLocationInImage:(UIImage*)image atLocation:(CGPoint)location; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | .ruby-version 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # Cocoapods 25 | # 26 | Pods/ 27 | 28 | # Carthage 29 | # 30 | Carthage/Checkouts 31 | Carthage/Build 32 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, "8.0" 2 | 3 | target :ColorMapViewTests do 4 | pod 'Specta', '~> 1.0' 5 | pod 'Expecta', '~> 1.0' 6 | pod 'Expecta+Snapshots', '~> 2.0' 7 | pod 'FBSnapshotTestCase/Core', '~> 2.0' 8 | 9 | # link_with 'ColorMapViewSimulatorTests' 10 | end 11 | 12 | target :ColorMapViewSimulatorTests do 13 | pod 'Specta', '~> 1.0' 14 | pod 'Expecta', '~> 1.0' 15 | pod 'Expecta+Snapshots', '~> 2.0' 16 | pod 'FBSnapshotTestCase/Core', '~> 2.0' 17 | end 18 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | xcode_workspace: ColorMapView.xcworkspace 3 | xcode_scheme: ColorMapExample 4 | xcode_sdk: iphonesimulator 5 | xcode_scheme: 6 | - ColorMapView 7 | - ColorMapExample 8 | - "Podspec Lint" 9 | 10 | before_install: 11 | - rm Podfile.lock 12 | - sudo easy_install cpp-coveralls 13 | - mkdir -p /Users/travis/Library/Application\ Support/iPhone\ Simulator/7.1/Library/Caches/RFCachingDirecory 14 | - export LC_ALL="en_US.UTF-8" 15 | - sudo pip install PyYAML 16 | - pod install 17 | 18 | after_success: 19 | - ./Tools/coveralls.rb --extension m --extension mm -v -------------------------------------------------------------------------------- /ColorMapExample/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // ColorMapExample 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. 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 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Expecta (1.0.5) 3 | - Expecta+Snapshots (2.0.0): 4 | - Expecta (~> 1.0) 5 | - FBSnapshotTestCase/Core (~> 2.0.3) 6 | - FBSnapshotTestCase/Core (2.0.7) 7 | - Specta (1.0.5) 8 | 9 | DEPENDENCIES: 10 | - Expecta (~> 1.0) 11 | - Expecta+Snapshots (~> 2.0) 12 | - FBSnapshotTestCase/Core (~> 2.0) 13 | - Specta (~> 1.0) 14 | 15 | SPEC CHECKSUMS: 16 | Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe 17 | Expecta+Snapshots: 29b38dd695bc72a0ed2bea833937d78df41943ba 18 | FBSnapshotTestCase: 7e85180d0d141a0cf472352edda7e80d7eaeb547 19 | Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 20 | 21 | COCOAPODS: 0.39.0 22 | -------------------------------------------------------------------------------- /ColorMapViewSimulatorTests/ColorMapViewSimulatorSpec.m: -------------------------------------------------------------------------------- 1 | //#define SPT_SUBCLASS FBSnapshotTestCase 2 | 3 | #include 4 | 5 | #define EXP_SHORTHAND 6 | #include 7 | #include 8 | 9 | #include "ColorMapView.h" 10 | 11 | SpecBegin(ColorMapView) 12 | 13 | describe(@"ColorMapView", ^{ 14 | 15 | __block ColorMapView *colorMapView; 16 | 17 | beforeEach( ^{ 18 | colorMapView = [ [ColorMapView alloc] initWithFrame:CGRectMake(0, 0, 300, 300) ]; 19 | }); 20 | 21 | it(@"Appearance", ^{ 22 | //expect(colorMapView).to.recordSnapshot(); 23 | expect(colorMapView).to.haveValidSnapshot(); 24 | }); 25 | }); 26 | 27 | SpecEnd 28 | -------------------------------------------------------------------------------- /ColorMapViewTests/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 | -------------------------------------------------------------------------------- /ColorMapViewSimulatorTests/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 | -------------------------------------------------------------------------------- /ColorMapView.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | 3 | s.name = "ColorMapView" 4 | s.version = "1.0.1" 5 | s.summary = "simple iOS View mapped to a color gradient." 6 | 7 | s.description = <<-DESC 8 | **ColorMapView** is a simple iOS View mapped to a color gradient. Great for color picker type dealies. 9 | DESC 10 | 11 | s.homepage = "https://github.com/Adorkable/ColorMapView" 12 | s.screenshots = "https://github.com/Adorkable/ColorMapView/blob/master/Screenshots/screenshot1.png?raw=true" 13 | s.license = "MIT" 14 | s.author = { "Ian G" => "yo.ian.g@gmail.com" } 15 | s.social_media_url = "http://twitter.com/yoiang" 16 | s.platform = :ios, "7.0" 17 | s.source = { :git => "https://github.com/Adorkable/ColorMapView.git", :tag => "1.0.1" } 18 | s.source_files = "ColorMapView/**/*.{h,m}" 19 | s.requires_arc = true 20 | end 21 | -------------------------------------------------------------------------------- /ColorMapView/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 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ColorMapView/ColorMapView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ColorMapView.h 3 | // ColorMapView 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for ColorMapView. 12 | FOUNDATION_EXPORT double ColorMapViewVersionNumber; 13 | 14 | //! Project version string for ColorMapView. 15 | FOUNDATION_EXPORT const unsigned char ColorMapViewVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | #if !defined(IB_DESIGNABLE) 20 | #define IB_DESIGNABLE 21 | #endif 22 | 23 | #if !defined(IBInspectable) 24 | #define IBInspectable 25 | #endif 26 | 27 | IB_DESIGNABLE 28 | 29 | @interface ColorMapView : UIImageView 30 | 31 | - (UIColor *)getColorAtLocation:(CGPoint)location; 32 | - (UIColor *)getColorAtLocation:(CGPoint)location inView:(UIView *)inView; 33 | 34 | // primarily for testing purposes 35 | + (NSBundle *)bundle; 36 | + (NSString *)colorMapImagePath; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /ColorMapExample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Ian Grossberg. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | 24 | 25 | -------------------------------------------------------------------------------- /ColorMapExample/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } -------------------------------------------------------------------------------- /ColorMapExample/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 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (4.2.5) 5 | i18n (~> 0.7) 6 | json (~> 1.7, >= 1.7.7) 7 | minitest (~> 5.1) 8 | thread_safe (~> 0.3, >= 0.3.4) 9 | tzinfo (~> 1.1) 10 | claide (0.9.1) 11 | cocoapods (0.39.0) 12 | activesupport (>= 4.0.2) 13 | claide (~> 0.9.1) 14 | cocoapods-core (= 0.39.0) 15 | cocoapods-downloader (~> 0.9.3) 16 | cocoapods-plugins (~> 0.4.2) 17 | cocoapods-search (~> 0.1.0) 18 | cocoapods-stats (~> 0.6.2) 19 | cocoapods-trunk (~> 0.6.4) 20 | cocoapods-try (~> 0.5.1) 21 | colored (~> 1.2) 22 | escape (~> 0.0.4) 23 | molinillo (~> 0.4.0) 24 | nap (~> 1.0) 25 | xcodeproj (~> 0.28.2) 26 | cocoapods-core (0.39.0) 27 | activesupport (>= 4.0.2) 28 | fuzzy_match (~> 2.0.4) 29 | nap (~> 1.0) 30 | cocoapods-downloader (0.9.3) 31 | cocoapods-plugins (0.4.2) 32 | nap 33 | cocoapods-search (0.1.0) 34 | cocoapods-stats (0.6.2) 35 | cocoapods-trunk (0.6.4) 36 | nap (>= 0.8, < 2.0) 37 | netrc (= 0.7.8) 38 | cocoapods-try (0.5.1) 39 | colored (1.2) 40 | escape (0.0.4) 41 | fuzzy_match (2.0.4) 42 | i18n (0.7.0) 43 | json (1.8.3) 44 | minitest (5.8.3) 45 | molinillo (0.4.1) 46 | nap (1.0.0) 47 | netrc (0.7.8) 48 | thread_safe (0.3.5) 49 | tzinfo (1.2.2) 50 | thread_safe (~> 0.1) 51 | xcodeproj (0.28.2) 52 | activesupport (>= 3) 53 | claide (~> 0.9.1) 54 | colored (~> 1.2) 55 | 56 | PLATFORMS 57 | ruby 58 | 59 | DEPENDENCIES 60 | cocoapods 61 | 62 | BUNDLED WITH 63 | 1.11.0 64 | -------------------------------------------------------------------------------- /ColorMapView.xcworkspace/xcshareddata/ColorMapView.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | A589092A-BCAE-403F-994D-F9E3FE647C66 9 | IDESourceControlProjectName 10 | ColorMapView 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 14 | bitbucket.org:yoiang/colormapview.git 15 | 16 | IDESourceControlProjectPath 17 | ColorMapView.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 21 | .. 22 | 23 | IDESourceControlProjectURL 24 | bitbucket.org:yoiang/colormapview.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 36 | IDESourceControlWCCName 37 | ColorMapView 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/project.xcworkspace/xcshareddata/ColorMapView.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 1A9AFBD8-4E32-4FF6-B98B-1B6FB598DE26 9 | IDESourceControlProjectName 10 | ColorMapView 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 14 | bitbucket.org:yoiang/colormapview.git 15 | 16 | IDESourceControlProjectPath 17 | ColorMapView.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | bitbucket.org:yoiang/colormapview.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 70AC0D26F83C67BFB1122AE995E7C03C248B305F 36 | IDESourceControlWCCName 37 | ColorMapView 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ColorMapView 2 | === 3 | 4 | [![Travis Build Status](http://img.shields.io/travis/Adorkable/ColorMapView.svg?style=flat)](https://travis-ci.org/Adorkable/ColorMapView) 5 | [![Coverage Status](https://coveralls.io/repos/Adorkable/ColorMapView/badge.svg?style=flat&branch=master)](https://coveralls.io/r/Adorkable/ColorMapView?branch=master) 6 | [![Pod Platform](http://img.shields.io/cocoapods/p/ColorMapView.svg?style=flat)](http://cocoadocs.org/docsets/ColorMapView/) 7 | [![Pod License](http://img.shields.io/cocoapods/l/ColorMapView.svg?style=flat)](http://cocoadocs.org/docsets/ColorMapView/) 8 | [![Pod Version](http://img.shields.io/cocoapods/v/ColorMapView.svg?style=flat)](http://cocoadocs.org/docsets/ColorMapView/) 9 | 10 | **ColorMapView** is a simple iOS View mapped to a color gradient. Great for color picker type dealies. 11 | 12 | ![screenshot1](https://github.com/Adorkable/ColorMapView/blob/master/Screenshots/screenshot1.png?raw=true) 13 | 14 | Installation 15 | --- 16 | **ColorMapView** is available through **[cocoapods](http://cocoapods.org)**, to install simple add the following line to your `PodFile`: 17 | 18 | ``` ruby 19 | pod "ColorMapView" 20 | ``` 21 | 22 | Alternatively you can clone the **[github repo](https://github.com/Adorkable/ColorMapView)**. 23 | 24 | Setup 25 | --- 26 | Once you've installed the class: 27 | 28 | * Include the ColorMapView header 29 | 30 | ``` objective-c 31 | #import 32 | ``` 33 | 34 | * From there you can either create your ColorMapView instance in Interface Builder or in code by using: 35 | 36 | 37 | ``` objective-c 38 | ColorMapView *colorMapView = [ [ColorMapView alloc] initWithFrame:(CGRect)frame]; 39 | ``` 40 | 41 | * The view provides an easy way to get the color at a location within the view. 42 | ``` objective-c 43 | [colorMapView getColorAtLocation:CGPointMake(50, 200) ]; 44 | ``` 45 | -------------------------------------------------------------------------------- /ColorMapExample/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // ColorMapExample 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | - (void)applicationWillResignActive:(UIApplication *)application { 24 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 25 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 26 | } 27 | 28 | - (void)applicationDidEnterBackground:(UIApplication *)application { 29 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 31 | } 32 | 33 | - (void)applicationWillEnterForeground:(UIApplication *)application { 34 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 35 | } 36 | 37 | - (void)applicationDidBecomeActive:(UIApplication *)application { 38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 39 | } 40 | 41 | - (void)applicationWillTerminate:(UIApplication *)application { 42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /ColorMapView/UIImage+ColorMapView.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+ColorMapView.m 3 | // ColorMapView 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import "UIImage+ColorMapView.h" 10 | 11 | @implementation UIImage (ColorMapView) 12 | 13 | - (UIColor *)colorAtLocation:(CGPoint)location 14 | { 15 | return [UIImage colorAtLocationInImage:self atLocation:location]; 16 | } 17 | 18 | + (UIColor *)colorAtLocationInImage:(UIImage*)image atLocation:(CGPoint)location 19 | { 20 | // http://stackoverflow.com/a/1262893 21 | 22 | // First get the image into your data buffer 23 | CGImageRef imageRef = [image CGImage]; 24 | NSUInteger width = CGImageGetWidth(imageRef); 25 | NSUInteger height = CGImageGetHeight(imageRef); 26 | if (location.x < 0 || location.y < 0 || 27 | location.x > width || location.y > height) 28 | { 29 | return nil; 30 | } 31 | 32 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 33 | unsigned char *rawData = (unsigned char*) calloc(height * width * 4, sizeof(unsigned char)); 34 | NSUInteger bytesPerPixel = 4; 35 | NSUInteger bytesPerRow = bytesPerPixel * width; 36 | NSUInteger bitsPerComponent = 8; 37 | CGContextRef context = CGBitmapContextCreate(rawData, width, height, 38 | bitsPerComponent, bytesPerRow, colorSpace, 39 | kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); 40 | CGColorSpaceRelease(colorSpace); 41 | 42 | CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); 43 | CGContextRelease(context); 44 | 45 | // Now your rawData contains the image data in the RGBA8888 pixel format. 46 | NSUInteger byteIndex = (bytesPerRow * (NSUInteger)location.y) + (NSUInteger)location.x * bytesPerPixel; 47 | 48 | CGFloat red = (rawData[byteIndex] * 1.0) / 255.0; 49 | CGFloat green = (rawData[byteIndex + 1] * 1.0) / 255.0; 50 | CGFloat blue = (rawData[byteIndex + 2] * 1.0) / 255.0; 51 | CGFloat alpha = (rawData[byteIndex + 3] * 1.0) / 255.0; 52 | free(rawData); 53 | 54 | return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /ColorMapViewTests/ColorMapViewSpec.m: -------------------------------------------------------------------------------- 1 | //#define SPT_SUBCLASS FBSnapshotTestCase 2 | 3 | #include 4 | 5 | #define EXP_SHORTHAND 6 | #include 7 | #include 8 | 9 | #include "ColorMapView.h" 10 | #include "UIImage+ColorMapView.h" 11 | 12 | SpecBegin(ColorMapView) 13 | 14 | describe(@"ColorMapView", ^{ 15 | 16 | __block ColorMapView *colorMapView; 17 | 18 | beforeEach( ^{ 19 | colorMapView = [ [ColorMapView alloc] initWithFrame:CGRectMake(0, 0, 300, 300) ]; 20 | }); 21 | 22 | describe(@"initWithFrame", ^{ 23 | expect(colorMapView).toNot.beNil(); 24 | }); 25 | 26 | describe(@"initWithCoder", ^{ 27 | ColorMapView *colorMapView = [ [ColorMapView alloc] initWithCoder:nil]; // TODO: mock coder object? 28 | 29 | expect(colorMapView).notTo.beNil(); 30 | }); 31 | 32 | uint32_t(^approximateColorHash)(UIColor *color) = ^uint32_t(UIColor *color) 33 | { 34 | // http://nshipster.com/equality/ 35 | CGFloat red, green, blue, alpha; 36 | [color getRed:&red green:&green blue:&blue alpha:&alpha]; 37 | 38 | return ( (uint32_t)(red * 255) << 24) + ( (uint32_t)(green * 255) << 16) + ( (uint32_t)(blue * 255) << 8) + ( (uint32_t)(alpha * 255) ); 39 | }; 40 | 41 | void(^expectToEqual)(CGPoint locationInImage, CGPoint locationInView) = ^void(CGPoint locationInImage, CGPoint locationInView) 42 | { 43 | UIImage *colorMapImage = [UIImage imageWithContentsOfFile:[ColorMapView colorMapImagePath] ]; 44 | 45 | UIColor *colorInImage = [colorMapImage colorAtLocation:locationInImage]; 46 | UIColor *colorInMapView = [colorMapView getColorAtLocation:locationInView]; 47 | 48 | // expect(colorInImage).to.equal(colorInMapView); 49 | expect( approximateColorHash(colorInImage) ).to.equal( approximateColorHash(colorInMapView) ); 50 | }; 51 | 52 | describe(@"getColorAtLocation:", ^{ 53 | it(@"Top Left", ^{ 54 | expectToEqual( CGPointMake(0, 0), CGPointMake(0, 0) ); 55 | }); 56 | 57 | it(@"Bottom Right", ^{ 58 | UIImage *colorMapImage = [UIImage imageWithContentsOfFile:[ColorMapView colorMapImagePath] ]; 59 | 60 | expectToEqual( 61 | CGPointMake(colorMapImage.size.width - 1, colorMapImage.size.height - 1), 62 | CGPointMake(colorMapView.frame.size.width - 1, colorMapView.frame.size.height - 1) 63 | ); 64 | }); 65 | 66 | it(@"Invalid", ^{ 67 | UIColor *colorInMapView = [colorMapView getColorAtLocation:CGPointMake(-1, 100) ]; 68 | expect(colorInMapView).to.beNil(); 69 | }); 70 | }); 71 | 72 | // TODO: getColorAtLocation:inView: 73 | }); 74 | 75 | SpecEnd 76 | -------------------------------------------------------------------------------- /ColorMapExample/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 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /ColorMapView/ColorMapView.m: -------------------------------------------------------------------------------- 1 | // 2 | // ColorMapView.m 3 | // ColorMapView 4 | // 5 | // Created by Ian on 9/5/14. 6 | // Copyright (c) 2014 Adorkable. All rights reserved. 7 | // 8 | 9 | #import "ColorMapView.h" 10 | 11 | #import "UIImage+ColorMapView.h" 12 | 13 | static UIImage *mapImageStatic = nil; 14 | 15 | @interface ColorMapView () 16 | 17 | @property (readonly) UIImage *mapImage; 18 | 19 | @end 20 | 21 | @implementation ColorMapView 22 | 23 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 24 | { 25 | BOOL result = false; 26 | 27 | self = [super initWithCoder:aDecoder]; 28 | if (self) 29 | { 30 | result = [self sharedInit]; 31 | } 32 | 33 | if (result) 34 | { 35 | return self; 36 | } else 37 | { 38 | return nil; 39 | } 40 | } 41 | 42 | - (instancetype)initWithFrame:(CGRect)frame 43 | { 44 | BOOL result = false; 45 | 46 | self = [super initWithFrame:frame]; 47 | if (self) 48 | { 49 | result = [self sharedInit]; 50 | } 51 | 52 | if (result) 53 | { 54 | return self; 55 | } else 56 | { 57 | return nil; 58 | } 59 | } 60 | 61 | - (BOOL)sharedInit 62 | { 63 | self.contentMode = UIViewContentModeScaleToFill; 64 | [self setImage:self.mapImage]; 65 | 66 | return self.image != nil; 67 | } 68 | 69 | #if TARGET_INTERFACE_BUILDER 70 | - (void)prepareForInterfaceBuilder 71 | { 72 | [self sharedInit]; 73 | } 74 | #endif 75 | 76 | - (UIColor *)getColorAtLocation:(CGPoint)location 77 | { 78 | return [self getColorAtLocation:location inView:self]; 79 | } 80 | 81 | - (UIColor *)getColorAtLocation:(CGPoint)location inView:(UIView *)inView 82 | { 83 | UIColor *result; 84 | 85 | CGPoint normalizedLocation = CGPointMake(location.x / inView.frame.size.width, 86 | location.y / inView.frame.size.height); 87 | CGPoint locationInImage = CGPointMake( 88 | roundf(normalizedLocation.x * self.image.size.width), 89 | roundf(normalizedLocation.y * self.image.size.height) 90 | ); 91 | 92 | result = [self.image colorAtLocation:locationInImage]; 93 | 94 | return result; 95 | } 96 | 97 | + (NSBundle *)bundle 98 | { 99 | return [NSBundle bundleWithIdentifier:@"cc.adorkable.ColorMapView"]; 100 | } 101 | 102 | + (NSString *)colorMapImagePath 103 | { 104 | NSBundle *colorMapViewBundle = [self bundle]; 105 | return [colorMapViewBundle pathForResource:@"colorMap" ofType:@".png"]; 106 | } 107 | 108 | + (UIImage *)mapImageStatic 109 | { 110 | if (mapImageStatic == nil) 111 | { 112 | mapImageStatic = [UIImage imageWithContentsOfFile:[self colorMapImagePath] ]; 113 | } 114 | 115 | return mapImageStatic; 116 | } 117 | 118 | - (UIImage *)mapImage 119 | { 120 | return [ColorMapView mapImageStatic]; 121 | } 122 | 123 | @end 124 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/xcshareddata/xcschemes/Podspec Lint.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/xcshareddata/xcschemes/ColorMapExample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 55 | 57 | 63 | 64 | 65 | 66 | 67 | 68 | 74 | 76 | 82 | 83 | 84 | 85 | 87 | 88 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/xcshareddata/xcschemes/ColorMapViewTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 34 | 40 | 41 | 42 | 43 | 44 | 50 | 51 | 52 | 53 | 54 | 55 | 65 | 66 | 72 | 73 | 74 | 75 | 76 | 77 | 83 | 84 | 90 | 91 | 92 | 93 | 95 | 96 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/xcshareddata/xcschemes/ColorMapViewSimulatorTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 34 | 40 | 41 | 42 | 43 | 44 | 50 | 51 | 52 | 53 | 54 | 55 | 65 | 66 | 72 | 73 | 74 | 75 | 76 | 77 | 83 | 84 | 90 | 91 | 92 | 93 | 95 | 96 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /Tools/coveralls.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'etc' 4 | require 'fileutils' 5 | require 'find' 6 | require 'optparse' 7 | 8 | # arraw of source subfolders to exclude 9 | excludedFolders = [] 10 | extensionsToProcess = [] 11 | coveralls_cmd = "cpp-coveralls" 12 | 13 | excludeHeaders = false 14 | 15 | # create option parser 16 | opts = OptionParser.new 17 | opts.banner = "Usage: coveralls.rb [options]" 18 | 19 | opts.on('-e', '--exclude-folder FOLDER', 'Folder to exclude') do |v| 20 | excludedFolders << v 21 | coveralls_cmd.concat(" -e #{v}") 22 | end 23 | 24 | 25 | opts.on('-h', '--exclude-headers', 'Ignores headers') do |v| 26 | excludeHeaders = true 27 | end 28 | 29 | opts.on('-x', '--extension EXT', 'Source file extension to process') do |v| 30 | extensionsToProcess << v 31 | coveralls_cmd.concat(" -x #{v}") 32 | end 33 | 34 | opts.on_tail('-v', '--verbose', 'print verbose messages') do 35 | coveralls_cmd.concat(" --verbose") 36 | end 37 | 38 | opts.on_tail("-?", "--help", "Show this message") do 39 | puts opts 40 | exit 41 | end 42 | 43 | # parse the options 44 | begin 45 | opts.parse!(ARGV) 46 | rescue OptionParser::InvalidOption => e 47 | puts e 48 | puts opts 49 | exit(1) 50 | end 51 | 52 | # the folders 53 | workingDir = Dir.getwd 54 | derivedDataDir = "#{Etc.getpwuid.dir}/Library/Developer/Xcode/DerivedData/" 55 | outputDir = workingDir + "/gcov" 56 | 57 | # create gcov output folder 58 | FileUtils.mkdir outputDir 59 | 60 | # pattern to get source file from first line of gcov file 61 | GCOV_SOURCE_PATTERN = Regexp.new(/Source:(.*)/) 62 | 63 | # enumerate all gcda files underneath derivedData 64 | Find.find(derivedDataDir) do |gcda_file| 65 | if gcda_file.match(/\.gcda\Z/) 66 | 67 | #get just the folder name 68 | gcov_dir = File.dirname(gcda_file) 69 | 70 | # cut off absolute working dir to get relative source path 71 | relative_input_path = gcda_file.slice(derivedDataDir.length, gcda_file.length) 72 | puts "\nINPUT: #{relative_input_path}" 73 | 74 | #process the file 75 | result = %x( gcov '#{gcda_file}' -o '#{gcov_dir}' ) 76 | 77 | # filter the resulting output 78 | Dir.glob("*.gcov") do |gcov_file| 79 | 80 | firstLine = File.open(gcov_file).readline 81 | match = GCOV_SOURCE_PATTERN.match(firstLine) 82 | 83 | if (match) 84 | 85 | source_path = match[1] 86 | 87 | puts "source: #{source_path} - #{workingDir}" 88 | 89 | if (source_path.start_with? workingDir) 90 | 91 | # cut off absolute working dir to get relative source path 92 | relative_path = source_path.slice(workingDir.length+1, source_path.length) 93 | 94 | extension = File.extname(relative_path) 95 | extension = extension.slice(1, extension.length-1) 96 | 97 | # get the path components 98 | path_comps = relative_path.split(File::SEPARATOR) 99 | 100 | shouldProcess = false 101 | exclusionMsg ="" 102 | 103 | excludeByFolder = false 104 | excludedFolders.each do |excludedFolder| 105 | if (relative_path.include?(excludedFolder)) 106 | excludeByFolder = true 107 | end 108 | end 109 | 110 | 111 | if (excludeByFolder) 112 | exclusionMsg = "excluded via option" 113 | else 114 | if (excludeHeaders == true && extension == 'h') 115 | exclusionMsg = "excluded header" 116 | else 117 | if (extensionsToProcess.count == 0 || extensionsToProcess.include?(extension)) 118 | shouldProcess = true 119 | else 120 | exclusionMsg = "excluded extension" 121 | shouldProcess = false 122 | end 123 | end 124 | end 125 | 126 | if (shouldProcess) 127 | puts " - process: #{relative_path}" 128 | FileUtils.mv(gcov_file, outputDir) 129 | else 130 | puts " - ignore: #{relative_path} (#{exclusionMsg})" 131 | FileUtils.rm gcov_file 132 | end 133 | else 134 | puts " - ignore: #{gcov_file} (outside source folder)" 135 | FileUtils.rm gcov_file 136 | end 137 | end 138 | end 139 | end 140 | end 141 | 142 | # call the coveralls, exclude some files 143 | puts "Calling: #{coveralls_cmd}" 144 | system coveralls_cmd 145 | 146 | #clean up 147 | FileUtils.rm_rf outputDir -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/xcshareddata/xcschemes/ColorMapView.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 34 | 40 | 41 | 42 | 44 | 50 | 51 | 52 | 53 | 54 | 60 | 61 | 62 | 63 | 64 | 65 | 75 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 93 | 94 | 100 | 101 | 102 | 103 | 105 | 106 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /ColorMapView.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXAggregateTarget section */ 10 | 3CCEC96E1A04716A00841F53 /* Podspec Lint */ = { 11 | isa = PBXAggregateTarget; 12 | buildConfigurationList = 3CCEC96F1A04716A00841F53 /* Build configuration list for PBXAggregateTarget "Podspec Lint" */; 13 | buildPhases = ( 14 | 3CCEC9721A04717300841F53 /* ShellScript */, 15 | ); 16 | dependencies = ( 17 | ); 18 | name = "Podspec Lint"; 19 | productName = "Podspec Lint"; 20 | }; 21 | /* End PBXAggregateTarget section */ 22 | 23 | /* Begin PBXBuildFile section */ 24 | 1258A3A0EB0D3FEEAA29C17A /* libPods-ColorMapViewSimulatorTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72BCFA5177699F576114514A /* libPods-ColorMapViewSimulatorTests.a */; }; 25 | 3C4B71ED1C1F97590011B23A /* LICENSE.md in Resources */ = {isa = PBXBuildFile; fileRef = 3CCEC9661A04704100841F53 /* LICENSE.md */; }; 26 | 3C4B71EE1C1F97640011B23A /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 3CCEC9671A04704100841F53 /* README.md */; }; 27 | 3C83029819B9FD450078558B /* ColorMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C83029719B9FD450078558B /* ColorMapView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 28 | 3C8302AC19B9FD5F0078558B /* ColorMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302AB19B9FD5F0078558B /* ColorMapView.m */; }; 29 | 3C8302AF19B9FDFB0078558B /* colorMap.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C8302AE19B9FDFB0078558B /* colorMap.png */; }; 30 | 3C8302B219B9FE710078558B /* UIImage+ColorMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C8302B019B9FE710078558B /* UIImage+ColorMapView.h */; }; 31 | 3C8302B319B9FE710078558B /* UIImage+ColorMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302B119B9FE710078558B /* UIImage+ColorMapView.m */; }; 32 | 3C8302BD19B9FEEB0078558B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302BC19B9FEEB0078558B /* main.m */; }; 33 | 3C8302C019B9FEEB0078558B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302BF19B9FEEB0078558B /* AppDelegate.m */; }; 34 | 3C8302C319B9FEEB0078558B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302C219B9FEEB0078558B /* ViewController.m */; }; 35 | 3C8302C619B9FEEB0078558B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C8302C419B9FEEB0078558B /* Main.storyboard */; }; 36 | 3C8302C819B9FEEB0078558B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3C8302C719B9FEEB0078558B /* Images.xcassets */; }; 37 | 3C8302DD19BA025A0078558B /* ColorMapView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C83029219B9FD450078558B /* ColorMapView.framework */; }; 38 | 3C8302DF19BA03AC0078558B /* ColorMapViewSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C8302DE19BA03AC0078558B /* ColorMapViewSpec.m */; }; 39 | 3C9FB0B81AD96BDC0071FCCF /* ColorMapView.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 3C83029219B9FD450078558B /* ColorMapView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 40 | 3CF88F241A03536D00369E79 /* ColorMapView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C83029219B9FD450078558B /* ColorMapView.framework */; }; 41 | 3CF88F301A0379E000369E79 /* ColorMapView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C83029219B9FD450078558B /* ColorMapView.framework */; }; 42 | 3CF88F391A037B5F00369E79 /* ColorMapViewSimulatorSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF88F381A037B5F00369E79 /* ColorMapViewSimulatorSpec.m */; }; 43 | A56132E9F95F15CE54E8D7FF /* (null) in Frameworks */ = {isa = PBXBuildFile; }; 44 | D400996E70593C806E448890 /* libPods-ColorMapViewTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B2B075E800562E33D834A30E /* libPods-ColorMapViewTests.a */; }; 45 | E639EF2326471AF0518923B7 /* libPods-ColorMapViewTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B2B075E800562E33D834A30E /* libPods-ColorMapViewTests.a */; }; 46 | /* End PBXBuildFile section */ 47 | 48 | /* Begin PBXContainerItemProxy section */ 49 | 3C8302DB19BA02560078558B /* PBXContainerItemProxy */ = { 50 | isa = PBXContainerItemProxy; 51 | containerPortal = 3C83028919B9FD450078558B /* Project object */; 52 | proxyType = 1; 53 | remoteGlobalIDString = 3C83029119B9FD450078558B; 54 | remoteInfo = ColorMapView; 55 | }; 56 | 3CF88F221A034EF300369E79 /* PBXContainerItemProxy */ = { 57 | isa = PBXContainerItemProxy; 58 | containerPortal = 3C83028919B9FD450078558B /* Project object */; 59 | proxyType = 1; 60 | remoteGlobalIDString = 3C83029119B9FD450078558B; 61 | remoteInfo = ColorMapView; 62 | }; 63 | 3CF88F311A0379E000369E79 /* PBXContainerItemProxy */ = { 64 | isa = PBXContainerItemProxy; 65 | containerPortal = 3C83028919B9FD450078558B /* Project object */; 66 | proxyType = 1; 67 | remoteGlobalIDString = 3C83029119B9FD450078558B; 68 | remoteInfo = ColorMapView; 69 | }; 70 | /* End PBXContainerItemProxy section */ 71 | 72 | /* Begin PBXCopyFilesBuildPhase section */ 73 | 3C9FB0B71AD96BD30071FCCF /* CopyFiles */ = { 74 | isa = PBXCopyFilesBuildPhase; 75 | buildActionMask = 2147483647; 76 | dstPath = ""; 77 | dstSubfolderSpec = 10; 78 | files = ( 79 | 3C9FB0B81AD96BDC0071FCCF /* ColorMapView.framework in CopyFiles */, 80 | ); 81 | runOnlyForDeploymentPostprocessing = 0; 82 | }; 83 | /* End PBXCopyFilesBuildPhase section */ 84 | 85 | /* Begin PBXFileReference section */ 86 | 1D9B085103D8948ED47F4263 /* Pods-ColorMapViewTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ColorMapViewTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ColorMapViewTests/Pods-ColorMapViewTests.release.xcconfig"; sourceTree = ""; }; 87 | 3C83029219B9FD450078558B /* ColorMapView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ColorMapView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 88 | 3C83029619B9FD450078558B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 89 | 3C83029719B9FD450078558B /* ColorMapView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ColorMapView.h; sourceTree = ""; }; 90 | 3C83029D19B9FD450078558B /* ColorMapViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ColorMapViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 91 | 3C8302A019B9FD450078558B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 92 | 3C8302AB19B9FD5F0078558B /* ColorMapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorMapView.m; sourceTree = ""; }; 93 | 3C8302AE19B9FDFB0078558B /* colorMap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = colorMap.png; sourceTree = ""; }; 94 | 3C8302B019B9FE710078558B /* UIImage+ColorMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ColorMapView.h"; sourceTree = ""; }; 95 | 3C8302B119B9FE710078558B /* UIImage+ColorMapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ColorMapView.m"; sourceTree = ""; }; 96 | 3C8302B819B9FEEB0078558B /* ColorMapExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ColorMapExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97 | 3C8302BB19B9FEEB0078558B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 98 | 3C8302BC19B9FEEB0078558B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 99 | 3C8302BE19B9FEEB0078558B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 100 | 3C8302BF19B9FEEB0078558B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 101 | 3C8302C119B9FEEB0078558B /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 102 | 3C8302C219B9FEEB0078558B /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 103 | 3C8302C519B9FEEB0078558B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 104 | 3C8302C719B9FEEB0078558B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 105 | 3C8302DE19BA03AC0078558B /* ColorMapViewSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorMapViewSpec.m; sourceTree = ""; }; 106 | 3CCEC9651A04704100841F53 /* ColorMapView.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = ColorMapView.podspec; sourceTree = ""; }; 107 | 3CCEC9661A04704100841F53 /* LICENSE.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = LICENSE.md; sourceTree = ""; }; 108 | 3CCEC9671A04704100841F53 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 109 | 3CE900651AD8698000E0EE12 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = ""; }; 110 | 3CF88F2A1A0379E000369E79 /* ColorMapViewSimulatorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ColorMapViewSimulatorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 111 | 3CF88F2D1A0379E000369E79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 112 | 3CF88F381A037B5F00369E79 /* ColorMapViewSimulatorSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorMapViewSimulatorSpec.m; sourceTree = ""; }; 113 | 5B20C1D40D127CF017FA2F06 /* Pods-ColorMapViewSimulatorTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ColorMapViewSimulatorTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ColorMapViewSimulatorTests/Pods-ColorMapViewSimulatorTests.debug.xcconfig"; sourceTree = ""; }; 114 | 5F273D85F107422540330531 /* Pods-ColorMapViewTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ColorMapViewTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ColorMapViewTests/Pods-ColorMapViewTests.debug.xcconfig"; sourceTree = ""; }; 115 | 72BCFA5177699F576114514A /* libPods-ColorMapViewSimulatorTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ColorMapViewSimulatorTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 116 | A50F183CE9B9D7881C42D56E /* Pods-ColorMapViewSimulatorTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ColorMapViewSimulatorTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ColorMapViewSimulatorTests/Pods-ColorMapViewSimulatorTests.release.xcconfig"; sourceTree = ""; }; 117 | B2B075E800562E33D834A30E /* libPods-ColorMapViewTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ColorMapViewTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 118 | /* End PBXFileReference section */ 119 | 120 | /* Begin PBXFrameworksBuildPhase section */ 121 | 3C83028E19B9FD450078558B /* Frameworks */ = { 122 | isa = PBXFrameworksBuildPhase; 123 | buildActionMask = 2147483647; 124 | files = ( 125 | ); 126 | runOnlyForDeploymentPostprocessing = 0; 127 | }; 128 | 3C83029A19B9FD450078558B /* Frameworks */ = { 129 | isa = PBXFrameworksBuildPhase; 130 | buildActionMask = 2147483647; 131 | files = ( 132 | 3CF88F241A03536D00369E79 /* ColorMapView.framework in Frameworks */, 133 | A56132E9F95F15CE54E8D7FF /* (null) in Frameworks */, 134 | D400996E70593C806E448890 /* libPods-ColorMapViewTests.a in Frameworks */, 135 | ); 136 | runOnlyForDeploymentPostprocessing = 0; 137 | }; 138 | 3C8302B519B9FEEB0078558B /* Frameworks */ = { 139 | isa = PBXFrameworksBuildPhase; 140 | buildActionMask = 2147483647; 141 | files = ( 142 | 3C8302DD19BA025A0078558B /* ColorMapView.framework in Frameworks */, 143 | ); 144 | runOnlyForDeploymentPostprocessing = 0; 145 | }; 146 | 3CF88F271A0379E000369E79 /* Frameworks */ = { 147 | isa = PBXFrameworksBuildPhase; 148 | buildActionMask = 2147483647; 149 | files = ( 150 | 3CF88F301A0379E000369E79 /* ColorMapView.framework in Frameworks */, 151 | E639EF2326471AF0518923B7 /* libPods-ColorMapViewTests.a in Frameworks */, 152 | 1258A3A0EB0D3FEEAA29C17A /* libPods-ColorMapViewSimulatorTests.a in Frameworks */, 153 | ); 154 | runOnlyForDeploymentPostprocessing = 0; 155 | }; 156 | /* End PBXFrameworksBuildPhase section */ 157 | 158 | /* Begin PBXGroup section */ 159 | 11B262CAB258A49993C5B705 /* Pods */ = { 160 | isa = PBXGroup; 161 | children = ( 162 | 5F273D85F107422540330531 /* Pods-ColorMapViewTests.debug.xcconfig */, 163 | 1D9B085103D8948ED47F4263 /* Pods-ColorMapViewTests.release.xcconfig */, 164 | 5B20C1D40D127CF017FA2F06 /* Pods-ColorMapViewSimulatorTests.debug.xcconfig */, 165 | A50F183CE9B9D7881C42D56E /* Pods-ColorMapViewSimulatorTests.release.xcconfig */, 166 | ); 167 | name = Pods; 168 | sourceTree = ""; 169 | }; 170 | 3C83028819B9FD450078558B = { 171 | isa = PBXGroup; 172 | children = ( 173 | 3CE900651AD8698000E0EE12 /* .travis.yml */, 174 | 3CCEC9651A04704100841F53 /* ColorMapView.podspec */, 175 | 3CCEC9661A04704100841F53 /* LICENSE.md */, 176 | 3CCEC9671A04704100841F53 /* README.md */, 177 | 3C8302AD19B9FDFB0078558B /* Assets */, 178 | 3C83029419B9FD450078558B /* ColorMapView */, 179 | 3C83029E19B9FD450078558B /* ColorMapViewTests */, 180 | 3CF88F2B1A0379E000369E79 /* ColorMapViewSimulatorTests */, 181 | 3C8302B919B9FEEB0078558B /* ColorMapExample */, 182 | 3C83029319B9FD450078558B /* Products */, 183 | D8A797A72B6F41BC99BEDABB /* Frameworks */, 184 | 11B262CAB258A49993C5B705 /* Pods */, 185 | ); 186 | sourceTree = ""; 187 | }; 188 | 3C83029319B9FD450078558B /* Products */ = { 189 | isa = PBXGroup; 190 | children = ( 191 | 3C83029219B9FD450078558B /* ColorMapView.framework */, 192 | 3C83029D19B9FD450078558B /* ColorMapViewTests.xctest */, 193 | 3C8302B819B9FEEB0078558B /* ColorMapExample.app */, 194 | 3CF88F2A1A0379E000369E79 /* ColorMapViewSimulatorTests.xctest */, 195 | ); 196 | name = Products; 197 | sourceTree = ""; 198 | }; 199 | 3C83029419B9FD450078558B /* ColorMapView */ = { 200 | isa = PBXGroup; 201 | children = ( 202 | 3C83029719B9FD450078558B /* ColorMapView.h */, 203 | 3C8302AB19B9FD5F0078558B /* ColorMapView.m */, 204 | 3C8302B019B9FE710078558B /* UIImage+ColorMapView.h */, 205 | 3C8302B119B9FE710078558B /* UIImage+ColorMapView.m */, 206 | 3C83029519B9FD450078558B /* Supporting Files */, 207 | ); 208 | path = ColorMapView; 209 | sourceTree = ""; 210 | }; 211 | 3C83029519B9FD450078558B /* Supporting Files */ = { 212 | isa = PBXGroup; 213 | children = ( 214 | 3C83029619B9FD450078558B /* Info.plist */, 215 | ); 216 | name = "Supporting Files"; 217 | sourceTree = ""; 218 | }; 219 | 3C83029E19B9FD450078558B /* ColorMapViewTests */ = { 220 | isa = PBXGroup; 221 | children = ( 222 | 3C8302DE19BA03AC0078558B /* ColorMapViewSpec.m */, 223 | 3C83029F19B9FD450078558B /* Supporting Files */, 224 | ); 225 | path = ColorMapViewTests; 226 | sourceTree = ""; 227 | }; 228 | 3C83029F19B9FD450078558B /* Supporting Files */ = { 229 | isa = PBXGroup; 230 | children = ( 231 | 3C8302A019B9FD450078558B /* Info.plist */, 232 | ); 233 | name = "Supporting Files"; 234 | sourceTree = ""; 235 | }; 236 | 3C8302AD19B9FDFB0078558B /* Assets */ = { 237 | isa = PBXGroup; 238 | children = ( 239 | 3C8302AE19B9FDFB0078558B /* colorMap.png */, 240 | ); 241 | path = Assets; 242 | sourceTree = ""; 243 | }; 244 | 3C8302B919B9FEEB0078558B /* ColorMapExample */ = { 245 | isa = PBXGroup; 246 | children = ( 247 | 3C8302BE19B9FEEB0078558B /* AppDelegate.h */, 248 | 3C8302BF19B9FEEB0078558B /* AppDelegate.m */, 249 | 3C8302C119B9FEEB0078558B /* ViewController.h */, 250 | 3C8302C219B9FEEB0078558B /* ViewController.m */, 251 | 3C8302C419B9FEEB0078558B /* Main.storyboard */, 252 | 3C8302C719B9FEEB0078558B /* Images.xcassets */, 253 | 3C8302BA19B9FEEB0078558B /* Supporting Files */, 254 | ); 255 | path = ColorMapExample; 256 | sourceTree = ""; 257 | }; 258 | 3C8302BA19B9FEEB0078558B /* Supporting Files */ = { 259 | isa = PBXGroup; 260 | children = ( 261 | 3C8302BB19B9FEEB0078558B /* Info.plist */, 262 | 3C8302BC19B9FEEB0078558B /* main.m */, 263 | ); 264 | name = "Supporting Files"; 265 | sourceTree = ""; 266 | }; 267 | 3CF88F2B1A0379E000369E79 /* ColorMapViewSimulatorTests */ = { 268 | isa = PBXGroup; 269 | children = ( 270 | 3CF88F381A037B5F00369E79 /* ColorMapViewSimulatorSpec.m */, 271 | 3CF88F2C1A0379E000369E79 /* Supporting Files */, 272 | ); 273 | path = ColorMapViewSimulatorTests; 274 | sourceTree = ""; 275 | }; 276 | 3CF88F2C1A0379E000369E79 /* Supporting Files */ = { 277 | isa = PBXGroup; 278 | children = ( 279 | 3CF88F2D1A0379E000369E79 /* Info.plist */, 280 | ); 281 | name = "Supporting Files"; 282 | sourceTree = ""; 283 | }; 284 | D8A797A72B6F41BC99BEDABB /* Frameworks */ = { 285 | isa = PBXGroup; 286 | children = ( 287 | B2B075E800562E33D834A30E /* libPods-ColorMapViewTests.a */, 288 | 72BCFA5177699F576114514A /* libPods-ColorMapViewSimulatorTests.a */, 289 | ); 290 | name = Frameworks; 291 | sourceTree = ""; 292 | }; 293 | /* End PBXGroup section */ 294 | 295 | /* Begin PBXHeadersBuildPhase section */ 296 | 3C83028F19B9FD450078558B /* Headers */ = { 297 | isa = PBXHeadersBuildPhase; 298 | buildActionMask = 2147483647; 299 | files = ( 300 | 3C8302B219B9FE710078558B /* UIImage+ColorMapView.h in Headers */, 301 | 3C83029819B9FD450078558B /* ColorMapView.h in Headers */, 302 | ); 303 | runOnlyForDeploymentPostprocessing = 0; 304 | }; 305 | /* End PBXHeadersBuildPhase section */ 306 | 307 | /* Begin PBXNativeTarget section */ 308 | 3C83029119B9FD450078558B /* ColorMapView */ = { 309 | isa = PBXNativeTarget; 310 | buildConfigurationList = 3C8302A519B9FD450078558B /* Build configuration list for PBXNativeTarget "ColorMapView" */; 311 | buildPhases = ( 312 | 3C83028D19B9FD450078558B /* Sources */, 313 | 3C83028E19B9FD450078558B /* Frameworks */, 314 | 3C83028F19B9FD450078558B /* Headers */, 315 | 3C83029019B9FD450078558B /* Resources */, 316 | ); 317 | buildRules = ( 318 | ); 319 | dependencies = ( 320 | ); 321 | name = ColorMapView; 322 | productName = ColorMapView; 323 | productReference = 3C83029219B9FD450078558B /* ColorMapView.framework */; 324 | productType = "com.apple.product-type.framework"; 325 | }; 326 | 3C83029C19B9FD450078558B /* ColorMapViewTests */ = { 327 | isa = PBXNativeTarget; 328 | buildConfigurationList = 3C8302A819B9FD450078558B /* Build configuration list for PBXNativeTarget "ColorMapViewTests" */; 329 | buildPhases = ( 330 | CAF257B74DD9F29ED418DD8F /* Check Pods Manifest.lock */, 331 | 3C83029919B9FD450078558B /* Sources */, 332 | 3C83029A19B9FD450078558B /* Frameworks */, 333 | 3C83029B19B9FD450078558B /* Resources */, 334 | 3C9FB0B71AD96BD30071FCCF /* CopyFiles */, 335 | 38EB50FE45875A4AFD705A19 /* Embed Pods Frameworks */, 336 | 756AFE7E720FF4BF3973BD0B /* Copy Pods Resources */, 337 | ); 338 | buildRules = ( 339 | ); 340 | dependencies = ( 341 | 3CF88F231A034EF300369E79 /* PBXTargetDependency */, 342 | ); 343 | name = ColorMapViewTests; 344 | productName = ColorMapViewTests; 345 | productReference = 3C83029D19B9FD450078558B /* ColorMapViewTests.xctest */; 346 | productType = "com.apple.product-type.bundle.unit-test"; 347 | }; 348 | 3C8302B719B9FEEB0078558B /* ColorMapExample */ = { 349 | isa = PBXNativeTarget; 350 | buildConfigurationList = 3C8302D519B9FEEB0078558B /* Build configuration list for PBXNativeTarget "ColorMapExample" */; 351 | buildPhases = ( 352 | 3C8302B419B9FEEB0078558B /* Sources */, 353 | 3C8302B519B9FEEB0078558B /* Frameworks */, 354 | 3C8302B619B9FEEB0078558B /* Resources */, 355 | ); 356 | buildRules = ( 357 | ); 358 | dependencies = ( 359 | 3C8302DC19BA02560078558B /* PBXTargetDependency */, 360 | ); 361 | name = ColorMapExample; 362 | productName = ColorMapExample; 363 | productReference = 3C8302B819B9FEEB0078558B /* ColorMapExample.app */; 364 | productType = "com.apple.product-type.application"; 365 | }; 366 | 3CF88F291A0379E000369E79 /* ColorMapViewSimulatorTests */ = { 367 | isa = PBXNativeTarget; 368 | buildConfigurationList = 3CF88F331A0379E000369E79 /* Build configuration list for PBXNativeTarget "ColorMapViewSimulatorTests" */; 369 | buildPhases = ( 370 | DD886EF101D29A69EF5219C6 /* Check Pods Manifest.lock */, 371 | 3CF88F261A0379E000369E79 /* Sources */, 372 | 3CF88F271A0379E000369E79 /* Frameworks */, 373 | 3CF88F281A0379E000369E79 /* Resources */, 374 | 4F98580CE8CFE7A01C6D896A /* Embed Pods Frameworks */, 375 | 4E460855BCFDDFA9BF27005E /* Copy Pods Resources */, 376 | ); 377 | buildRules = ( 378 | ); 379 | dependencies = ( 380 | 3CF88F321A0379E000369E79 /* PBXTargetDependency */, 381 | ); 382 | name = ColorMapViewSimulatorTests; 383 | productName = ColorMapViewSimulatorTests; 384 | productReference = 3CF88F2A1A0379E000369E79 /* ColorMapViewSimulatorTests.xctest */; 385 | productType = "com.apple.product-type.bundle.unit-test"; 386 | }; 387 | /* End PBXNativeTarget section */ 388 | 389 | /* Begin PBXProject section */ 390 | 3C83028919B9FD450078558B /* Project object */ = { 391 | isa = PBXProject; 392 | attributes = { 393 | LastUpgradeCheck = 0720; 394 | ORGANIZATIONNAME = Adorkable; 395 | TargetAttributes = { 396 | 3C83029119B9FD450078558B = { 397 | CreatedOnToolsVersion = 6.0; 398 | }; 399 | 3C83029C19B9FD450078558B = { 400 | CreatedOnToolsVersion = 6.0; 401 | }; 402 | 3C8302B719B9FEEB0078558B = { 403 | CreatedOnToolsVersion = 6.0; 404 | }; 405 | 3CCEC96E1A04716A00841F53 = { 406 | CreatedOnToolsVersion = 6.1; 407 | }; 408 | 3CF88F291A0379E000369E79 = { 409 | CreatedOnToolsVersion = 6.1; 410 | }; 411 | }; 412 | }; 413 | buildConfigurationList = 3C83028C19B9FD450078558B /* Build configuration list for PBXProject "ColorMapView" */; 414 | compatibilityVersion = "Xcode 3.2"; 415 | developmentRegion = English; 416 | hasScannedForEncodings = 0; 417 | knownRegions = ( 418 | en, 419 | Base, 420 | ); 421 | mainGroup = 3C83028819B9FD450078558B; 422 | productRefGroup = 3C83029319B9FD450078558B /* Products */; 423 | projectDirPath = ""; 424 | projectRoot = ""; 425 | targets = ( 426 | 3C83029119B9FD450078558B /* ColorMapView */, 427 | 3C83029C19B9FD450078558B /* ColorMapViewTests */, 428 | 3CF88F291A0379E000369E79 /* ColorMapViewSimulatorTests */, 429 | 3C8302B719B9FEEB0078558B /* ColorMapExample */, 430 | 3CCEC96E1A04716A00841F53 /* Podspec Lint */, 431 | ); 432 | }; 433 | /* End PBXProject section */ 434 | 435 | /* Begin PBXResourcesBuildPhase section */ 436 | 3C83029019B9FD450078558B /* Resources */ = { 437 | isa = PBXResourcesBuildPhase; 438 | buildActionMask = 2147483647; 439 | files = ( 440 | 3C4B71ED1C1F97590011B23A /* LICENSE.md in Resources */, 441 | 3C8302AF19B9FDFB0078558B /* colorMap.png in Resources */, 442 | 3C4B71EE1C1F97640011B23A /* README.md in Resources */, 443 | ); 444 | runOnlyForDeploymentPostprocessing = 0; 445 | }; 446 | 3C83029B19B9FD450078558B /* Resources */ = { 447 | isa = PBXResourcesBuildPhase; 448 | buildActionMask = 2147483647; 449 | files = ( 450 | ); 451 | runOnlyForDeploymentPostprocessing = 0; 452 | }; 453 | 3C8302B619B9FEEB0078558B /* Resources */ = { 454 | isa = PBXResourcesBuildPhase; 455 | buildActionMask = 2147483647; 456 | files = ( 457 | 3C8302C619B9FEEB0078558B /* Main.storyboard in Resources */, 458 | 3C8302C819B9FEEB0078558B /* Images.xcassets in Resources */, 459 | ); 460 | runOnlyForDeploymentPostprocessing = 0; 461 | }; 462 | 3CF88F281A0379E000369E79 /* Resources */ = { 463 | isa = PBXResourcesBuildPhase; 464 | buildActionMask = 2147483647; 465 | files = ( 466 | ); 467 | runOnlyForDeploymentPostprocessing = 0; 468 | }; 469 | /* End PBXResourcesBuildPhase section */ 470 | 471 | /* Begin PBXShellScriptBuildPhase section */ 472 | 38EB50FE45875A4AFD705A19 /* Embed Pods Frameworks */ = { 473 | isa = PBXShellScriptBuildPhase; 474 | buildActionMask = 2147483647; 475 | files = ( 476 | ); 477 | inputPaths = ( 478 | ); 479 | name = "Embed Pods Frameworks"; 480 | outputPaths = ( 481 | ); 482 | runOnlyForDeploymentPostprocessing = 0; 483 | shellPath = /bin/sh; 484 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ColorMapViewTests/Pods-ColorMapViewTests-frameworks.sh\"\n"; 485 | }; 486 | 3CCEC9721A04717300841F53 /* ShellScript */ = { 487 | isa = PBXShellScriptBuildPhase; 488 | buildActionMask = 2147483647; 489 | files = ( 490 | ); 491 | inputPaths = ( 492 | ); 493 | outputPaths = ( 494 | ); 495 | runOnlyForDeploymentPostprocessing = 0; 496 | shellPath = /bin/sh; 497 | shellScript = "pod spec lint ColorMapView.podspec"; 498 | }; 499 | 4E460855BCFDDFA9BF27005E /* Copy Pods Resources */ = { 500 | isa = PBXShellScriptBuildPhase; 501 | buildActionMask = 2147483647; 502 | files = ( 503 | ); 504 | inputPaths = ( 505 | ); 506 | name = "Copy Pods Resources"; 507 | outputPaths = ( 508 | ); 509 | runOnlyForDeploymentPostprocessing = 0; 510 | shellPath = /bin/sh; 511 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ColorMapViewSimulatorTests/Pods-ColorMapViewSimulatorTests-resources.sh\"\n"; 512 | showEnvVarsInLog = 0; 513 | }; 514 | 4F98580CE8CFE7A01C6D896A /* Embed Pods Frameworks */ = { 515 | isa = PBXShellScriptBuildPhase; 516 | buildActionMask = 2147483647; 517 | files = ( 518 | ); 519 | inputPaths = ( 520 | ); 521 | name = "Embed Pods Frameworks"; 522 | outputPaths = ( 523 | ); 524 | runOnlyForDeploymentPostprocessing = 0; 525 | shellPath = /bin/sh; 526 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ColorMapViewSimulatorTests/Pods-ColorMapViewSimulatorTests-frameworks.sh\"\n"; 527 | }; 528 | 756AFE7E720FF4BF3973BD0B /* Copy Pods Resources */ = { 529 | isa = PBXShellScriptBuildPhase; 530 | buildActionMask = 2147483647; 531 | files = ( 532 | ); 533 | inputPaths = ( 534 | ); 535 | name = "Copy Pods Resources"; 536 | outputPaths = ( 537 | ); 538 | runOnlyForDeploymentPostprocessing = 0; 539 | shellPath = /bin/sh; 540 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ColorMapViewTests/Pods-ColorMapViewTests-resources.sh\"\n"; 541 | showEnvVarsInLog = 0; 542 | }; 543 | CAF257B74DD9F29ED418DD8F /* Check Pods Manifest.lock */ = { 544 | isa = PBXShellScriptBuildPhase; 545 | buildActionMask = 2147483647; 546 | files = ( 547 | ); 548 | inputPaths = ( 549 | ); 550 | name = "Check Pods Manifest.lock"; 551 | outputPaths = ( 552 | ); 553 | runOnlyForDeploymentPostprocessing = 0; 554 | shellPath = /bin/sh; 555 | 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"; 556 | showEnvVarsInLog = 0; 557 | }; 558 | DD886EF101D29A69EF5219C6 /* Check Pods Manifest.lock */ = { 559 | isa = PBXShellScriptBuildPhase; 560 | buildActionMask = 2147483647; 561 | files = ( 562 | ); 563 | inputPaths = ( 564 | ); 565 | name = "Check Pods Manifest.lock"; 566 | outputPaths = ( 567 | ); 568 | runOnlyForDeploymentPostprocessing = 0; 569 | shellPath = /bin/sh; 570 | 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"; 571 | showEnvVarsInLog = 0; 572 | }; 573 | /* End PBXShellScriptBuildPhase section */ 574 | 575 | /* Begin PBXSourcesBuildPhase section */ 576 | 3C83028D19B9FD450078558B /* Sources */ = { 577 | isa = PBXSourcesBuildPhase; 578 | buildActionMask = 2147483647; 579 | files = ( 580 | 3C8302AC19B9FD5F0078558B /* ColorMapView.m in Sources */, 581 | 3C8302B319B9FE710078558B /* UIImage+ColorMapView.m in Sources */, 582 | ); 583 | runOnlyForDeploymentPostprocessing = 0; 584 | }; 585 | 3C83029919B9FD450078558B /* Sources */ = { 586 | isa = PBXSourcesBuildPhase; 587 | buildActionMask = 2147483647; 588 | files = ( 589 | 3C8302DF19BA03AC0078558B /* ColorMapViewSpec.m in Sources */, 590 | ); 591 | runOnlyForDeploymentPostprocessing = 0; 592 | }; 593 | 3C8302B419B9FEEB0078558B /* Sources */ = { 594 | isa = PBXSourcesBuildPhase; 595 | buildActionMask = 2147483647; 596 | files = ( 597 | 3C8302C319B9FEEB0078558B /* ViewController.m in Sources */, 598 | 3C8302C019B9FEEB0078558B /* AppDelegate.m in Sources */, 599 | 3C8302BD19B9FEEB0078558B /* main.m in Sources */, 600 | ); 601 | runOnlyForDeploymentPostprocessing = 0; 602 | }; 603 | 3CF88F261A0379E000369E79 /* Sources */ = { 604 | isa = PBXSourcesBuildPhase; 605 | buildActionMask = 2147483647; 606 | files = ( 607 | 3CF88F391A037B5F00369E79 /* ColorMapViewSimulatorSpec.m in Sources */, 608 | ); 609 | runOnlyForDeploymentPostprocessing = 0; 610 | }; 611 | /* End PBXSourcesBuildPhase section */ 612 | 613 | /* Begin PBXTargetDependency section */ 614 | 3C8302DC19BA02560078558B /* PBXTargetDependency */ = { 615 | isa = PBXTargetDependency; 616 | target = 3C83029119B9FD450078558B /* ColorMapView */; 617 | targetProxy = 3C8302DB19BA02560078558B /* PBXContainerItemProxy */; 618 | }; 619 | 3CF88F231A034EF300369E79 /* PBXTargetDependency */ = { 620 | isa = PBXTargetDependency; 621 | target = 3C83029119B9FD450078558B /* ColorMapView */; 622 | targetProxy = 3CF88F221A034EF300369E79 /* PBXContainerItemProxy */; 623 | }; 624 | 3CF88F321A0379E000369E79 /* PBXTargetDependency */ = { 625 | isa = PBXTargetDependency; 626 | target = 3C83029119B9FD450078558B /* ColorMapView */; 627 | targetProxy = 3CF88F311A0379E000369E79 /* PBXContainerItemProxy */; 628 | }; 629 | /* End PBXTargetDependency section */ 630 | 631 | /* Begin PBXVariantGroup section */ 632 | 3C8302C419B9FEEB0078558B /* Main.storyboard */ = { 633 | isa = PBXVariantGroup; 634 | children = ( 635 | 3C8302C519B9FEEB0078558B /* Base */, 636 | ); 637 | name = Main.storyboard; 638 | sourceTree = ""; 639 | }; 640 | /* End PBXVariantGroup section */ 641 | 642 | /* Begin XCBuildConfiguration section */ 643 | 3C8302A319B9FD450078558B /* Debug */ = { 644 | isa = XCBuildConfiguration; 645 | buildSettings = { 646 | ALWAYS_SEARCH_USER_PATHS = NO; 647 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 648 | CLANG_CXX_LIBRARY = "libc++"; 649 | CLANG_ENABLE_MODULES = YES; 650 | CLANG_ENABLE_OBJC_ARC = YES; 651 | CLANG_WARN_BOOL_CONVERSION = YES; 652 | CLANG_WARN_CONSTANT_CONVERSION = YES; 653 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 654 | CLANG_WARN_EMPTY_BODY = YES; 655 | CLANG_WARN_ENUM_CONVERSION = YES; 656 | CLANG_WARN_INT_CONVERSION = YES; 657 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 658 | CLANG_WARN_UNREACHABLE_CODE = YES; 659 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 660 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 661 | COPY_PHASE_STRIP = NO; 662 | CURRENT_PROJECT_VERSION = 1; 663 | ENABLE_STRICT_OBJC_MSGSEND = YES; 664 | ENABLE_TESTABILITY = YES; 665 | GCC_C_LANGUAGE_STANDARD = gnu99; 666 | GCC_DYNAMIC_NO_PIC = NO; 667 | GCC_OPTIMIZATION_LEVEL = 0; 668 | GCC_PREPROCESSOR_DEFINITIONS = ( 669 | "DEBUG=1", 670 | "$(inherited)", 671 | ); 672 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 673 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 674 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 675 | GCC_WARN_UNDECLARED_SELECTOR = YES; 676 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 677 | GCC_WARN_UNUSED_FUNCTION = YES; 678 | GCC_WARN_UNUSED_VARIABLE = YES; 679 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 680 | MTL_ENABLE_DEBUG_INFO = YES; 681 | ONLY_ACTIVE_ARCH = YES; 682 | SDKROOT = iphoneos; 683 | TARGETED_DEVICE_FAMILY = "1,2"; 684 | VERSIONING_SYSTEM = "apple-generic"; 685 | VERSION_INFO_PREFIX = ""; 686 | }; 687 | name = Debug; 688 | }; 689 | 3C8302A419B9FD450078558B /* Release */ = { 690 | isa = XCBuildConfiguration; 691 | buildSettings = { 692 | ALWAYS_SEARCH_USER_PATHS = NO; 693 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 694 | CLANG_CXX_LIBRARY = "libc++"; 695 | CLANG_ENABLE_MODULES = YES; 696 | CLANG_ENABLE_OBJC_ARC = YES; 697 | CLANG_WARN_BOOL_CONVERSION = YES; 698 | CLANG_WARN_CONSTANT_CONVERSION = YES; 699 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 700 | CLANG_WARN_EMPTY_BODY = YES; 701 | CLANG_WARN_ENUM_CONVERSION = YES; 702 | CLANG_WARN_INT_CONVERSION = YES; 703 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 704 | CLANG_WARN_UNREACHABLE_CODE = YES; 705 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 706 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 707 | COPY_PHASE_STRIP = YES; 708 | CURRENT_PROJECT_VERSION = 1; 709 | ENABLE_NS_ASSERTIONS = NO; 710 | ENABLE_STRICT_OBJC_MSGSEND = YES; 711 | GCC_C_LANGUAGE_STANDARD = gnu99; 712 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 713 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 714 | GCC_WARN_UNDECLARED_SELECTOR = YES; 715 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 716 | GCC_WARN_UNUSED_FUNCTION = YES; 717 | GCC_WARN_UNUSED_VARIABLE = YES; 718 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 719 | MTL_ENABLE_DEBUG_INFO = NO; 720 | SDKROOT = iphoneos; 721 | TARGETED_DEVICE_FAMILY = "1,2"; 722 | VALIDATE_PRODUCT = YES; 723 | VERSIONING_SYSTEM = "apple-generic"; 724 | VERSION_INFO_PREFIX = ""; 725 | }; 726 | name = Release; 727 | }; 728 | 3C8302A619B9FD450078558B /* Debug */ = { 729 | isa = XCBuildConfiguration; 730 | buildSettings = { 731 | DEFINES_MODULE = YES; 732 | DYLIB_COMPATIBILITY_VERSION = 1; 733 | DYLIB_CURRENT_VERSION = 1; 734 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 735 | GCC_GENERATE_TEST_COVERAGE_FILES = YES; 736 | GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; 737 | INFOPLIST_FILE = ColorMapView/Info.plist; 738 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 739 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 740 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 741 | PRODUCT_NAME = "$(TARGET_NAME)"; 742 | SKIP_INSTALL = YES; 743 | }; 744 | name = Debug; 745 | }; 746 | 3C8302A719B9FD450078558B /* Release */ = { 747 | isa = XCBuildConfiguration; 748 | buildSettings = { 749 | DEFINES_MODULE = YES; 750 | DYLIB_COMPATIBILITY_VERSION = 1; 751 | DYLIB_CURRENT_VERSION = 1; 752 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 753 | GCC_GENERATE_TEST_COVERAGE_FILES = YES; 754 | GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES; 755 | INFOPLIST_FILE = ColorMapView/Info.plist; 756 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 757 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 758 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 759 | PRODUCT_NAME = "$(TARGET_NAME)"; 760 | SKIP_INSTALL = YES; 761 | }; 762 | name = Release; 763 | }; 764 | 3C8302A919B9FD450078558B /* Debug */ = { 765 | isa = XCBuildConfiguration; 766 | baseConfigurationReference = 5F273D85F107422540330531 /* Pods-ColorMapViewTests.debug.xcconfig */; 767 | buildSettings = { 768 | GCC_PREPROCESSOR_DEFINITIONS = ( 769 | "DEBUG=1", 770 | "$(inherited)", 771 | ); 772 | INFOPLIST_FILE = ColorMapViewTests/Info.plist; 773 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 774 | PRODUCT_NAME = "$(TARGET_NAME)"; 775 | }; 776 | name = Debug; 777 | }; 778 | 3C8302AA19B9FD450078558B /* Release */ = { 779 | isa = XCBuildConfiguration; 780 | baseConfigurationReference = 1D9B085103D8948ED47F4263 /* Pods-ColorMapViewTests.release.xcconfig */; 781 | buildSettings = { 782 | INFOPLIST_FILE = ColorMapViewTests/Info.plist; 783 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 784 | PRODUCT_NAME = "$(TARGET_NAME)"; 785 | }; 786 | name = Release; 787 | }; 788 | 3C8302D619B9FEEB0078558B /* Debug */ = { 789 | isa = XCBuildConfiguration; 790 | buildSettings = { 791 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 792 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 793 | GCC_PREPROCESSOR_DEFINITIONS = ( 794 | "DEBUG=1", 795 | "$(inherited)", 796 | ); 797 | INFOPLIST_FILE = ColorMapExample/Info.plist; 798 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 799 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.ColorMapView.$(PRODUCT_NAME:rfc1034identifier)"; 800 | PRODUCT_NAME = "$(TARGET_NAME)"; 801 | }; 802 | name = Debug; 803 | }; 804 | 3C8302D719B9FEEB0078558B /* Release */ = { 805 | isa = XCBuildConfiguration; 806 | buildSettings = { 807 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 808 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 809 | INFOPLIST_FILE = ColorMapExample/Info.plist; 810 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 811 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.ColorMapView.$(PRODUCT_NAME:rfc1034identifier)"; 812 | PRODUCT_NAME = "$(TARGET_NAME)"; 813 | }; 814 | name = Release; 815 | }; 816 | 3CCEC9701A04716A00841F53 /* Debug */ = { 817 | isa = XCBuildConfiguration; 818 | buildSettings = { 819 | PRODUCT_NAME = "$(TARGET_NAME)"; 820 | }; 821 | name = Debug; 822 | }; 823 | 3CCEC9711A04716A00841F53 /* Release */ = { 824 | isa = XCBuildConfiguration; 825 | buildSettings = { 826 | PRODUCT_NAME = "$(TARGET_NAME)"; 827 | }; 828 | name = Release; 829 | }; 830 | 3CF88F341A0379E000369E79 /* Debug */ = { 831 | isa = XCBuildConfiguration; 832 | baseConfigurationReference = 5B20C1D40D127CF017FA2F06 /* Pods-ColorMapViewSimulatorTests.debug.xcconfig */; 833 | buildSettings = { 834 | FRAMEWORK_SEARCH_PATHS = ( 835 | "$(SDKROOT)/Developer/Library/Frameworks", 836 | "$(inherited)", 837 | ); 838 | GCC_PREPROCESSOR_DEFINITIONS = ( 839 | "DEBUG=1", 840 | "$(inherited)", 841 | ); 842 | INFOPLIST_FILE = ColorMapViewSimulatorTests/Info.plist; 843 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 844 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 845 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 846 | PRODUCT_NAME = "$(TARGET_NAME)"; 847 | }; 848 | name = Debug; 849 | }; 850 | 3CF88F351A0379E000369E79 /* Release */ = { 851 | isa = XCBuildConfiguration; 852 | baseConfigurationReference = A50F183CE9B9D7881C42D56E /* Pods-ColorMapViewSimulatorTests.release.xcconfig */; 853 | buildSettings = { 854 | FRAMEWORK_SEARCH_PATHS = ( 855 | "$(SDKROOT)/Developer/Library/Frameworks", 856 | "$(inherited)", 857 | ); 858 | INFOPLIST_FILE = ColorMapViewSimulatorTests/Info.plist; 859 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 860 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 861 | PRODUCT_BUNDLE_IDENTIFIER = "cc.adorkable.$(PRODUCT_NAME:rfc1034identifier)"; 862 | PRODUCT_NAME = "$(TARGET_NAME)"; 863 | }; 864 | name = Release; 865 | }; 866 | /* End XCBuildConfiguration section */ 867 | 868 | /* Begin XCConfigurationList section */ 869 | 3C83028C19B9FD450078558B /* Build configuration list for PBXProject "ColorMapView" */ = { 870 | isa = XCConfigurationList; 871 | buildConfigurations = ( 872 | 3C8302A319B9FD450078558B /* Debug */, 873 | 3C8302A419B9FD450078558B /* Release */, 874 | ); 875 | defaultConfigurationIsVisible = 0; 876 | defaultConfigurationName = Release; 877 | }; 878 | 3C8302A519B9FD450078558B /* Build configuration list for PBXNativeTarget "ColorMapView" */ = { 879 | isa = XCConfigurationList; 880 | buildConfigurations = ( 881 | 3C8302A619B9FD450078558B /* Debug */, 882 | 3C8302A719B9FD450078558B /* Release */, 883 | ); 884 | defaultConfigurationIsVisible = 0; 885 | defaultConfigurationName = Release; 886 | }; 887 | 3C8302A819B9FD450078558B /* Build configuration list for PBXNativeTarget "ColorMapViewTests" */ = { 888 | isa = XCConfigurationList; 889 | buildConfigurations = ( 890 | 3C8302A919B9FD450078558B /* Debug */, 891 | 3C8302AA19B9FD450078558B /* Release */, 892 | ); 893 | defaultConfigurationIsVisible = 0; 894 | defaultConfigurationName = Release; 895 | }; 896 | 3C8302D519B9FEEB0078558B /* Build configuration list for PBXNativeTarget "ColorMapExample" */ = { 897 | isa = XCConfigurationList; 898 | buildConfigurations = ( 899 | 3C8302D619B9FEEB0078558B /* Debug */, 900 | 3C8302D719B9FEEB0078558B /* Release */, 901 | ); 902 | defaultConfigurationIsVisible = 0; 903 | defaultConfigurationName = Release; 904 | }; 905 | 3CCEC96F1A04716A00841F53 /* Build configuration list for PBXAggregateTarget "Podspec Lint" */ = { 906 | isa = XCConfigurationList; 907 | buildConfigurations = ( 908 | 3CCEC9701A04716A00841F53 /* Debug */, 909 | 3CCEC9711A04716A00841F53 /* Release */, 910 | ); 911 | defaultConfigurationIsVisible = 0; 912 | defaultConfigurationName = Release; 913 | }; 914 | 3CF88F331A0379E000369E79 /* Build configuration list for PBXNativeTarget "ColorMapViewSimulatorTests" */ = { 915 | isa = XCConfigurationList; 916 | buildConfigurations = ( 917 | 3CF88F341A0379E000369E79 /* Debug */, 918 | 3CF88F351A0379E000369E79 /* Release */, 919 | ); 920 | defaultConfigurationIsVisible = 0; 921 | defaultConfigurationName = Release; 922 | }; 923 | /* End XCConfigurationList section */ 924 | }; 925 | rootObject = 3C83028919B9FD450078558B /* Project object */; 926 | } 927 | --------------------------------------------------------------------------------