├── .gitignore ├── .swift-version ├── .swiftlint.yml ├── Podfile ├── README.md ├── SwiftProject-README.md ├── SwiftProject.gitignore ├── SwiftProject.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ ├── SwiftProject Production.xcscheme │ ├── SwiftProject Staging.xcscheme │ └── SwiftProject Tests.xcscheme ├── SwiftProject.xcworkspace └── contents.xcworkspacedata ├── SwiftProject ├── Resources │ ├── Assets.xcassets │ │ ├── AppIcon-Production.appiconset │ │ │ └── Contents.json │ │ ├── AppIcon-Staging.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Fonts │ │ └── .gitkeep │ ├── Info │ │ ├── Info-Production.plist │ │ └── Info-Staging.plist │ ├── LaunchScreen.storyboard │ └── nb.lproj │ │ └── Localizable.strings └── Sources │ ├── App │ └── AppCoordinator.swift │ ├── AppDelegate │ └── AppDelegate.swift │ ├── Config │ ├── Configurable.swift │ └── MalibuConfigurator.swift │ ├── Constants │ └── R.generated.swift │ ├── Extensions │ └── String+Extensions.swift │ ├── Features │ └── Main │ │ └── MainController.swift │ └── Library │ └── .gitkeep ├── SwiftProjectTests ├── Resources │ └── Info │ │ └── Info-Tests.plist └── Sources │ └── Tests.swift └── init.rb /.gitignore: -------------------------------------------------------------------------------- 1 | # OS X 2 | .DS_Store 3 | .AppleDouble 4 | .LSOverride 5 | Icon 6 | ._* 7 | .Spotlight-V100 8 | .Trashes 9 | 10 | # Xcode 11 | # 12 | build/ 13 | *.pbxuser 14 | !default.pbxuser 15 | *.mode1v3 16 | !default.mode1v3 17 | *.mode2v3 18 | !default.mode2v3 19 | *.perspectivev3 20 | !default.perspectivev3 21 | xcuserdata 22 | *.xccheckout 23 | *.moved-aside 24 | DerivedData 25 | *.hmap 26 | *.ipa 27 | *.xcuserstate 28 | .idea/ 29 | 30 | # CocoaPods 31 | Pods 32 | 33 | # Carthage 34 | Carthage 35 | 36 | # SPM 37 | .build/ 38 | 39 | # Injection 40 | iOSInjectionProject/ 41 | -------------------------------------------------------------------------------- /.swift-version: -------------------------------------------------------------------------------- 1 | 4.0 2 | -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- 1 | disabled_rules: 2 | - nesting 3 | - unused_closure_parameter 4 | - closure_parameter_position 5 | - empty_parentheses_with_trailing_closure 6 | - redundant_string_enum_value 7 | opt_in_rules: # some rules are only opt-in 8 | - empty_count 9 | # Find all the available rules by running: 10 | # swiftlint rules 11 | included: # paths to include during linting. `--path` is ignored if present. 12 | - SwiftProject/Sources 13 | excluded: # paths to ignore during linting. Takes precedence over `included`. 14 | - Carthage 15 | - Pods 16 | - SwiftProject/Sources/Constants/R.generated.swift 17 | 18 | # configurable rules can be customized from this configuration file 19 | # binary rules can set their severity level 20 | force_cast: warning # implicitly 21 | force_try: 22 | severity: warning # explicitly 23 | # rules that have both warning and error levels, can set just the warning level 24 | # implicitly 25 | line_length: 150 26 | function_body_length: 27 | - 100 #warning 28 | # they can set both implicitly with an array 29 | type_body_length: 30 | - 300 # warning 31 | - 400 # error 32 | # or they can set both explicitly 33 | file_length: 34 | warning: 500 35 | error: 1200 36 | # naming rules can set warnings/errors for min_length and max_length 37 | # additionally they can set excluded names 38 | type_name: 39 | min_length: 1 # only warning 40 | max_length: # warning and error 41 | warning: 40 42 | error: 50 43 | excluded: iPhone # excluded via string 44 | variable_name: 45 | min_length: # only min_length 46 | error: 2 # only error 47 | excluded: # excluded via string array 48 | - app 49 | - me 50 | - x 51 | - y 52 | - id 53 | - URL 54 | - GlobalAPIKey 55 | reporter: "xcode" # reporter type (xcode, json, csv, checkstyle) 56 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | 3 | platform :ios, '9.0' 4 | 5 | use_frameworks! 6 | inhibit_all_warnings! 7 | 8 | pod 'Hue', '~> 3.0' 9 | pod 'Imaginary', '~> 3.0' 10 | pod 'Malibu', '~> 6.0' 11 | pod 'R.swift', '~> 4.0', configurations: 'Debug' 12 | pod 'SwiftLint', configurations: 'Debug' 13 | 14 | target 'SwiftProject Staging' 15 | target 'SwiftProject Production' 16 | 17 | target 'SwiftProject Tests' do 18 | inherit! :search_paths 19 | end 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SwiftProject 2 | 3 | **SwiftProject** is a template to generate Swift-based iOS projects from the 4 | command line. 5 | 6 | ## Features 7 | 8 | - [x] A basic folder structure. 9 | - [x] Swift common types, helpers and configurators. 10 | - [x] Recommended pods in `Podfile` 11 | - [x] Integrated [SwiftLint](https://github.com/realm/SwiftLint) and [R.swift](https://github.com/mac-cain13/R.swift) 12 | - [x] Schemes for `Staging` and `Production` 13 | 14 | ## Project Structure 15 | 16 | - Sources: contains source files 17 | - App 18 | - AppDelegate 19 | - Config 20 | - Constants 21 | - Extensions 22 | - Features 23 | - Library 24 | 25 | - Resources: contains resource files 26 | - Assets Catalog 27 | - Fonts 28 | - Info 29 | - Storyboard 30 | - Localised strings files 31 | 32 | ## Usage 33 | 34 | 1. Create new private repository on [GitHub](https://github.com/organizations/hyperoslo/repositories/new) 35 | 1. `git clone https://github.com/hyperoslo/SwiftProject.git NewProjectName` 36 | 2. `cd NewProjectName` 37 | 3. `ruby ./init.rb` 38 | 4. Enter the requested info. 39 | 40 | ## Author 41 | 42 | Hyper Interaktiv AS, ios@hyper.no 43 | -------------------------------------------------------------------------------- /SwiftProject-README.md: -------------------------------------------------------------------------------- 1 | # SwiftProject iOS application 2 | 3 | [![CI Status](http://img.shields.io/travis/hyperoslo/.svg?style=flat)](https://travis-ci.org/hyperoslo/) 4 | ![Swift](https://img.shields.io/badge/%20in-swift%203.0-orange.svg) 5 | 6 | ## Description 7 | 8 | **SwiftProject** description. 9 | 10 | ## Usage 11 | 12 | ```swift 13 | 14 | ``` 15 | 16 | ## Installation 17 | 18 | ```sh 19 | git clone https://github.com/hyperoslo/.git` 20 | cd 21 | pod install 22 | ``` 23 | 24 | ## Author 25 | 26 | Hyper Interaktiv AS, ios@hyper.no 27 | -------------------------------------------------------------------------------- /SwiftProject.gitignore: -------------------------------------------------------------------------------- 1 | # OS X 2 | .DS_Store 3 | .AppleDouble 4 | .LSOverride 5 | Icon 6 | ._* 7 | .Spotlight-V100 8 | .Trashes 9 | 10 | # Xcode 11 | # 12 | build/ 13 | *.pbxuser 14 | !default.pbxuser 15 | *.mode1v3 16 | !default.mode1v3 17 | *.mode2v3 18 | !default.mode2v3 19 | *.perspectivev3 20 | !default.perspectivev3 21 | xcuserdata 22 | *.xccheckout 23 | *.moved-aside 24 | DerivedData 25 | *.hmap 26 | *.ipa 27 | *.xcuserstate 28 | .idea/ 29 | 30 | # CocoaPods 31 | Pods 32 | 33 | # Carthage 34 | Carthage 35 | 36 | # SPM 37 | .build/ 38 | 39 | # R.swift 40 | *.generated.swift 41 | 42 | # Injection 43 | iOSInjectionProject/ 44 | -------------------------------------------------------------------------------- /SwiftProject.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 05E6D53FE3686B9776F84F9E /* Pods_SwiftProject_Production.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1BA405F4EE93F94DDCBD561 /* Pods_SwiftProject_Production.framework */; }; 11 | 0759C6EBBD84C5BE6B303996 /* Pods_SwiftProject_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B13CD07E71174688B94C921 /* Pods_SwiftProject_Tests.framework */; }; 12 | 2E501C82006A1E4CCC53F021 /* Pods_SwiftProject_Staging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4E3F8E310D9652871FAB530 /* Pods_SwiftProject_Staging.framework */; }; 13 | D258F4DA1E4088A70054F570 /* AppCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D258F4D51E4088A70054F570 /* AppCoordinator.swift */; }; 14 | D258F4DC1E4088A70054F570 /* AppCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D258F4D51E4088A70054F570 /* AppCoordinator.swift */; }; 15 | D258F4DD1E4088A70054F570 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D258F4D71E4088A70054F570 /* AppDelegate.swift */; }; 16 | D258F4DF1E4088A70054F570 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D258F4D71E4088A70054F570 /* AppDelegate.swift */; }; 17 | D570917D1E23B69300C9347B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D57091761E23B69300C9347B /* Assets.xcassets */; }; 18 | D570917F1E23B69300C9347B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D57091791E23B69300C9347B /* LaunchScreen.storyboard */; }; 19 | D570919B1E23B91200C9347B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D57091791E23B69300C9347B /* LaunchScreen.storyboard */; }; 20 | D570919C1E23B91200C9347B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D57091761E23B69300C9347B /* Assets.xcassets */; }; 21 | D5892C7A1E2516AB00FFCF74 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C771E25169D00FFCF74 /* Tests.swift */; }; 22 | D5892C811E251D9000FFCF74 /* Configurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C801E251D9000FFCF74 /* Configurable.swift */; }; 23 | D5892C831E251D9000FFCF74 /* Configurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C801E251D9000FFCF74 /* Configurable.swift */; }; 24 | D5892C891E251DDC00FFCF74 /* MalibuConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C881E251DDC00FFCF74 /* MalibuConfigurator.swift */; }; 25 | D5892C8B1E251DDC00FFCF74 /* MalibuConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C881E251DDC00FFCF74 /* MalibuConfigurator.swift */; }; 26 | D5892CA01E25283400FFCF74 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C9F1E25283400FFCF74 /* String+Extensions.swift */; }; 27 | D5892CA21E25283400FFCF74 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5892C9F1E25283400FFCF74 /* String+Extensions.swift */; }; 28 | D5B18E921E2568C80027E792 /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B18E911E2568C80027E792 /* R.generated.swift */; }; 29 | D5B18E941E2568C80027E792 /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B18E911E2568C80027E792 /* R.generated.swift */; }; 30 | D5B18E9C1E2570440027E792 /* MainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B18E9B1E2570440027E792 /* MainController.swift */; }; 31 | D5B18E9E1E2570440027E792 /* MainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B18E9B1E2570440027E792 /* MainController.swift */; }; 32 | D5B18EA81E2575700027E792 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D5B18EAC1E2575700027E792 /* Localizable.strings */; }; 33 | D5B18EAA1E2575700027E792 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D5B18EAC1E2575700027E792 /* Localizable.strings */; }; 34 | /* End PBXBuildFile section */ 35 | 36 | /* Begin PBXContainerItemProxy section */ 37 | D57091AE1E23BA0200C9347B /* PBXContainerItemProxy */ = { 38 | isa = PBXContainerItemProxy; 39 | containerPortal = D5C7F7381C3BC9CE008CDDBA /* Project object */; 40 | proxyType = 1; 41 | remoteGlobalIDString = D5C7F73F1C3BC9CE008CDDBA; 42 | remoteInfo = "SwiftProject-Staging"; 43 | }; 44 | /* End PBXContainerItemProxy section */ 45 | 46 | /* Begin PBXFileReference section */ 47 | 053029E8F60283C3009A2B58 /* Pods-SwiftProject Staging.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Staging.release.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Staging/Pods-SwiftProject Staging.release.xcconfig"; sourceTree = ""; }; 48 | 25CA403F133A6B5CFC4E384D /* Pods-SwiftProject Pre-Production.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Pre-Production.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Pre-Production/Pods-SwiftProject Pre-Production.debug.xcconfig"; sourceTree = ""; }; 49 | 2BBBCE43A12F54E67273EE93 /* Pods-SwiftProject Production.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Production.release.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Production/Pods-SwiftProject Production.release.xcconfig"; sourceTree = ""; }; 50 | 2BE71D21090EA91CAB5E3CB5 /* Pods-SwiftProject Staging.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Staging.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Staging/Pods-SwiftProject Staging.debug.xcconfig"; sourceTree = ""; }; 51 | 37CDCEA86C1100790A20EF6E /* Pods_SwiftProject_Pre_Production.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftProject_Pre_Production.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 52 | 7098DD9A0BEBBEC2EC5353CB /* Pods-SwiftProject Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Tests/Pods-SwiftProject Tests.debug.xcconfig"; sourceTree = ""; }; 53 | 7D1EC9862564DADA82358680 /* Pods-SwiftProject Production.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Production.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Production/Pods-SwiftProject Production.debug.xcconfig"; sourceTree = ""; }; 54 | 8B13CD07E71174688B94C921 /* Pods_SwiftProject_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftProject_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 55 | 9990E5F963EEFC471F2D862B /* Pods-SwiftProject Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Tests/Pods-SwiftProject Tests.release.xcconfig"; sourceTree = ""; }; 56 | A4E3F8E310D9652871FAB530 /* Pods_SwiftProject_Staging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftProject_Staging.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 57 | B4ADAC3BC6E9CFB29872B02A /* Pods-SwiftProject Pre-Production.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftProject Pre-Production.release.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftProject Pre-Production/Pods-SwiftProject Pre-Production.release.xcconfig"; sourceTree = ""; }; 58 | D258F4D51E4088A70054F570 /* AppCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = ""; }; 59 | D258F4D71E4088A70054F570 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 60 | D57091761E23B69300C9347B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 61 | D57091781E23B69300C9347B /* Info-Staging.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-Staging.plist"; sourceTree = ""; }; 62 | D57091791E23B69300C9347B /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 63 | D57091A31E23B91200C9347B /* SwiftProject Production.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SwiftProject Production.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 64 | D57091A91E23BA0200C9347B /* SwiftProject Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SwiftProject Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 65 | D57091B41E23BA7D00C9347B /* Info-Production.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-Production.plist"; sourceTree = ""; }; 66 | D5892C751E25169D00FFCF74 /* Info-Tests.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-Tests.plist"; sourceTree = ""; }; 67 | D5892C771E25169D00FFCF74 /* Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; }; 68 | D5892C801E251D9000FFCF74 /* Configurable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Configurable.swift; sourceTree = ""; }; 69 | D5892C881E251DDC00FFCF74 /* MalibuConfigurator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MalibuConfigurator.swift; sourceTree = ""; }; 70 | D5892C9F1E25283400FFCF74 /* String+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = ""; }; 71 | D5B18E911E2568C80027E792 /* R.generated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; }; 72 | D5B18E9B1E2570440027E792 /* MainController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainController.swift; sourceTree = ""; }; 73 | D5B18EA01E2574AE0027E792 /* .gitkeep */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitkeep; sourceTree = ""; }; 74 | D5B18EAD1E2575840027E792 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; 75 | D5C7F7401C3BC9CE008CDDBA /* SwiftProject Staging.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SwiftProject Staging.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 76 | E1BA405F4EE93F94DDCBD561 /* Pods_SwiftProject_Production.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftProject_Production.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 77 | /* End PBXFileReference section */ 78 | 79 | /* Begin PBXFrameworksBuildPhase section */ 80 | D57091991E23B91200C9347B /* Frameworks */ = { 81 | isa = PBXFrameworksBuildPhase; 82 | buildActionMask = 2147483647; 83 | files = ( 84 | 05E6D53FE3686B9776F84F9E /* Pods_SwiftProject_Production.framework in Frameworks */, 85 | ); 86 | runOnlyForDeploymentPostprocessing = 0; 87 | }; 88 | D57091A61E23BA0200C9347B /* Frameworks */ = { 89 | isa = PBXFrameworksBuildPhase; 90 | buildActionMask = 2147483647; 91 | files = ( 92 | 0759C6EBBD84C5BE6B303996 /* Pods_SwiftProject_Tests.framework in Frameworks */, 93 | ); 94 | runOnlyForDeploymentPostprocessing = 0; 95 | }; 96 | D5C7F73D1C3BC9CE008CDDBA /* Frameworks */ = { 97 | isa = PBXFrameworksBuildPhase; 98 | buildActionMask = 2147483647; 99 | files = ( 100 | 2E501C82006A1E4CCC53F021 /* Pods_SwiftProject_Staging.framework in Frameworks */, 101 | ); 102 | runOnlyForDeploymentPostprocessing = 0; 103 | }; 104 | /* End PBXFrameworksBuildPhase section */ 105 | 106 | /* Begin PBXGroup section */ 107 | 39BA4D395B97F580C3286020 /* Pods */ = { 108 | isa = PBXGroup; 109 | children = ( 110 | 25CA403F133A6B5CFC4E384D /* Pods-SwiftProject Pre-Production.debug.xcconfig */, 111 | B4ADAC3BC6E9CFB29872B02A /* Pods-SwiftProject Pre-Production.release.xcconfig */, 112 | 7D1EC9862564DADA82358680 /* Pods-SwiftProject Production.debug.xcconfig */, 113 | 2BBBCE43A12F54E67273EE93 /* Pods-SwiftProject Production.release.xcconfig */, 114 | 2BE71D21090EA91CAB5E3CB5 /* Pods-SwiftProject Staging.debug.xcconfig */, 115 | 053029E8F60283C3009A2B58 /* Pods-SwiftProject Staging.release.xcconfig */, 116 | 7098DD9A0BEBBEC2EC5353CB /* Pods-SwiftProject Tests.debug.xcconfig */, 117 | 9990E5F963EEFC471F2D862B /* Pods-SwiftProject Tests.release.xcconfig */, 118 | ); 119 | name = Pods; 120 | sourceTree = ""; 121 | }; 122 | D258F4D41E4088A70054F570 /* App */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | D258F4D51E4088A70054F570 /* AppCoordinator.swift */, 126 | ); 127 | path = App; 128 | sourceTree = ""; 129 | }; 130 | D258F4D61E4088A70054F570 /* AppDelegate */ = { 131 | isa = PBXGroup; 132 | children = ( 133 | D258F4D71E4088A70054F570 /* AppDelegate.swift */, 134 | ); 135 | path = AppDelegate; 136 | sourceTree = ""; 137 | }; 138 | D258F4D81E4088A70054F570 /* Library */ = { 139 | isa = PBXGroup; 140 | children = ( 141 | ); 142 | path = Library; 143 | sourceTree = ""; 144 | }; 145 | D57091751E23B69300C9347B /* Resources */ = { 146 | isa = PBXGroup; 147 | children = ( 148 | D5B18E9F1E2574AE0027E792 /* Fonts */, 149 | D57091791E23B69300C9347B /* LaunchScreen.storyboard */, 150 | D57091761E23B69300C9347B /* Assets.xcassets */, 151 | D57091771E23B69300C9347B /* Info */, 152 | D5B18EAC1E2575700027E792 /* Localizable.strings */, 153 | ); 154 | name = Resources; 155 | path = SwiftProject/Resources; 156 | sourceTree = SOURCE_ROOT; 157 | }; 158 | D57091771E23B69300C9347B /* Info */ = { 159 | isa = PBXGroup; 160 | children = ( 161 | D57091B41E23BA7D00C9347B /* Info-Production.plist */, 162 | D57091781E23B69300C9347B /* Info-Staging.plist */, 163 | ); 164 | path = Info; 165 | sourceTree = ""; 166 | }; 167 | D570917A1E23B69300C9347B /* Sources */ = { 168 | isa = PBXGroup; 169 | children = ( 170 | D258F4D41E4088A70054F570 /* App */, 171 | D258F4D61E4088A70054F570 /* AppDelegate */, 172 | D258F4D81E4088A70054F570 /* Library */, 173 | D5892C7B1E251D3F00FFCF74 /* Config */, 174 | D5892C941E25215A00FFCF74 /* Constants */, 175 | D5892C9E1E25282400FFCF74 /* Extensions */, 176 | D5B18E951E256FF00027E792 /* Features */, 177 | ); 178 | name = Sources; 179 | path = SwiftProject/Sources; 180 | sourceTree = SOURCE_ROOT; 181 | }; 182 | D5892C721E25169D00FFCF74 /* SwiftProjectTests */ = { 183 | isa = PBXGroup; 184 | children = ( 185 | D5892C731E25169D00FFCF74 /* Resources */, 186 | D5892C761E25169D00FFCF74 /* Sources */, 187 | ); 188 | path = SwiftProjectTests; 189 | sourceTree = ""; 190 | }; 191 | D5892C731E25169D00FFCF74 /* Resources */ = { 192 | isa = PBXGroup; 193 | children = ( 194 | D5892C741E25169D00FFCF74 /* Info */, 195 | ); 196 | path = Resources; 197 | sourceTree = ""; 198 | }; 199 | D5892C741E25169D00FFCF74 /* Info */ = { 200 | isa = PBXGroup; 201 | children = ( 202 | D5892C751E25169D00FFCF74 /* Info-Tests.plist */, 203 | ); 204 | path = Info; 205 | sourceTree = ""; 206 | }; 207 | D5892C761E25169D00FFCF74 /* Sources */ = { 208 | isa = PBXGroup; 209 | children = ( 210 | D5892C771E25169D00FFCF74 /* Tests.swift */, 211 | ); 212 | path = Sources; 213 | sourceTree = ""; 214 | }; 215 | D5892C7B1E251D3F00FFCF74 /* Config */ = { 216 | isa = PBXGroup; 217 | children = ( 218 | D5892C801E251D9000FFCF74 /* Configurable.swift */, 219 | D5892C881E251DDC00FFCF74 /* MalibuConfigurator.swift */, 220 | ); 221 | path = Config; 222 | sourceTree = ""; 223 | }; 224 | D5892C941E25215A00FFCF74 /* Constants */ = { 225 | isa = PBXGroup; 226 | children = ( 227 | D5B18E911E2568C80027E792 /* R.generated.swift */, 228 | ); 229 | path = Constants; 230 | sourceTree = ""; 231 | }; 232 | D5892C9E1E25282400FFCF74 /* Extensions */ = { 233 | isa = PBXGroup; 234 | children = ( 235 | D5892C9F1E25283400FFCF74 /* String+Extensions.swift */, 236 | ); 237 | path = Extensions; 238 | sourceTree = ""; 239 | }; 240 | D5B18E951E256FF00027E792 /* Features */ = { 241 | isa = PBXGroup; 242 | children = ( 243 | D5B18E9A1E25703B0027E792 /* Main */, 244 | ); 245 | path = Features; 246 | sourceTree = ""; 247 | }; 248 | D5B18E9A1E25703B0027E792 /* Main */ = { 249 | isa = PBXGroup; 250 | children = ( 251 | D5B18E9B1E2570440027E792 /* MainController.swift */, 252 | ); 253 | path = Main; 254 | sourceTree = ""; 255 | }; 256 | D5B18E9F1E2574AE0027E792 /* Fonts */ = { 257 | isa = PBXGroup; 258 | children = ( 259 | D5B18EA01E2574AE0027E792 /* .gitkeep */, 260 | ); 261 | path = Fonts; 262 | sourceTree = ""; 263 | }; 264 | D5C7F7371C3BC9CE008CDDBA = { 265 | isa = PBXGroup; 266 | children = ( 267 | D5C7F7421C3BC9CE008CDDBA /* SwiftProject */, 268 | D5892C721E25169D00FFCF74 /* SwiftProjectTests */, 269 | D5C7F7411C3BC9CE008CDDBA /* Products */, 270 | 39BA4D395B97F580C3286020 /* Pods */, 271 | DAC929FF900C10A0846FCC67 /* Frameworks */, 272 | ); 273 | sourceTree = ""; 274 | }; 275 | D5C7F7411C3BC9CE008CDDBA /* Products */ = { 276 | isa = PBXGroup; 277 | children = ( 278 | D5C7F7401C3BC9CE008CDDBA /* SwiftProject Staging.app */, 279 | D57091A31E23B91200C9347B /* SwiftProject Production.app */, 280 | D57091A91E23BA0200C9347B /* SwiftProject Tests.xctest */, 281 | ); 282 | name = Products; 283 | sourceTree = ""; 284 | }; 285 | D5C7F7421C3BC9CE008CDDBA /* SwiftProject */ = { 286 | isa = PBXGroup; 287 | children = ( 288 | D57091751E23B69300C9347B /* Resources */, 289 | D570917A1E23B69300C9347B /* Sources */, 290 | ); 291 | path = SwiftProject; 292 | sourceTree = ""; 293 | }; 294 | DAC929FF900C10A0846FCC67 /* Frameworks */ = { 295 | isa = PBXGroup; 296 | children = ( 297 | 37CDCEA86C1100790A20EF6E /* Pods_SwiftProject_Pre_Production.framework */, 298 | E1BA405F4EE93F94DDCBD561 /* Pods_SwiftProject_Production.framework */, 299 | A4E3F8E310D9652871FAB530 /* Pods_SwiftProject_Staging.framework */, 300 | 8B13CD07E71174688B94C921 /* Pods_SwiftProject_Tests.framework */, 301 | ); 302 | name = Frameworks; 303 | sourceTree = ""; 304 | }; 305 | /* End PBXGroup section */ 306 | 307 | /* Begin PBXNativeTarget section */ 308 | D57091951E23B91200C9347B /* SwiftProject Production */ = { 309 | isa = PBXNativeTarget; 310 | buildConfigurationList = D57091A01E23B91200C9347B /* Build configuration list for PBXNativeTarget "SwiftProject Production" */; 311 | buildPhases = ( 312 | A8BB1A2E30CDEBC34909FA7B /* [CP] Check Pods Manifest.lock */, 313 | D570919E1E23B91200C9347B /* R.swift */, 314 | D57091961E23B91200C9347B /* Sources */, 315 | D57091991E23B91200C9347B /* Frameworks */, 316 | D570919A1E23B91200C9347B /* Resources */, 317 | D570919F1E23B91200C9347B /* SwiftLint */, 318 | 310812B34387DC67E52D3326 /* [CP] Embed Pods Frameworks */, 319 | FD5AF5792C34A814F124961E /* [CP] Copy Pods Resources */, 320 | ); 321 | buildRules = ( 322 | ); 323 | dependencies = ( 324 | ); 325 | name = "SwiftProject Production"; 326 | productName = SwiftProject; 327 | productReference = D57091A31E23B91200C9347B /* SwiftProject Production.app */; 328 | productType = "com.apple.product-type.application"; 329 | }; 330 | D57091A81E23BA0200C9347B /* SwiftProject Tests */ = { 331 | isa = PBXNativeTarget; 332 | buildConfigurationList = D57091B01E23BA0200C9347B /* Build configuration list for PBXNativeTarget "SwiftProject Tests" */; 333 | buildPhases = ( 334 | 79EA88F9F6BFD72B65FF87BD /* [CP] Check Pods Manifest.lock */, 335 | D57091A51E23BA0200C9347B /* Sources */, 336 | D57091A61E23BA0200C9347B /* Frameworks */, 337 | D57091A71E23BA0200C9347B /* Resources */, 338 | E6FC417726C7BE40F4CF3C3E /* [CP] Embed Pods Frameworks */, 339 | 7126D2315C3B1CF568B64A45 /* [CP] Copy Pods Resources */, 340 | ); 341 | buildRules = ( 342 | ); 343 | dependencies = ( 344 | D57091AF1E23BA0200C9347B /* PBXTargetDependency */, 345 | ); 346 | name = "SwiftProject Tests"; 347 | productName = "SwiftProject-Tests"; 348 | productReference = D57091A91E23BA0200C9347B /* SwiftProject Tests.xctest */; 349 | productType = "com.apple.product-type.bundle.unit-test"; 350 | }; 351 | D5C7F73F1C3BC9CE008CDDBA /* SwiftProject Staging */ = { 352 | isa = PBXNativeTarget; 353 | buildConfigurationList = D5C7F7521C3BC9CE008CDDBA /* Build configuration list for PBXNativeTarget "SwiftProject Staging" */; 354 | buildPhases = ( 355 | 7ECC02A6C2ACA83CA84E5F4D /* [CP] Check Pods Manifest.lock */, 356 | D57091831E23B83C00C9347B /* R.swift */, 357 | D5C7F73C1C3BC9CE008CDDBA /* Sources */, 358 | D5C7F73D1C3BC9CE008CDDBA /* Frameworks */, 359 | D5C7F73E1C3BC9CE008CDDBA /* Resources */, 360 | D57091841E23B8E000C9347B /* SwiftLint */, 361 | 30AC2CBEC0061127182413AE /* [CP] Embed Pods Frameworks */, 362 | B34AC4C90232DAC69F26793A /* [CP] Copy Pods Resources */, 363 | ); 364 | buildRules = ( 365 | ); 366 | dependencies = ( 367 | ); 368 | name = "SwiftProject Staging"; 369 | productName = SwiftProject; 370 | productReference = D5C7F7401C3BC9CE008CDDBA /* SwiftProject Staging.app */; 371 | productType = "com.apple.product-type.application"; 372 | }; 373 | /* End PBXNativeTarget section */ 374 | 375 | /* Begin PBXProject section */ 376 | D5C7F7381C3BC9CE008CDDBA /* Project object */ = { 377 | isa = PBXProject; 378 | attributes = { 379 | LastSwiftUpdateCheck = 0820; 380 | LastUpgradeCheck = 0900; 381 | ORGANIZATIONNAME = "Hyper Interaktiv AS"; 382 | TargetAttributes = { 383 | D57091951E23B91200C9347B = { 384 | ProvisioningStyle = Manual; 385 | }; 386 | D57091A81E23BA0200C9347B = { 387 | CreatedOnToolsVersion = 8.2.1; 388 | ProvisioningStyle = Manual; 389 | TestTargetID = D5C7F73F1C3BC9CE008CDDBA; 390 | }; 391 | D5C7F73F1C3BC9CE008CDDBA = { 392 | CreatedOnToolsVersion = 7.2; 393 | LastSwiftMigration = 0800; 394 | ProvisioningStyle = Manual; 395 | }; 396 | }; 397 | }; 398 | buildConfigurationList = D5C7F73B1C3BC9CE008CDDBA /* Build configuration list for PBXProject "SwiftProject" */; 399 | compatibilityVersion = "Xcode 3.2"; 400 | developmentRegion = English; 401 | hasScannedForEncodings = 0; 402 | knownRegions = ( 403 | Base, 404 | nb, 405 | ); 406 | mainGroup = D5C7F7371C3BC9CE008CDDBA; 407 | productRefGroup = D5C7F7411C3BC9CE008CDDBA /* Products */; 408 | projectDirPath = ""; 409 | projectRoot = ""; 410 | targets = ( 411 | D5C7F73F1C3BC9CE008CDDBA /* SwiftProject Staging */, 412 | D57091951E23B91200C9347B /* SwiftProject Production */, 413 | D57091A81E23BA0200C9347B /* SwiftProject Tests */, 414 | ); 415 | }; 416 | /* End PBXProject section */ 417 | 418 | /* Begin PBXResourcesBuildPhase section */ 419 | D570919A1E23B91200C9347B /* Resources */ = { 420 | isa = PBXResourcesBuildPhase; 421 | buildActionMask = 2147483647; 422 | files = ( 423 | D570919B1E23B91200C9347B /* LaunchScreen.storyboard in Resources */, 424 | D5B18EAA1E2575700027E792 /* Localizable.strings in Resources */, 425 | D570919C1E23B91200C9347B /* Assets.xcassets in Resources */, 426 | ); 427 | runOnlyForDeploymentPostprocessing = 0; 428 | }; 429 | D57091A71E23BA0200C9347B /* Resources */ = { 430 | isa = PBXResourcesBuildPhase; 431 | buildActionMask = 2147483647; 432 | files = ( 433 | ); 434 | runOnlyForDeploymentPostprocessing = 0; 435 | }; 436 | D5C7F73E1C3BC9CE008CDDBA /* Resources */ = { 437 | isa = PBXResourcesBuildPhase; 438 | buildActionMask = 2147483647; 439 | files = ( 440 | D570917F1E23B69300C9347B /* LaunchScreen.storyboard in Resources */, 441 | D5B18EA81E2575700027E792 /* Localizable.strings in Resources */, 442 | D570917D1E23B69300C9347B /* Assets.xcassets in Resources */, 443 | ); 444 | runOnlyForDeploymentPostprocessing = 0; 445 | }; 446 | /* End PBXResourcesBuildPhase section */ 447 | 448 | /* Begin PBXShellScriptBuildPhase section */ 449 | 30AC2CBEC0061127182413AE /* [CP] Embed Pods Frameworks */ = { 450 | isa = PBXShellScriptBuildPhase; 451 | buildActionMask = 2147483647; 452 | files = ( 453 | ); 454 | inputPaths = ( 455 | "${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Staging/Pods-SwiftProject Staging-frameworks.sh", 456 | "${BUILT_PRODUCTS_DIR}/Cache/Cache.framework", 457 | "${BUILT_PRODUCTS_DIR}/Hue/Hue.framework", 458 | "${BUILT_PRODUCTS_DIR}/Imaginary/Imaginary.framework", 459 | "${BUILT_PRODUCTS_DIR}/Malibu/Malibu.framework", 460 | "${BUILT_PRODUCTS_DIR}/R.swift.Library/Rswift.framework", 461 | "${BUILT_PRODUCTS_DIR}/When/When.framework", 462 | ); 463 | name = "[CP] Embed Pods Frameworks"; 464 | outputPaths = ( 465 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cache.framework", 466 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Hue.framework", 467 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Imaginary.framework", 468 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Malibu.framework", 469 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Rswift.framework", 470 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/When.framework", 471 | ); 472 | runOnlyForDeploymentPostprocessing = 0; 473 | shellPath = /bin/sh; 474 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Staging/Pods-SwiftProject Staging-frameworks.sh\"\n"; 475 | showEnvVarsInLog = 0; 476 | }; 477 | 310812B34387DC67E52D3326 /* [CP] Embed Pods Frameworks */ = { 478 | isa = PBXShellScriptBuildPhase; 479 | buildActionMask = 2147483647; 480 | files = ( 481 | ); 482 | inputPaths = ( 483 | "${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Production/Pods-SwiftProject Production-frameworks.sh", 484 | "${BUILT_PRODUCTS_DIR}/Cache/Cache.framework", 485 | "${BUILT_PRODUCTS_DIR}/Hue/Hue.framework", 486 | "${BUILT_PRODUCTS_DIR}/Imaginary/Imaginary.framework", 487 | "${BUILT_PRODUCTS_DIR}/Malibu/Malibu.framework", 488 | "${BUILT_PRODUCTS_DIR}/R.swift.Library/Rswift.framework", 489 | "${BUILT_PRODUCTS_DIR}/When/When.framework", 490 | ); 491 | name = "[CP] Embed Pods Frameworks"; 492 | outputPaths = ( 493 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cache.framework", 494 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Hue.framework", 495 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Imaginary.framework", 496 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Malibu.framework", 497 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Rswift.framework", 498 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/When.framework", 499 | ); 500 | runOnlyForDeploymentPostprocessing = 0; 501 | shellPath = /bin/sh; 502 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Production/Pods-SwiftProject Production-frameworks.sh\"\n"; 503 | showEnvVarsInLog = 0; 504 | }; 505 | 7126D2315C3B1CF568B64A45 /* [CP] Copy Pods Resources */ = { 506 | isa = PBXShellScriptBuildPhase; 507 | buildActionMask = 2147483647; 508 | files = ( 509 | ); 510 | inputPaths = ( 511 | ); 512 | name = "[CP] Copy Pods Resources"; 513 | outputPaths = ( 514 | ); 515 | runOnlyForDeploymentPostprocessing = 0; 516 | shellPath = /bin/sh; 517 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Tests/Pods-SwiftProject Tests-resources.sh\"\n"; 518 | showEnvVarsInLog = 0; 519 | }; 520 | 79EA88F9F6BFD72B65FF87BD /* [CP] Check Pods Manifest.lock */ = { 521 | isa = PBXShellScriptBuildPhase; 522 | buildActionMask = 2147483647; 523 | files = ( 524 | ); 525 | inputPaths = ( 526 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 527 | "${PODS_ROOT}/Manifest.lock", 528 | ); 529 | name = "[CP] Check Pods Manifest.lock"; 530 | outputPaths = ( 531 | "$(DERIVED_FILE_DIR)/Pods-SwiftProject Tests-checkManifestLockResult.txt", 532 | ); 533 | runOnlyForDeploymentPostprocessing = 0; 534 | shellPath = /bin/sh; 535 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 536 | showEnvVarsInLog = 0; 537 | }; 538 | 7ECC02A6C2ACA83CA84E5F4D /* [CP] Check Pods Manifest.lock */ = { 539 | isa = PBXShellScriptBuildPhase; 540 | buildActionMask = 2147483647; 541 | files = ( 542 | ); 543 | inputPaths = ( 544 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 545 | "${PODS_ROOT}/Manifest.lock", 546 | ); 547 | name = "[CP] Check Pods Manifest.lock"; 548 | outputPaths = ( 549 | "$(DERIVED_FILE_DIR)/Pods-SwiftProject Staging-checkManifestLockResult.txt", 550 | ); 551 | runOnlyForDeploymentPostprocessing = 0; 552 | shellPath = /bin/sh; 553 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 554 | showEnvVarsInLog = 0; 555 | }; 556 | A8BB1A2E30CDEBC34909FA7B /* [CP] Check Pods Manifest.lock */ = { 557 | isa = PBXShellScriptBuildPhase; 558 | buildActionMask = 2147483647; 559 | files = ( 560 | ); 561 | inputPaths = ( 562 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 563 | "${PODS_ROOT}/Manifest.lock", 564 | ); 565 | name = "[CP] Check Pods Manifest.lock"; 566 | outputPaths = ( 567 | "$(DERIVED_FILE_DIR)/Pods-SwiftProject Production-checkManifestLockResult.txt", 568 | ); 569 | runOnlyForDeploymentPostprocessing = 0; 570 | shellPath = /bin/sh; 571 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 572 | showEnvVarsInLog = 0; 573 | }; 574 | B34AC4C90232DAC69F26793A /* [CP] Copy Pods Resources */ = { 575 | isa = PBXShellScriptBuildPhase; 576 | buildActionMask = 2147483647; 577 | files = ( 578 | ); 579 | inputPaths = ( 580 | ); 581 | name = "[CP] Copy Pods Resources"; 582 | outputPaths = ( 583 | ); 584 | runOnlyForDeploymentPostprocessing = 0; 585 | shellPath = /bin/sh; 586 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Staging/Pods-SwiftProject Staging-resources.sh\"\n"; 587 | showEnvVarsInLog = 0; 588 | }; 589 | D57091831E23B83C00C9347B /* R.swift */ = { 590 | isa = PBXShellScriptBuildPhase; 591 | buildActionMask = 2147483647; 592 | files = ( 593 | ); 594 | inputPaths = ( 595 | ); 596 | name = R.swift; 597 | outputPaths = ( 598 | ); 599 | runOnlyForDeploymentPostprocessing = 0; 600 | shellPath = /bin/sh; 601 | shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/SwiftProject/Sources/Constants\""; 602 | }; 603 | D57091841E23B8E000C9347B /* SwiftLint */ = { 604 | isa = PBXShellScriptBuildPhase; 605 | buildActionMask = 2147483647; 606 | files = ( 607 | ); 608 | inputPaths = ( 609 | ); 610 | name = SwiftLint; 611 | outputPaths = ( 612 | ); 613 | runOnlyForDeploymentPostprocessing = 0; 614 | shellPath = /bin/sh; 615 | shellScript = "${PODS_ROOT}/SwiftLint/swiftlint"; 616 | }; 617 | D570919E1E23B91200C9347B /* R.swift */ = { 618 | isa = PBXShellScriptBuildPhase; 619 | buildActionMask = 2147483647; 620 | files = ( 621 | ); 622 | inputPaths = ( 623 | ); 624 | name = R.swift; 625 | outputPaths = ( 626 | ); 627 | runOnlyForDeploymentPostprocessing = 0; 628 | shellPath = /bin/sh; 629 | shellScript = "\"$PODS_ROOT/R.swift/rswift\" generate \"$SRCROOT/SwiftProject/Sources/Constants\""; 630 | }; 631 | D570919F1E23B91200C9347B /* SwiftLint */ = { 632 | isa = PBXShellScriptBuildPhase; 633 | buildActionMask = 2147483647; 634 | files = ( 635 | ); 636 | inputPaths = ( 637 | ); 638 | name = SwiftLint; 639 | outputPaths = ( 640 | ); 641 | runOnlyForDeploymentPostprocessing = 0; 642 | shellPath = /bin/sh; 643 | shellScript = "${PODS_ROOT}/SwiftLint/swiftlint"; 644 | }; 645 | E6FC417726C7BE40F4CF3C3E /* [CP] Embed Pods Frameworks */ = { 646 | isa = PBXShellScriptBuildPhase; 647 | buildActionMask = 2147483647; 648 | files = ( 649 | ); 650 | inputPaths = ( 651 | ); 652 | name = "[CP] Embed Pods Frameworks"; 653 | outputPaths = ( 654 | ); 655 | runOnlyForDeploymentPostprocessing = 0; 656 | shellPath = /bin/sh; 657 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Tests/Pods-SwiftProject Tests-frameworks.sh\"\n"; 658 | showEnvVarsInLog = 0; 659 | }; 660 | FD5AF5792C34A814F124961E /* [CP] Copy Pods Resources */ = { 661 | isa = PBXShellScriptBuildPhase; 662 | buildActionMask = 2147483647; 663 | files = ( 664 | ); 665 | inputPaths = ( 666 | ); 667 | name = "[CP] Copy Pods Resources"; 668 | outputPaths = ( 669 | ); 670 | runOnlyForDeploymentPostprocessing = 0; 671 | shellPath = /bin/sh; 672 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftProject Production/Pods-SwiftProject Production-resources.sh\"\n"; 673 | showEnvVarsInLog = 0; 674 | }; 675 | /* End PBXShellScriptBuildPhase section */ 676 | 677 | /* Begin PBXSourcesBuildPhase section */ 678 | D57091961E23B91200C9347B /* Sources */ = { 679 | isa = PBXSourcesBuildPhase; 680 | buildActionMask = 2147483647; 681 | files = ( 682 | D5892CA21E25283400FFCF74 /* String+Extensions.swift in Sources */, 683 | D258F4DF1E4088A70054F570 /* AppDelegate.swift in Sources */, 684 | D5892C8B1E251DDC00FFCF74 /* MalibuConfigurator.swift in Sources */, 685 | D258F4DC1E4088A70054F570 /* AppCoordinator.swift in Sources */, 686 | D5B18E9E1E2570440027E792 /* MainController.swift in Sources */, 687 | D5892C831E251D9000FFCF74 /* Configurable.swift in Sources */, 688 | D5B18E941E2568C80027E792 /* R.generated.swift in Sources */, 689 | ); 690 | runOnlyForDeploymentPostprocessing = 0; 691 | }; 692 | D57091A51E23BA0200C9347B /* Sources */ = { 693 | isa = PBXSourcesBuildPhase; 694 | buildActionMask = 2147483647; 695 | files = ( 696 | D5892C7A1E2516AB00FFCF74 /* Tests.swift in Sources */, 697 | ); 698 | runOnlyForDeploymentPostprocessing = 0; 699 | }; 700 | D5C7F73C1C3BC9CE008CDDBA /* Sources */ = { 701 | isa = PBXSourcesBuildPhase; 702 | buildActionMask = 2147483647; 703 | files = ( 704 | D5892CA01E25283400FFCF74 /* String+Extensions.swift in Sources */, 705 | D258F4DD1E4088A70054F570 /* AppDelegate.swift in Sources */, 706 | D5892C891E251DDC00FFCF74 /* MalibuConfigurator.swift in Sources */, 707 | D258F4DA1E4088A70054F570 /* AppCoordinator.swift in Sources */, 708 | D5B18E9C1E2570440027E792 /* MainController.swift in Sources */, 709 | D5892C811E251D9000FFCF74 /* Configurable.swift in Sources */, 710 | D5B18E921E2568C80027E792 /* R.generated.swift in Sources */, 711 | ); 712 | runOnlyForDeploymentPostprocessing = 0; 713 | }; 714 | /* End PBXSourcesBuildPhase section */ 715 | 716 | /* Begin PBXTargetDependency section */ 717 | D57091AF1E23BA0200C9347B /* PBXTargetDependency */ = { 718 | isa = PBXTargetDependency; 719 | target = D5C7F73F1C3BC9CE008CDDBA /* SwiftProject Staging */; 720 | targetProxy = D57091AE1E23BA0200C9347B /* PBXContainerItemProxy */; 721 | }; 722 | /* End PBXTargetDependency section */ 723 | 724 | /* Begin PBXVariantGroup section */ 725 | D5B18EAC1E2575700027E792 /* Localizable.strings */ = { 726 | isa = PBXVariantGroup; 727 | children = ( 728 | D5B18EAD1E2575840027E792 /* nb */, 729 | ); 730 | name = Localizable.strings; 731 | sourceTree = ""; 732 | }; 733 | /* End PBXVariantGroup section */ 734 | 735 | /* Begin XCBuildConfiguration section */ 736 | D57091A11E23B91200C9347B /* Debug */ = { 737 | isa = XCBuildConfiguration; 738 | baseConfigurationReference = 7D1EC9862564DADA82358680 /* Pods-SwiftProject Production.debug.xcconfig */; 739 | buildSettings = { 740 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 741 | ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Production"; 742 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 743 | DEVELOPMENT_TEAM = ""; 744 | HEADERMAP_USES_VFS = YES; 745 | INFOPLIST_FILE = "SwiftProject/Resources/Info/Info-Production.plist"; 746 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 747 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 748 | PRODUCT_BUNDLE_IDENTIFIER = BundleDomain.SwiftProject; 749 | PRODUCT_NAME = "$(TARGET_NAME)"; 750 | }; 751 | name = Debug; 752 | }; 753 | D57091A21E23B91200C9347B /* Release */ = { 754 | isa = XCBuildConfiguration; 755 | baseConfigurationReference = 2BBBCE43A12F54E67273EE93 /* Pods-SwiftProject Production.release.xcconfig */; 756 | buildSettings = { 757 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 758 | ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Production"; 759 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 760 | DEVELOPMENT_TEAM = ""; 761 | HEADERMAP_USES_VFS = YES; 762 | INFOPLIST_FILE = "SwiftProject/Resources/Info/Info-Production.plist"; 763 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 764 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 765 | PRODUCT_BUNDLE_IDENTIFIER = BundleDomain.SwiftProject; 766 | PRODUCT_NAME = "$(TARGET_NAME)"; 767 | }; 768 | name = Release; 769 | }; 770 | D57091B11E23BA0200C9347B /* Debug */ = { 771 | isa = XCBuildConfiguration; 772 | baseConfigurationReference = 7098DD9A0BEBBEC2EC5353CB /* Pods-SwiftProject Tests.debug.xcconfig */; 773 | buildSettings = { 774 | BUNDLE_LOADER = "$(TEST_HOST)"; 775 | CLANG_ANALYZER_NONNULL = YES; 776 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 777 | CLANG_WARN_INFINITE_RECURSION = YES; 778 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 779 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 780 | DEVELOPMENT_TEAM = ""; 781 | INFOPLIST_FILE = "$(SRCROOT)/SwiftProjectTests/Resources/Info/Info-Tests.plist"; 782 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 783 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 784 | PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.SwiftProject-Tests"; 785 | PRODUCT_NAME = "$(TARGET_NAME)"; 786 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 787 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftProject Staging.app/SwiftProject Staging"; 788 | }; 789 | name = Debug; 790 | }; 791 | D57091B21E23BA0200C9347B /* Release */ = { 792 | isa = XCBuildConfiguration; 793 | baseConfigurationReference = 9990E5F963EEFC471F2D862B /* Pods-SwiftProject Tests.release.xcconfig */; 794 | buildSettings = { 795 | BUNDLE_LOADER = "$(TEST_HOST)"; 796 | CLANG_ANALYZER_NONNULL = YES; 797 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 798 | CLANG_WARN_INFINITE_RECURSION = YES; 799 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 800 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 801 | DEVELOPMENT_TEAM = ""; 802 | INFOPLIST_FILE = "$(SRCROOT)/SwiftProjectTests/Resources/Info/Info-Tests.plist"; 803 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 804 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 805 | PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.SwiftProject-Tests"; 806 | PRODUCT_NAME = "$(TARGET_NAME)"; 807 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 808 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftProject Staging.app/SwiftProject Staging"; 809 | }; 810 | name = Release; 811 | }; 812 | D5C7F7501C3BC9CE008CDDBA /* Debug */ = { 813 | isa = XCBuildConfiguration; 814 | buildSettings = { 815 | ALWAYS_SEARCH_USER_PATHS = NO; 816 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 817 | CLANG_CXX_LIBRARY = "libc++"; 818 | CLANG_ENABLE_MODULES = YES; 819 | CLANG_ENABLE_OBJC_ARC = YES; 820 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 821 | CLANG_WARN_BOOL_CONVERSION = YES; 822 | CLANG_WARN_COMMA = YES; 823 | CLANG_WARN_CONSTANT_CONVERSION = YES; 824 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 825 | CLANG_WARN_EMPTY_BODY = YES; 826 | CLANG_WARN_ENUM_CONVERSION = YES; 827 | CLANG_WARN_INFINITE_RECURSION = YES; 828 | CLANG_WARN_INT_CONVERSION = YES; 829 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 830 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 831 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 832 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 833 | CLANG_WARN_STRICT_PROTOTYPES = YES; 834 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 835 | CLANG_WARN_UNREACHABLE_CODE = YES; 836 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 837 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 838 | COPY_PHASE_STRIP = NO; 839 | DEBUG_INFORMATION_FORMAT = dwarf; 840 | ENABLE_STRICT_OBJC_MSGSEND = YES; 841 | ENABLE_TESTABILITY = YES; 842 | GCC_C_LANGUAGE_STANDARD = gnu99; 843 | GCC_DYNAMIC_NO_PIC = NO; 844 | GCC_NO_COMMON_BLOCKS = YES; 845 | GCC_OPTIMIZATION_LEVEL = 0; 846 | GCC_PREPROCESSOR_DEFINITIONS = ( 847 | "DEBUG=1", 848 | "$(inherited)", 849 | ); 850 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 851 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 852 | GCC_WARN_UNDECLARED_SELECTOR = YES; 853 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 854 | GCC_WARN_UNUSED_FUNCTION = YES; 855 | GCC_WARN_UNUSED_VARIABLE = YES; 856 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 857 | MTL_ENABLE_DEBUG_INFO = YES; 858 | ONLY_ACTIVE_ARCH = YES; 859 | SDKROOT = iphoneos; 860 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 861 | SWIFT_VERSION = 4.0; 862 | }; 863 | name = Debug; 864 | }; 865 | D5C7F7511C3BC9CE008CDDBA /* Release */ = { 866 | isa = XCBuildConfiguration; 867 | buildSettings = { 868 | ALWAYS_SEARCH_USER_PATHS = NO; 869 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 870 | CLANG_CXX_LIBRARY = "libc++"; 871 | CLANG_ENABLE_MODULES = YES; 872 | CLANG_ENABLE_OBJC_ARC = YES; 873 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 874 | CLANG_WARN_BOOL_CONVERSION = YES; 875 | CLANG_WARN_COMMA = YES; 876 | CLANG_WARN_CONSTANT_CONVERSION = YES; 877 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 878 | CLANG_WARN_EMPTY_BODY = YES; 879 | CLANG_WARN_ENUM_CONVERSION = YES; 880 | CLANG_WARN_INFINITE_RECURSION = YES; 881 | CLANG_WARN_INT_CONVERSION = YES; 882 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 883 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 884 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 885 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 886 | CLANG_WARN_STRICT_PROTOTYPES = YES; 887 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 888 | CLANG_WARN_UNREACHABLE_CODE = YES; 889 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 890 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 891 | COPY_PHASE_STRIP = NO; 892 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 893 | ENABLE_NS_ASSERTIONS = NO; 894 | ENABLE_STRICT_OBJC_MSGSEND = YES; 895 | GCC_C_LANGUAGE_STANDARD = gnu99; 896 | GCC_NO_COMMON_BLOCKS = YES; 897 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 898 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 899 | GCC_WARN_UNDECLARED_SELECTOR = YES; 900 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 901 | GCC_WARN_UNUSED_FUNCTION = YES; 902 | GCC_WARN_UNUSED_VARIABLE = YES; 903 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 904 | MTL_ENABLE_DEBUG_INFO = NO; 905 | SDKROOT = iphoneos; 906 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 907 | SWIFT_VERSION = 4.0; 908 | VALIDATE_PRODUCT = YES; 909 | }; 910 | name = Release; 911 | }; 912 | D5C7F7531C3BC9CE008CDDBA /* Debug */ = { 913 | isa = XCBuildConfiguration; 914 | baseConfigurationReference = 2BE71D21090EA91CAB5E3CB5 /* Pods-SwiftProject Staging.debug.xcconfig */; 915 | buildSettings = { 916 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 917 | ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Staging"; 918 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 919 | DEVELOPMENT_TEAM = ""; 920 | HEADERMAP_USES_VFS = YES; 921 | INFOPLIST_FILE = "SwiftProject/Resources/Info/Info-Staging.plist"; 922 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 923 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 924 | OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -Xfrontend -warn-long-function-bodies=500 -DDEBUG"; 925 | PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.SwiftProject-Staging"; 926 | PRODUCT_NAME = "$(TARGET_NAME)"; 927 | }; 928 | name = Debug; 929 | }; 930 | D5C7F7541C3BC9CE008CDDBA /* Release */ = { 931 | isa = XCBuildConfiguration; 932 | baseConfigurationReference = 053029E8F60283C3009A2B58 /* Pods-SwiftProject Staging.release.xcconfig */; 933 | buildSettings = { 934 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 935 | ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Staging"; 936 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 937 | DEVELOPMENT_TEAM = ""; 938 | HEADERMAP_USES_VFS = YES; 939 | INFOPLIST_FILE = "SwiftProject/Resources/Info/Info-Staging.plist"; 940 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 941 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 942 | OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" -Xfrontend -warn-long-function-bodies=500 -DDEBUG"; 943 | PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.SwiftProject-Staging"; 944 | PRODUCT_NAME = "$(TARGET_NAME)"; 945 | }; 946 | name = Release; 947 | }; 948 | /* End XCBuildConfiguration section */ 949 | 950 | /* Begin XCConfigurationList section */ 951 | D57091A01E23B91200C9347B /* Build configuration list for PBXNativeTarget "SwiftProject Production" */ = { 952 | isa = XCConfigurationList; 953 | buildConfigurations = ( 954 | D57091A11E23B91200C9347B /* Debug */, 955 | D57091A21E23B91200C9347B /* Release */, 956 | ); 957 | defaultConfigurationIsVisible = 0; 958 | defaultConfigurationName = Release; 959 | }; 960 | D57091B01E23BA0200C9347B /* Build configuration list for PBXNativeTarget "SwiftProject Tests" */ = { 961 | isa = XCConfigurationList; 962 | buildConfigurations = ( 963 | D57091B11E23BA0200C9347B /* Debug */, 964 | D57091B21E23BA0200C9347B /* Release */, 965 | ); 966 | defaultConfigurationIsVisible = 0; 967 | defaultConfigurationName = Release; 968 | }; 969 | D5C7F73B1C3BC9CE008CDDBA /* Build configuration list for PBXProject "SwiftProject" */ = { 970 | isa = XCConfigurationList; 971 | buildConfigurations = ( 972 | D5C7F7501C3BC9CE008CDDBA /* Debug */, 973 | D5C7F7511C3BC9CE008CDDBA /* Release */, 974 | ); 975 | defaultConfigurationIsVisible = 0; 976 | defaultConfigurationName = Release; 977 | }; 978 | D5C7F7521C3BC9CE008CDDBA /* Build configuration list for PBXNativeTarget "SwiftProject Staging" */ = { 979 | isa = XCConfigurationList; 980 | buildConfigurations = ( 981 | D5C7F7531C3BC9CE008CDDBA /* Debug */, 982 | D5C7F7541C3BC9CE008CDDBA /* Release */, 983 | ); 984 | defaultConfigurationIsVisible = 0; 985 | defaultConfigurationName = Release; 986 | }; 987 | /* End XCConfigurationList section */ 988 | }; 989 | rootObject = D5C7F7381C3BC9CE008CDDBA /* Project object */; 990 | } 991 | -------------------------------------------------------------------------------- /SwiftProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Production.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 56 | 58 | 64 | 65 | 66 | 67 | 71 | 72 | 73 | 74 | 75 | 76 | 82 | 84 | 90 | 91 | 92 | 93 | 95 | 96 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Staging.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 | 66 | 68 | 74 | 75 | 76 | 77 | 81 | 82 | 83 | 84 | 85 | 86 | 92 | 94 | 100 | 101 | 102 | 103 | 105 | 106 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Tests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 16 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 41 | 42 | 43 | 44 | 50 | 51 | 53 | 54 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /SwiftProject.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SwiftProject/Resources/Assets.xcassets/AppIcon-Production.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /SwiftProject/Resources/Assets.xcassets/AppIcon-Staging.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /SwiftProject/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SwiftProject/Resources/Fonts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyperoslo/SwiftProject/42a6644f890ed5772d8f603d84ae4f8d05521cf4/SwiftProject/Resources/Fonts/.gitkeep -------------------------------------------------------------------------------- /SwiftProject/Resources/Info/Info-Production.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | SwiftProject 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 0.1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleURLTypes 24 | 25 | 26 | CFBundleTypeRole 27 | Editor 28 | CFBundleURLName 29 | BundleDomain.SwiftProject 30 | CFBundleURLSchemes 31 | 32 | compassurnscheme 33 | 34 | 35 | 36 | CFBundleVersion 37 | 1 38 | LSRequiresIPhoneOS 39 | 40 | NSAppTransportSecurity 41 | 42 | NSAllowsArbitraryLoads 43 | 44 | 45 | UILaunchStoryboardName 46 | LaunchScreen 47 | UIRequiredDeviceCapabilities 48 | 49 | armv7 50 | 51 | UISupportedInterfaceOrientations 52 | 53 | UIInterfaceOrientationPortrait 54 | 55 | UIViewControllerBasedStatusBarAppearance 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /SwiftProject/Resources/Info/Info-Staging.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | SwiftProject 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 0.1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleURLTypes 24 | 25 | 26 | CFBundleTypeRole 27 | Editor 28 | CFBundleURLName 29 | BundleDomain.SwiftProject-Staging 30 | CFBundleURLSchemes 31 | 32 | compassurnscheme-staging 33 | 34 | 35 | 36 | CFBundleVersion 37 | 1 38 | LSRequiresIPhoneOS 39 | 40 | NSAppTransportSecurity 41 | 42 | NSAllowsArbitraryLoads 43 | 44 | 45 | UILaunchStoryboardName 46 | LaunchScreen 47 | UIRequiredDeviceCapabilities 48 | 49 | armv7 50 | 51 | UISupportedInterfaceOrientations 52 | 53 | UIInterfaceOrientationPortrait 54 | 55 | UIViewControllerBasedStatusBarAppearance 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /SwiftProject/Resources/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 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /SwiftProject/Resources/nb.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "app.name" = "SwiftProject"; 2 | -------------------------------------------------------------------------------- /SwiftProject/Sources/App/AppCoordinator.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | final class AppCoordinator { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /SwiftProject/Sources/AppDelegate/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | @UIApplicationMain 4 | class AppDelegate: UIResponder, UIApplicationDelegate { 5 | 6 | var window: UIWindow? 7 | var mainController: MainController? 8 | 9 | var configurators: [Configurable] = [ 10 | MalibuConfigurator() 11 | ] 12 | 13 | // MARK: - Initialization 14 | 15 | override init() { 16 | super.init() 17 | } 18 | 19 | // MARK: - App lifecycle 20 | 21 | func application(_ application: UIApplication, 22 | didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 23 | configurators.forEach { 24 | $0.configure() 25 | } 26 | 27 | mainController = MainController() 28 | 29 | window = UIWindow(frame: UIScreen.main.bounds) 30 | window?.rootViewController = mainController 31 | window?.makeKeyAndVisible() 32 | 33 | return true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Config/Configurable.swift: -------------------------------------------------------------------------------- 1 | public protocol Configurable { 2 | func configure() 3 | } 4 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Config/MalibuConfigurator.swift: -------------------------------------------------------------------------------- 1 | import Malibu 2 | 3 | public struct MalibuConfigurator: Configurable { 4 | public func configure() { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Constants/R.generated.swift: -------------------------------------------------------------------------------- 1 | // 2 | // This is a generated file, do not edit! 3 | // Generated by R.swift, see https://github.com/mac-cain13/R.swift 4 | // 5 | 6 | import Foundation 7 | import Rswift 8 | import UIKit 9 | 10 | /// This `R` struct is generated and contains references to static resources. 11 | struct R: Rswift.Validatable { 12 | fileprivate static let applicationLocale = hostingBundle.preferredLocalizations.first.flatMap(Locale.init) ?? Locale.current 13 | fileprivate static let hostingBundle = Bundle(for: R.Class.self) 14 | 15 | static func validate() throws { 16 | try intern.validate() 17 | } 18 | 19 | /// This `R.color` struct is generated, and contains static references to 0 colors. 20 | struct color { 21 | fileprivate init() {} 22 | } 23 | 24 | /// This `R.file` struct is generated, and contains static references to 0 files. 25 | struct file { 26 | fileprivate init() {} 27 | } 28 | 29 | /// This `R.font` struct is generated, and contains static references to 0 fonts. 30 | struct font { 31 | fileprivate init() {} 32 | } 33 | 34 | /// This `R.image` struct is generated, and contains static references to 0 images. 35 | struct image { 36 | fileprivate init() {} 37 | } 38 | 39 | /// This `R.nib` struct is generated, and contains static references to 0 nibs. 40 | struct nib { 41 | fileprivate init() {} 42 | } 43 | 44 | /// This `R.reuseIdentifier` struct is generated, and contains static references to 0 reuse identifiers. 45 | struct reuseIdentifier { 46 | fileprivate init() {} 47 | } 48 | 49 | /// This `R.segue` struct is generated, and contains static references to 0 view controllers. 50 | struct segue { 51 | fileprivate init() {} 52 | } 53 | 54 | /// This `R.storyboard` struct is generated, and contains static references to 1 storyboards. 55 | struct storyboard { 56 | /// Storyboard `LaunchScreen`. 57 | static let launchScreen = _R.storyboard.launchScreen() 58 | 59 | /// `UIStoryboard(name: "LaunchScreen", bundle: ...)` 60 | static func launchScreen(_: Void = ()) -> UIKit.UIStoryboard { 61 | return UIKit.UIStoryboard(resource: R.storyboard.launchScreen) 62 | } 63 | 64 | fileprivate init() {} 65 | } 66 | 67 | /// This `R.string` struct is generated, and contains static references to 1 localization tables. 68 | struct string { 69 | /// This `R.string.localizable` struct is generated, and contains static references to 1 localization keys. 70 | struct localizable { 71 | /// nb translation: SwiftProject 72 | /// 73 | /// Locales: nb 74 | static let appName = Rswift.StringResource(key: "app.name", tableName: "Localizable", bundle: R.hostingBundle, locales: ["nb"], comment: nil) 75 | 76 | /// nb translation: SwiftProject 77 | /// 78 | /// Locales: nb 79 | static func appName(_: Void = ()) -> String { 80 | return NSLocalizedString("app.name", bundle: R.hostingBundle, comment: "") 81 | } 82 | 83 | fileprivate init() {} 84 | } 85 | 86 | fileprivate init() {} 87 | } 88 | 89 | fileprivate struct intern: Rswift.Validatable { 90 | fileprivate static func validate() throws { 91 | // There are no resources to validate 92 | } 93 | 94 | fileprivate init() {} 95 | } 96 | 97 | fileprivate class Class {} 98 | 99 | fileprivate init() {} 100 | } 101 | 102 | struct _R { 103 | struct nib { 104 | fileprivate init() {} 105 | } 106 | 107 | struct storyboard { 108 | struct launchScreen: Rswift.StoryboardResourceWithInitialControllerType { 109 | typealias InitialController = UIKit.UIViewController 110 | 111 | let bundle = R.hostingBundle 112 | let name = "LaunchScreen" 113 | 114 | fileprivate init() {} 115 | } 116 | 117 | fileprivate init() {} 118 | } 119 | 120 | fileprivate init() {} 121 | } 122 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Extensions/String+Extensions.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | extension String { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Features/Main/MainController.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | class MainController: UIViewController { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /SwiftProject/Sources/Library/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyperoslo/SwiftProject/42a6644f890ed5772d8f603d84ae4f8d05521cf4/SwiftProject/Sources/Library/.gitkeep -------------------------------------------------------------------------------- /SwiftProjectTests/Resources/Info/Info-Tests.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 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /SwiftProjectTests/Sources/Tests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | 3 | class SwiftProject_Tests: XCTestCase { 4 | 5 | override func setUp() { 6 | super.setUp() 7 | // Put setup code here. This method is called before the invocation of each test method in the class. 8 | } 9 | 10 | override func tearDown() { 11 | // Put teardown code here. This method is called after the invocation of each test method in the class. 12 | super.tearDown() 13 | } 14 | 15 | func testExample() { 16 | // This is an example of a functional test case. 17 | // Use XCTAssert and related functions to verify your tests produce the correct results. 18 | } 19 | 20 | func testPerformanceExample() { 21 | // This is an example of a performance test case. 22 | self.measure { 23 | // Put the code you want to measure the time of here. 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /init.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'fileutils' 4 | 5 | def prompt(message) 6 | print "#{message} > " 7 | input = gets.chomp 8 | input.strip.empty? ? prompt(message) : input 9 | end 10 | 11 | folder_path = __dir__ 12 | 13 | # Input 14 | repo_name = prompt('GitHub repository name') 15 | bundle_domain = prompt('Client bundle domain') 16 | project_name = prompt('Project name') 17 | 18 | # Configs 19 | file_names = Dir["#{folder_path}/**/*.*"] 20 | file_names.push(".swiftlint.yml") 21 | file_names.push("Podfile") 22 | 23 | # Project 24 | file_names.push("SwiftProject.xcodeproj/project.pbxproj") 25 | file_names.push("SwiftProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata") 26 | file_names.push("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Staging.xcscheme") 27 | file_names.push("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Production.xcscheme") 28 | file_names.push("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Tests.xcscheme") 29 | 30 | # Search and replace 31 | file_names.each do |file_name| 32 | ignored_file_types = [ 33 | '.xccheckout', 34 | '.xcodeproj', 35 | '.xcworkspace', 36 | '.xcuserdatad', 37 | '.xcuserstate', 38 | '.xcassets', 39 | '.appiconset', 40 | '.png', 41 | '.lproj', 42 | '.rb', 43 | '.framework', 44 | '.playground' 45 | ] 46 | 47 | if !ignored_file_types.include?(File.extname(file_name)) 48 | text = File.read(file_name) 49 | 50 | new_contents = text.gsub(//, repo_name) 51 | new_contents = new_contents.gsub(/SwiftProject/, project_name) 52 | new_contents = new_contents.gsub(/BundleDomain/, bundle_domain) 53 | 54 | File.open(file_name, "w") {|file| file.puts new_contents } 55 | end 56 | end 57 | 58 | # Rename files 59 | FileUtils.rm('README.md') 60 | File.rename('SwiftProject-README.md', 'README.md') 61 | 62 | FileUtils.rm('.gitignore') 63 | File.rename('SwiftProject.gitignore', '.gitignore') 64 | 65 | File.rename("SwiftProject", "#{project_name}") 66 | File.rename("SwiftProjectTests", "#{project_name}Tests") 67 | 68 | File.rename("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Staging.xcscheme", 69 | "SwiftProject.xcodeproj/xcshareddata/xcschemes/#{project_name} Staging.xcscheme") 70 | 71 | File.rename("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Production.xcscheme", 72 | "SwiftProject.xcodeproj/xcshareddata/xcschemes/#{project_name} Production.xcscheme") 73 | 74 | File.rename("SwiftProject.xcodeproj/xcshareddata/xcschemes/SwiftProject Tests.xcscheme", 75 | "SwiftProject.xcodeproj/xcshareddata/xcschemes/#{project_name} Tests.xcscheme") 76 | 77 | File.rename("SwiftProject.xcodeproj", "#{project_name}.xcodeproj") 78 | 79 | FileUtils.rm_rf ".git" 80 | FileUtils.rm('init.rb') 81 | 82 | # Setup project 83 | system("pod install") 84 | system("git init && git add . && git commit -am 'Initial commit'") 85 | system("git remote add origin https://github.com/hyperoslo/#{repo_name}.git") 86 | system("open \"#{project_name}.xcworkspace\"") 87 | --------------------------------------------------------------------------------