Showing preview only (1,885K chars total). Download the full file or copy to clipboard to get everything.
Repository: intelygenz/Archit-iOS
Branch: master
Commit: 885f061d36a5
Files: 424
Total size: 1.7 MB
Directory structure:
gitextract_v9lm_t2w/
├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── Archit/
│ ├── Resources/
│ │ └── Assets/
│ │ └── Assets.xcassets/
│ │ ├── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── Logo.imageset/
│ │ └── Contents.json
│ ├── Source/
│ │ ├── Base/
│ │ │ ├── Controllers/
│ │ │ │ └── BaseController.swift
│ │ │ ├── Extensions/
│ │ │ │ └── UITableView+Reusable.swift
│ │ │ ├── Interactors/
│ │ │ │ └── BaseInteractor.swift
│ │ │ └── ViewControllers/
│ │ │ ├── BaseNavigationController.swift
│ │ │ └── BaseViewController.swift
│ │ ├── FilmDetail/
│ │ │ ├── FilmDetailController.swift
│ │ │ └── FilmDetailViewController.swift
│ │ ├── Films/
│ │ │ ├── FilmCell.swift
│ │ │ ├── FilmsController.swift
│ │ │ ├── FilmsInteractor.swift
│ │ │ └── FilmsViewController.swift
│ │ └── Managers/
│ │ ├── AppManager.swift
│ │ └── LogManager.swift
│ ├── Supporting Files/
│ │ ├── AppDelegate.swift
│ │ ├── Archit.entitlements
│ │ └── Info.plist
│ └── UI/
│ └── Base.lproj/
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── Archit.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ └── contents.xcworkspacedata
│ └── xcshareddata/
│ └── xcschemes/
│ ├── Archit.xcscheme
│ ├── Core.xcscheme
│ └── Domain.xcscheme
├── Archit.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ └── xcdebugger/
│ └── Breakpoints_v2.xcbkptlist
├── ArchitTests/
│ ├── ArchitTests.swift
│ └── Info.plist
├── ArchitUITests/
│ ├── ArchitUITests.swift
│ └── Info.plist
├── CODE_OF_CONDUCT.md
├── Core/
│ ├── Core.h
│ ├── Info.plist
│ ├── NetworkService.swift
│ ├── NetworkServiceProtocol.swift
│ ├── NetworkServiceTransformer.swift
│ ├── ServiceProtocol.swift
│ ├── Services/
│ │ ├── Films/
│ │ │ ├── FilmsService.swift
│ │ │ ├── NetworkModels/
│ │ │ │ ├── FilmNetworkModel.swift
│ │ │ │ ├── FilmRatingNetworkModel.swift
│ │ │ │ ├── FilmSearchNetworkModel.swift
│ │ │ │ └── Transformers/
│ │ │ │ └── FilmsNetworkTransformer.swift
│ │ │ └── Tasks/
│ │ │ ├── SearchFilmServiceTask.swift
│ │ │ └── SearchFilmsServiceTask.swift
│ │ └── NetworkServiceConstants.swift
│ ├── Tasks/
│ │ ├── ServiceTask.swift
│ │ ├── ServiceTaskProtocol.swift
│ │ └── TaskProtocol.swift
│ └── Transformer.swift
├── CoreTests/
│ ├── CoreTests.swift
│ └── Info.plist
├── Dangerfile
├── Domain/
│ ├── Domain.h
│ ├── Film.swift
│ └── Info.plist
├── DomainTests/
│ ├── DomainTests.swift
│ └── Info.plist
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Podfile
├── Pods/
│ ├── Cucumberish/
│ │ ├── Cucumberish/
│ │ │ ├── Core/
│ │ │ │ ├── CCIBlockDefinitions.h
│ │ │ │ ├── Managers/
│ │ │ │ │ ├── CCIFeaturesManager.h
│ │ │ │ │ ├── CCIFeaturesManager.m
│ │ │ │ │ ├── CCILoggingManager.h
│ │ │ │ │ ├── CCILoggingManager.m
│ │ │ │ │ ├── CCIStepsManager.h
│ │ │ │ │ └── CCIStepsManager.m
│ │ │ │ └── Models/
│ │ │ │ ├── CCIArgument.h
│ │ │ │ ├── CCIArgument.m
│ │ │ │ ├── CCIAroundHock.h
│ │ │ │ ├── CCIAroundHock.m
│ │ │ │ ├── CCIBackground.h
│ │ │ │ ├── CCIBackground.m
│ │ │ │ ├── CCIExample.h
│ │ │ │ ├── CCIExample.m
│ │ │ │ ├── CCIFeature.h
│ │ │ │ ├── CCIFeature.m
│ │ │ │ ├── CCIHock.h
│ │ │ │ ├── CCIHock.m
│ │ │ │ ├── CCIJSONDumper.h
│ │ │ │ ├── CCIJSONDumper.m
│ │ │ │ ├── CCILocation.h
│ │ │ │ ├── CCILocation.m
│ │ │ │ ├── CCIScenarioDefinition.h
│ │ │ │ ├── CCIScenarioDefinition.m
│ │ │ │ ├── CCIStep.h
│ │ │ │ ├── CCIStep.m
│ │ │ │ ├── CCIStepDefinition.h
│ │ │ │ └── CCIStepDefinition.m
│ │ │ ├── Cucumberish.h
│ │ │ ├── Cucumberish.m
│ │ │ ├── Dependencies/
│ │ │ │ └── Gherkin/
│ │ │ │ ├── GHAstBuilder.h
│ │ │ │ ├── GHAstBuilder.m
│ │ │ │ ├── GHAstNode.h
│ │ │ │ ├── GHAstNode.m
│ │ │ │ ├── GHBackground.h
│ │ │ │ ├── GHBackground.m
│ │ │ │ ├── GHComment.h
│ │ │ │ ├── GHComment.m
│ │ │ │ ├── GHDataTable.h
│ │ │ │ ├── GHDataTable.m
│ │ │ │ ├── GHDocString.h
│ │ │ │ ├── GHDocString.m
│ │ │ │ ├── GHExamples.h
│ │ │ │ ├── GHExamples.m
│ │ │ │ ├── GHFeature.h
│ │ │ │ ├── GHFeature.m
│ │ │ │ ├── GHGherkinDialect.h
│ │ │ │ ├── GHGherkinDialect.m
│ │ │ │ ├── GHGherkinDialectProvider.h
│ │ │ │ ├── GHGherkinDialectProvider.m
│ │ │ │ ├── GHGherkinDialectProviderProtocol.h
│ │ │ │ ├── GHGherkinLanguageConstants.h
│ │ │ │ ├── GHGherkinLanguageConstants.m
│ │ │ │ ├── GHGherkinLanguageSetting.h
│ │ │ │ ├── GHGherkinLanguageSetting.m
│ │ │ │ ├── GHGherkinLine.h
│ │ │ │ ├── GHGherkinLine.m
│ │ │ │ ├── GHGherkinLineProtocol.h
│ │ │ │ ├── GHGherkinLineSpan.h
│ │ │ │ ├── GHGherkinLineSpan.m
│ │ │ │ ├── GHHasDescriptionProtocol.h
│ │ │ │ ├── GHHasLocationProtocol.h
│ │ │ │ ├── GHHasRowsProtocol.h
│ │ │ │ ├── GHHasStepsProtocol.h
│ │ │ │ ├── GHHasTagsProtocol.h
│ │ │ │ ├── GHLocation.h
│ │ │ │ ├── GHLocation.m
│ │ │ │ ├── GHNode.h
│ │ │ │ ├── GHNode.m
│ │ │ │ ├── GHParser+Extensions.h
│ │ │ │ ├── GHParser+Extensions.m
│ │ │ │ ├── GHParser.h
│ │ │ │ ├── GHParser.m
│ │ │ │ ├── GHParserException.h
│ │ │ │ ├── GHParserException.m
│ │ │ │ ├── GHScenario.h
│ │ │ │ ├── GHScenario.m
│ │ │ │ ├── GHScenarioDefinition.h
│ │ │ │ ├── GHScenarioDefinition.m
│ │ │ │ ├── GHScenarioDefinition_Private.h
│ │ │ │ ├── GHScenarioOutline.h
│ │ │ │ ├── GHScenarioOutline.m
│ │ │ │ ├── GHStep.h
│ │ │ │ ├── GHStep.m
│ │ │ │ ├── GHStepArgument.h
│ │ │ │ ├── GHStepArgument.m
│ │ │ │ ├── GHTableCell.h
│ │ │ │ ├── GHTableCell.m
│ │ │ │ ├── GHTableRow.h
│ │ │ │ ├── GHTableRow.m
│ │ │ │ ├── GHTag.h
│ │ │ │ ├── GHTag.m
│ │ │ │ ├── GHToken.h
│ │ │ │ ├── GHToken.m
│ │ │ │ ├── GHTokenMatcher.h
│ │ │ │ ├── GHTokenMatcher.m
│ │ │ │ ├── GHTokenScanner.h
│ │ │ │ ├── GHTokenScanner.m
│ │ │ │ ├── NSString+Trim.h
│ │ │ │ ├── NSString+Trim.m
│ │ │ │ └── gherkin-languages.json
│ │ │ └── Utils/
│ │ │ ├── NSArray+Hashes.h
│ │ │ ├── NSArray+Hashes.m
│ │ │ ├── NSObject+Dictionary.h
│ │ │ ├── NSObject+Dictionary.m
│ │ │ ├── NSString+Formatter.h
│ │ │ └── NSString+Formatter.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Kingfisher/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources/
│ │ ├── AnimatedImageView.swift
│ │ ├── Box.swift
│ │ ├── CacheSerializer.swift
│ │ ├── Filter.swift
│ │ ├── FormatIndicatedCacheSerializer.swift
│ │ ├── Image.swift
│ │ ├── ImageCache.swift
│ │ ├── ImageDownloader.swift
│ │ ├── ImagePrefetcher.swift
│ │ ├── ImageProcessor.swift
│ │ ├── ImageTransition.swift
│ │ ├── ImageView+Kingfisher.swift
│ │ ├── Indicator.swift
│ │ ├── Kingfisher.h
│ │ ├── Kingfisher.swift
│ │ ├── KingfisherManager.swift
│ │ ├── KingfisherOptionsInfo.swift
│ │ ├── Placeholder.swift
│ │ ├── RequestModifier.swift
│ │ ├── Resource.swift
│ │ ├── String+MD5.swift
│ │ ├── ThreadHelper.swift
│ │ └── UIButton+Kingfisher.swift
│ ├── Kommander/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Source/
│ │ ├── CurrentDispatcher.swift
│ │ ├── Dispatcher.swift
│ │ ├── Kommand.swift
│ │ ├── KommandCancelledError.swift
│ │ ├── Kommander.h
│ │ ├── Kommander.swift
│ │ └── MainDispatcher.swift
│ ├── NetClient/
│ │ ├── Core/
│ │ │ ├── Net.h
│ │ │ ├── Net.swift
│ │ │ ├── NetAuthorization.swift
│ │ │ ├── NetCacheControl.swift
│ │ │ ├── NetContentType.swift
│ │ │ ├── NetError.swift
│ │ │ ├── NetMultipartFormData.swift
│ │ │ ├── NetReachability.swift
│ │ │ ├── NetRequest+Build.swift
│ │ │ ├── NetRequest+URLRequest.swift
│ │ │ ├── NetRequest.swift
│ │ │ ├── NetResponse+Build.swift
│ │ │ ├── NetResponse+CachedURLResponse.swift
│ │ │ ├── NetResponse+HTTPURLResponse.swift
│ │ │ ├── NetResponse+URLResponse.swift
│ │ │ ├── NetResponse.swift
│ │ │ ├── NetServerTrust.swift
│ │ │ ├── NetTask.swift
│ │ │ ├── NetTaskMetrics+URLSessionTaskMetrics.swift
│ │ │ ├── NetTaskMetrics.swift
│ │ │ └── NetTransformer.swift
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── URLSession/
│ │ ├── NetTask+URLSessionTask.swift
│ │ ├── NetURLSession+Data.swift
│ │ ├── NetURLSession+Download.swift
│ │ ├── NetURLSession+Stream.swift
│ │ ├── NetURLSession+Upload.swift
│ │ ├── NetURLSession.swift
│ │ ├── NetURLSessionDelegate.swift
│ │ └── NetURLSessionTaskObserver.swift
│ ├── ObjcExceptionBridging/
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ └── Sources/
│ │ └── ObjcExceptionBridging/
│ │ ├── ObjectiveCMarker.m
│ │ └── include/
│ │ └── ObjcExceptionBridging.h
│ ├── Pods.xcodeproj/
│ │ └── project.pbxproj
│ ├── Reusable/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources/
│ │ ├── Storyboard/
│ │ │ ├── StoryboardBased.swift
│ │ │ └── StoryboardSceneBased.swift
│ │ └── View/
│ │ ├── NibLoadable.swift
│ │ ├── NibOwnerLoadable.swift
│ │ ├── Reusable.swift
│ │ ├── UICollectionView+Reusable.swift
│ │ └── UITableView+Reusable.swift
│ ├── SwiftLint/
│ │ ├── LICENSE
│ │ ├── SwiftLintFramework.framework/
│ │ │ └── Versions/
│ │ │ └── A/
│ │ │ ├── Frameworks/
│ │ │ │ ├── Commandant.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Commandant
│ │ │ │ │ └── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ ├── Result.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── Result
│ │ │ │ ├── SWXMLHash.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SWXMLHash
│ │ │ │ ├── SourceKittenFramework.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SourceKittenFramework
│ │ │ │ ├── SwiftyTextTable.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SwiftyTextTable
│ │ │ │ └── Yams.framework/
│ │ │ │ └── Versions/
│ │ │ │ └── A/
│ │ │ │ ├── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ └── Yams
│ │ │ ├── Resources/
│ │ │ │ └── Info.plist
│ │ │ └── SwiftLintFramework
│ │ └── swiftlint
│ ├── Target Support Files/
│ │ ├── Cucumberish/
│ │ │ ├── Cucumberish-dummy.m
│ │ │ ├── Cucumberish-prefix.pch
│ │ │ ├── Cucumberish-umbrella.h
│ │ │ ├── Cucumberish.modulemap
│ │ │ ├── Cucumberish.xcconfig
│ │ │ ├── Info.plist
│ │ │ └── ResourceBundle-GherkinLanguages-Info.plist
│ │ ├── Kingfisher/
│ │ │ ├── Info.plist
│ │ │ ├── Kingfisher-dummy.m
│ │ │ ├── Kingfisher-prefix.pch
│ │ │ ├── Kingfisher-umbrella.h
│ │ │ ├── Kingfisher.modulemap
│ │ │ └── Kingfisher.xcconfig
│ │ ├── Kommander/
│ │ │ ├── Info.plist
│ │ │ ├── Kommander-dummy.m
│ │ │ ├── Kommander-prefix.pch
│ │ │ ├── Kommander-umbrella.h
│ │ │ ├── Kommander.modulemap
│ │ │ └── Kommander.xcconfig
│ │ ├── NetClient/
│ │ │ ├── Info.plist
│ │ │ ├── NetClient-dummy.m
│ │ │ ├── NetClient-prefix.pch
│ │ │ ├── NetClient-umbrella.h
│ │ │ ├── NetClient.modulemap
│ │ │ └── NetClient.xcconfig
│ │ ├── ObjcExceptionBridging/
│ │ │ ├── Info.plist
│ │ │ ├── ObjcExceptionBridging-dummy.m
│ │ │ ├── ObjcExceptionBridging-prefix.pch
│ │ │ ├── ObjcExceptionBridging-umbrella.h
│ │ │ ├── ObjcExceptionBridging.modulemap
│ │ │ └── ObjcExceptionBridging.xcconfig
│ │ ├── Pods-Archit/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Archit-acknowledgements.markdown
│ │ │ ├── Pods-Archit-acknowledgements.plist
│ │ │ ├── Pods-Archit-dummy.m
│ │ │ ├── Pods-Archit-frameworks.sh
│ │ │ ├── Pods-Archit-resources.sh
│ │ │ ├── Pods-Archit-umbrella.h
│ │ │ ├── Pods-Archit.debug.xcconfig
│ │ │ ├── Pods-Archit.modulemap
│ │ │ └── Pods-Archit.release.xcconfig
│ │ ├── Pods-ArchitTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ArchitTests-acknowledgements.markdown
│ │ │ ├── Pods-ArchitTests-acknowledgements.plist
│ │ │ ├── Pods-ArchitTests-dummy.m
│ │ │ ├── Pods-ArchitTests-frameworks.sh
│ │ │ ├── Pods-ArchitTests-resources.sh
│ │ │ ├── Pods-ArchitTests-umbrella.h
│ │ │ ├── Pods-ArchitTests.debug.xcconfig
│ │ │ ├── Pods-ArchitTests.modulemap
│ │ │ └── Pods-ArchitTests.release.xcconfig
│ │ ├── Pods-ArchitUITests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ArchitUITests-acknowledgements.markdown
│ │ │ ├── Pods-ArchitUITests-acknowledgements.plist
│ │ │ ├── Pods-ArchitUITests-dummy.m
│ │ │ ├── Pods-ArchitUITests-frameworks.sh
│ │ │ ├── Pods-ArchitUITests-resources.sh
│ │ │ ├── Pods-ArchitUITests-umbrella.h
│ │ │ ├── Pods-ArchitUITests.debug.xcconfig
│ │ │ ├── Pods-ArchitUITests.modulemap
│ │ │ └── Pods-ArchitUITests.release.xcconfig
│ │ ├── Pods-Core/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Core-acknowledgements.markdown
│ │ │ ├── Pods-Core-acknowledgements.plist
│ │ │ ├── Pods-Core-dummy.m
│ │ │ ├── Pods-Core-resources.sh
│ │ │ ├── Pods-Core-umbrella.h
│ │ │ ├── Pods-Core.debug.xcconfig
│ │ │ ├── Pods-Core.modulemap
│ │ │ └── Pods-Core.release.xcconfig
│ │ ├── Pods-CoreTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-CoreTests-acknowledgements.markdown
│ │ │ ├── Pods-CoreTests-acknowledgements.plist
│ │ │ ├── Pods-CoreTests-dummy.m
│ │ │ ├── Pods-CoreTests-frameworks.sh
│ │ │ ├── Pods-CoreTests-resources.sh
│ │ │ ├── Pods-CoreTests-umbrella.h
│ │ │ ├── Pods-CoreTests.debug.xcconfig
│ │ │ ├── Pods-CoreTests.modulemap
│ │ │ └── Pods-CoreTests.release.xcconfig
│ │ ├── Pods-Domain/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Domain-acknowledgements.markdown
│ │ │ ├── Pods-Domain-acknowledgements.plist
│ │ │ ├── Pods-Domain-dummy.m
│ │ │ ├── Pods-Domain-resources.sh
│ │ │ ├── Pods-Domain-umbrella.h
│ │ │ ├── Pods-Domain.debug.xcconfig
│ │ │ ├── Pods-Domain.modulemap
│ │ │ └── Pods-Domain.release.xcconfig
│ │ ├── Pods-DomainTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-DomainTests-acknowledgements.markdown
│ │ │ ├── Pods-DomainTests-acknowledgements.plist
│ │ │ ├── Pods-DomainTests-dummy.m
│ │ │ ├── Pods-DomainTests-frameworks.sh
│ │ │ ├── Pods-DomainTests-resources.sh
│ │ │ ├── Pods-DomainTests-umbrella.h
│ │ │ ├── Pods-DomainTests.debug.xcconfig
│ │ │ ├── Pods-DomainTests.modulemap
│ │ │ └── Pods-DomainTests.release.xcconfig
│ │ ├── Reusable/
│ │ │ ├── Info.plist
│ │ │ ├── Reusable-dummy.m
│ │ │ ├── Reusable-prefix.pch
│ │ │ ├── Reusable-umbrella.h
│ │ │ ├── Reusable.modulemap
│ │ │ └── Reusable.xcconfig
│ │ └── XCGLogger/
│ │ ├── Info.plist
│ │ ├── XCGLogger-dummy.m
│ │ ├── XCGLogger-prefix.pch
│ │ ├── XCGLogger-umbrella.h
│ │ ├── XCGLogger.modulemap
│ │ └── XCGLogger.xcconfig
│ └── XCGLogger/
│ ├── .swift-version
│ ├── LICENSE.txt
│ ├── README.md
│ └── Sources/
│ └── XCGLogger/
│ ├── Destinations/
│ │ ├── AppleSystemLogDestination.swift
│ │ ├── AutoRotatingFileDestination.swift
│ │ ├── BaseDestination.swift
│ │ ├── BaseQueuedDestination.swift
│ │ ├── ConsoleDestination.swift
│ │ ├── DestinationProtocol.swift
│ │ ├── FileDestination.swift
│ │ └── TestDestination.swift
│ ├── Extensions/
│ │ ├── DispatchQueue+XCGAdditions.swift
│ │ └── URL+XCGAdditions.swift
│ ├── Filters/
│ │ ├── DevFilter.swift
│ │ ├── FileNameFilter.swift
│ │ ├── FilterProtocol.swift
│ │ ├── TagFilter.swift
│ │ └── UserInfoFilter.swift
│ ├── LogFormatters/
│ │ ├── ANSIColorLogFormatter.swift
│ │ ├── Base64LogFormatter.swift
│ │ ├── LogFormatterProtocol.swift
│ │ ├── PrePostFixLogFormatter.swift
│ │ └── XcodeColorsLogFormatter.swift
│ ├── Misc/
│ │ ├── HelperFunctions.swift
│ │ └── LogDetails.swift
│ └── XCGLogger.swift
├── README.md
├── Rakefile
├── Scripts/
│ ├── bootstrap.sh
│ ├── highlight_TODOs.sh
│ ├── install_pre_commit.sh
│ ├── pre_commit.sh
│ └── symbolicate_crash.sh
├── _config.yml
└── fastlane/
├── Appfile
├── Fastfile
├── Pluginfile
├── README.md
├── Snapfile
└── SnapshotHelper.swift
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xcuserstate
*.orig
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
================================================
FILE: .swift-version
================================================
4.0
================================================
FILE: .swiftlint.yml
================================================
disabled_rules: # rule identifiers to exclude from running
- line_length
- trailing_whitespace
- trailing_newline
- vertical_whitespace
- unused_closure_parameter
- nesting
opt_in_rules:
- empty_count
- explicit_init
- closure_spacing
- overridden_super_call
- redundant_nil_coalescing
- private_outlet
- nimble_operator
- closure_end_indentation
- first_where
- object_literal
- number_separator
- prohibited_super_call
- fatal_error_message
- vertical_parameter_alignment_on_call
- extension_access_modifier
- array_init
- literal_expression_end_indentation
force_cast: warning # implicitly. Give warning only for force casting
force_try:
severity: warning # explicitly. Give warning only for force try
function_body_length:
- 300 # warning
- 400 # error
file_length:
warning: 500
error: 800
large_tuple: # warn user when using 3 values in tuple, give error if there are 4
- 3
- 4
excluded:
- fastlane
- Pods
# naming rules can set warnings/errors for min_length and max_length
type_name:
min_length: 4 # only warning
max_length: # warning and error
warning: 30
error: 35
================================================
FILE: .travis.yml
================================================
language: swift
osx_image: xcode9.1
script:
- xcodebuild -workspace Archit.xcworkspace -scheme Archit -destination "platform=iOS
Simulator,name=iPhone X,OS=11.1" -configuration Debug -enableCodeCoverage YES clean
build test
after_success:
- bash <(curl -s https://codecov.io/bash)
================================================
FILE: Archit/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x-1.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x-1.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x-1.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "iTunesArtWork@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Archit/Resources/Assets/Assets.xcassets/Contents.json
================================================
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Archit/Resources/Assets/Assets.xcassets/Logo.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "archit-logo.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "archit-logo@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "archit-logo@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Archit/Source/Base/Controllers/BaseController.swift
================================================
// BaseController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
protocol BaseController {
associatedtype ViewControllerClass: AnyObject
weak var viewController: ViewControllerClass? { get }
init(_ viewController: ViewControllerClass)
func load()
func unload()
func memoryWarning()
func willAppear(_ animated: Bool)
func didAppear(_ animated: Bool)
func willDisappear(_ animated: Bool)
func didDisappear(_ animated: Bool)
func prepareSegue(identifier: String?, destination: AnyObject)
}
extension BaseController {
func load() {}
func unload() {}
func memoryWarning() {}
func willAppear(_ animated: Bool) {}
func didAppear(_ animated: Bool) {}
func willDisappear(_ animated: Bool) {}
func didDisappear(_ animated: Bool) {}
func prepareSegue(identifier: String?, destination: AnyObject) {}
}
================================================
FILE: Archit/Source/Base/Extensions/UITableView+Reusable.swift
================================================
// UITableView+Reusable.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
import Reusable
extension UITableViewCell: Reusable {}
extension UITableViewHeaderFooterView: Reusable {}
================================================
FILE: Archit/Source/Base/Interactors/BaseInteractor.swift
================================================
// BaseInteractor.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
protocol BaseInteractorProtocol {
}
class BaseInteractor: BaseInteractorProtocol {
}
================================================
FILE: Archit/Source/Base/ViewControllers/BaseNavigationController.swift
================================================
// BaseNavigationController.swift
// Created by Alex Rupérez on 6/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
class BaseNavigationController: UINavigationController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return visibleViewController?.preferredStatusBarStyle ?? .lightContent
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return visibleViewController?.supportedInterfaceOrientations ?? .portrait
}
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
return visibleViewController?.preferredInterfaceOrientationForPresentation ?? .portrait
}
override var shouldAutorotate: Bool {
return visibleViewController?.shouldAutorotate ?? true
}
override var childViewControllerForStatusBarStyle: UIViewController? {
return visibleViewController
}
override var childViewControllerForStatusBarHidden: UIViewController? {
return visibleViewController
}
}
================================================
FILE: Archit/Source/Base/ViewControllers/BaseViewController.swift
================================================
// BaseViewController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
import Reusable
class BaseViewController<ControllerClass: BaseController>: UIViewController, StoryboardSceneBased {
class var sceneStoryboard: UIStoryboard {
return UIStoryboard(name: "Main", bundle: nil)
}
var controller: ControllerClass!
override func viewDidLoad() {
assert(controller != nil, "You must set a BaseController for \(type(of: self)) in init?(coder: NSCoder)")
super.viewDidLoad()
controller.load()
}
deinit {
controller.unload()
controller = nil
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
controller.memoryWarning()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
controller.willAppear(animated)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
controller.didAppear(animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
controller.willDisappear(animated)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
controller.didDisappear(animated)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
controller.prepareSegue(identifier: segue.identifier, destination: segue.destination)
}
func showAlert(_ title: String?, message: String? = nil, buttons: [String] = ["OK"], handler: ((UIAlertAction) -> Void)? = nil, animated: Bool = true, completion: (() -> Void)? = nil) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
buttons.forEach { title in
alertController.addAction(UIAlertAction(title: title, style: .cancel, handler: handler))
}
present(alertController, animated: animated, completion: completion)
}
}
================================================
FILE: Archit/Source/FilmDetail/FilmDetailController.swift
================================================
// FilmDetailController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Domain
import Kommander
protocol FilmDetailControllerProtocol: BaseController {
var film: Film? { get }
}
class FilmDetailController: FilmDetailControllerProtocol {
weak var viewController: FilmDetailViewController?
var film: Film? {
didSet {
viewController?.reloadData()
}
}
private let filmsInteractor: FilmsInteractorProtocol = FilmsInteractor()
private weak var filmSearchKommand: Kommand<Film>?
convenience init(_ viewController: FilmDetailViewController, film: Film) {
self.init(viewController)
self.film = film
}
required init(_ viewController: FilmDetailViewController) {
self.viewController = viewController
}
func willAppear(_ animated: Bool) {
refresh()
}
func willDisappear(_ animated: Bool) {
filmSearchKommand?.cancel()
}
func refresh() {
guard let imdbID = film?.imdbID, let type = film?.type else {
return
}
filmSearchKommand = filmsInteractor.film(imdbID, type: FilmsInteractorSearchType(rawValue: type), onSuccess: { film in
self.film = film
}, onError: { error in
self.viewController?.showAlert(error.localizedDescription, completion: {
self.viewController?.reloadData()
})
}).execute()
}
}
================================================
FILE: Archit/Source/FilmDetail/FilmDetailViewController.swift
================================================
// FilmDetailViewController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
import Kingfisher
import SafariServices
class FilmDetailViewController: BaseViewController<FilmDetailController> {
@IBOutlet private weak var posterImageView: UIImageView!
@IBOutlet private weak var titleLabel: UILabel!
@IBOutlet private weak var yearLabel: UILabel!
@IBOutlet private weak var plotTextView: UITextView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
controller = FilmDetailController(self)
}
func reloadData() {
loadViewIfNeeded()
title = controller.film?.title
titleLabel.text = controller.film?.title
yearLabel.text = controller.film?.year
plotTextView.text = controller.film?.plot
posterImageView.kf.setImage(with: controller.film?.poster)
navigationItem.rightBarButtonItem = controller.film?.website != nil ? UIBarButtonItem(title: "Website", style: .done, target: self, action: #selector(websiteAction(_:))) : nil
}
@objc func websiteAction(_ sender: Any) {
guard let website = controller.film?.website else {
return
}
present(SFSafariViewController(url: website), animated: true)
}
}
================================================
FILE: Archit/Source/Films/FilmCell.swift
================================================
// FilmCell.swift
// Created by Diego Manuel Molina Canedo on 11/12/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
class FilmCell: UITableViewCell {
@IBOutlet weak private var posterImageView: UIImageView!
@IBOutlet weak private var titleLabel: UILabel!
@IBOutlet weak private var yearLabel: UILabel!
public func configure(imageUrl: URL?, title: String?, year: String?) {
posterImageView?.kf.setImage(with: imageUrl, completionHandler: { (image, error, cache, url) in
if image != nil, error == nil {
self.layoutSubviews()
}
})
titleLabel.text = title
yearLabel.text = year
}
}
================================================
FILE: Archit/Source/Films/FilmsController.swift
================================================
// FilmsController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Domain
import Kommander
protocol FilmsControllerProtocol: BaseController {
var films: [Film] { get }
var query: String { get }
var type: String { get }
var page: Int { get }
func search(_ query: String, type: String, page: Int)
func refresh()
func loadMore()
}
class FilmsController: FilmsControllerProtocol {
weak var viewController: FilmsViewController?
private(set) var films = [Film]() {
didSet {
viewController?.reloadData()
}
}
private let filmsInteractor: FilmsInteractorProtocol = FilmsInteractor()
private weak var filmsSearchKommand: Kommand<(films: [Film], total: Int)>?
private(set) var query = "Star Wars" {
didSet {
viewController?.title = query
}
}
private(set) var type: String = "all"
private(set) var page: Int = 1
private var total: Int?
required init(_ viewController: FilmsViewController) {
self.viewController = viewController
}
func load() {
refresh()
}
func willDisappear(_ animated: Bool) {
filmsSearchKommand?.cancel()
}
func search(_ query: String, type: String, page: Int = 1) {
guard filmsSearchKommand?.state != .running else {
return
}
filmsSearchKommand = filmsInteractor.films(query, type: FilmsInteractorSearchType(rawValue: type), page: page, onSuccess: { films, total in
self.query = query
self.type = type
self.page = page
self.total = total
if page == 1 {
self.films = films
} else {
self.films.append(contentsOf: films)
}
}, onError: { error in
self.viewController?.showAlert(error.localizedDescription, completion: {
self.viewController?.reloadData()
})
}).execute()
}
func refresh() {
search(query, type: type)
}
func loadMore() {
guard let total = total, films.count < total else {
return
}
search(query, type: type, page: page + 1)
}
}
================================================
FILE: Archit/Source/Films/FilmsInteractor.swift
================================================
// FilmsInteractor.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Kommander
import Domain
import Core
enum FilmsInteractorError: Error {
case filmsError(message: String, underlying: Error?)
public var localizedDescription: String {
switch self {
case .filmsError(let message, let underlying):
guard let serviceError = underlying as? NetworkServiceError else {
guard let localizedDescription = underlying?.localizedDescription else {
return message
}
return localizedDescription
}
return serviceError.localizedDescription
}
}
}
typealias FilmsInteractorFilmBlock = (Film) -> Void
typealias FilmsInteractorFilmsBlock = ([Film], Int) -> Void
typealias FilmsInteractorErrorBlock = (FilmsInteractorError) -> Void
enum FilmsInteractorSearchType: String {
case movie, series, episode
}
protocol FilmsInteractorProtocol {
func film(_ imdbID: String, type: FilmsInteractorSearchType?, onSuccess: FilmsInteractorFilmBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<Film>
func films(_ query: String, type: FilmsInteractorSearchType?, page: Int, onSuccess: FilmsInteractorFilmsBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<(films: [Film], total: Int)>
}
class FilmsInteractor: BaseInteractor, FilmsInteractorProtocol {
private static let kommander = Kommander.default
private let filmsService = FilmsService()
func film(_ imdbID: String, type: FilmsInteractorSearchType?, onSuccess: FilmsInteractorFilmBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<Film> {
return FilmsInteractor.kommander.makeKommand({
return try self.filmsService.searchFilm(imdbID, type: type?.rawValue)
}).onSuccess({ film in
onSuccess?(film)
}).onError({ error in
onError?(.filmsError(message: "Error requesting films.", underlying: error))
})
}
func films(_ query: String, type: FilmsInteractorSearchType?, page: Int, onSuccess: FilmsInteractorFilmsBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<(films: [Film], total: Int)> {
return FilmsInteractor.kommander.makeKommand({
return try self.filmsService.searchFilms(query, type: type?.rawValue, page: page)
}).onSuccess({ result in
onSuccess?(result.films, result.total)
}).onError({ error in
onError?(.filmsError(message: "Error requesting films.", underlying: error))
})
}
}
================================================
FILE: Archit/Source/Films/FilmsViewController.swift
================================================
// FilmsViewController.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
import Kingfisher
import Domain
class FilmsViewController: BaseViewController<FilmsController> {
@IBOutlet private weak var tableView: UITableView!
private let searchController = UISearchController(searchResultsController: nil)
private var selectedFilm: Film? {
guard let row = tableView.indexPathForSelectedRow?.row else {
return nil
}
return controller.films[row]
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
controller = FilmsController(self)
}
private func configView() {
tableView.tableFooterView = UIView()
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(refreshControlAction(_:)), for: .valueChanged)
tableView.refreshControl = refreshControl
let searchBar = searchController.searchBar
searchBar.delegate = self
searchBar.scopeButtonTitles = ["All", "Movie", "Series", "Episode"]
tableView.tableHeaderView = searchBar
tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: .none)
if splitViewController?.isCollapsed == false {
performSegue(withIdentifier: "showDetail", sender: self)
}
}
func reloadData() {
if let refreshControl = tableView.refreshControl {
refreshControl.endRefreshing()
searchController.isActive = false
} else {
configView()
}
tableView.reloadData()
}
@objc private func refreshControlAction(_ sender: Any) {
controller.refresh()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
searchController.isActive = false
if segue.identifier == "showDetail",
let navigationController = segue.destination as? BaseNavigationController,
let filmViewController = navigationController.topViewController as? FilmDetailViewController {
filmViewController.controller.film = selectedFilm
filmViewController.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem
filmViewController.navigationItem.leftItemsSupplementBackButton = true
}
}
func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) {
let posters = indexPaths.flatMap { controller.films[$0.row].poster }
ImagePrefetcher(urls: posters).start()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return controller.films.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: FilmCell = tableView.dequeueReusableCell(for: indexPath)
let film = controller.films[indexPath.row]
cell.configure(imageUrl: film.poster, title: film.title, year: film.year)
return cell
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if controller.films.count >= 10 && indexPath.row > controller.films.count * 8 / 10 {
controller.loadMore()
}
}
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.imageView?.kf.cancelDownloadTask()
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
if let query = searchBar.text, !query.isEmpty {
let scope = searchBar.scopeButtonTitles?[searchBar.selectedScopeButtonIndex].lowercased() ?? "all"
controller.search(query, type: scope)
}
}
}
extension FilmsViewController: UITableViewDataSourcePrefetching {}
extension FilmsViewController: UITableViewDataSource {}
extension FilmsViewController: UITableViewDelegate {}
extension FilmsViewController: UISearchBarDelegate {}
================================================
FILE: Archit/Source/Managers/AppManager.swift
================================================
// AppManager.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
open class AppManager: AppManagerProtocol {
open static let shared: AppManagerProtocol = AppManager()
fileprivate var splitViewController: UISplitViewController? {
return application.appDelegate?.window??.rootViewController as? UISplitViewController
}
open func didFinishLaunching(launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
if let splitViewController = splitViewController,
let navigationController = splitViewController.viewControllers.last as? BaseNavigationController {
navigationController.topViewController?.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
splitViewController.delegate = self
splitViewController.preferredDisplayMode = .allVisible
}
return true
}
open func willResignActive() {
// 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.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
open func didEnterBackground() {
// 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.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
open func willEnterForeground() {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
open func didBecomeActive() {
// 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.
}
open func willTerminate() {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}
public protocol AppDelegateProtocol: UIApplicationDelegate {
var appManager: AppManagerProtocol { get set }
}
public protocol AppProtocol {
weak var appDelegate: AppDelegateProtocol? { get }
}
extension UIApplication: AppProtocol {
open weak var appDelegate: AppDelegateProtocol? { return delegate as? AppDelegateProtocol }
}
public protocol AppManagerProtocol {
static var shared: AppManagerProtocol { get }
var application: AppProtocol { get }
func didFinishLaunching(launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
func willResignActive()
func didEnterBackground()
func willEnterForeground()
func didBecomeActive()
func willTerminate()
}
public extension AppManagerProtocol {
var application: AppProtocol { return UIApplication.shared }
}
extension AppManager: UISplitViewControllerDelegate {
public func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
guard let navigationController = secondaryViewController as? BaseNavigationController else { return false }
guard let filmViewController = navigationController.topViewController as? FilmDetailViewController else { return false }
return filmViewController.controller.film == nil
}
}
================================================
FILE: Archit/Source/Managers/LogManager.swift
================================================
// LogManager.swift
// Created by Alex Rupérez on 16/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import XCGLogger
let log: XCGLogger = {
let log = XCGLogger(identifier: "advancedLogger", includeDefaultDestinations: false)
log.levelDescriptions[.verbose] = "💜"
log.levelDescriptions[.debug] = "💚"
log.levelDescriptions[.info] = "💙"
log.levelDescriptions[.warning] = "💛"
log.levelDescriptions[.error] = "❤️"
log.levelDescriptions[.severe] = "🖤"
let consoleDestination = ConsoleDestination(identifier: "advancedLogger.consoleDestination")
#if DEBUG
consoleDestination.outputLevel = .debug
#else
consoleDestination.outputLevel = .severe
#endif
consoleDestination.showFunctionName = false
consoleDestination.showFileName = false
consoleDestination.showLineNumber = false
log.add(destination: consoleDestination)
return log
}()
================================================
FILE: Archit/Supporting Files/AppDelegate.swift
================================================
// AppDelegate.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, AppDelegateProtocol {
lazy var appManager: AppManagerProtocol = AppManager.shared
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return appManager.didFinishLaunching(launchOptions: launchOptions)
}
func applicationWillResignActive(_ application: UIApplication) {
appManager.willResignActive()
}
func applicationDidEnterBackground(_ application: UIApplication) {
appManager.didEnterBackground()
}
func applicationWillEnterForeground(_ application: UIApplication) {
appManager.willEnterForeground()
}
func applicationDidBecomeActive(_ application: UIApplication) {
appManager.didBecomeActive()
}
func applicationWillTerminate(_ application: UIApplication) {
appManager.willTerminate()
}
}
================================================
FILE: Archit/Supporting Files/Archit.entitlements
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>$(APSEnvironment)</string>
</dict>
</plist>
================================================
FILE: Archit/Supporting Files/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>APSEnvironment</key>
<string>$(APS_ENVIRONMENT)</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: Archit/UI/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Logo" translatesAutoresizingMaskIntoConstraints="NO" id="aPR-Qf-yOI">
<rect key="frame" x="87" y="218" width="200" height="230"/>
<constraints>
<constraint firstAttribute="height" constant="230" id="M6F-YG-iXE"/>
<constraint firstAttribute="width" constant="200" id="cWz-Ux-NMv"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="aPR-Qf-yOI" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="UEB-OO-ku3"/>
<constraint firstItem="aPR-Qf-yOI" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="t3c-0b-hcR"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="Logo" width="200" height="230"/>
</resources>
</document>
================================================
FILE: Archit/UI/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="QDw-Op-zfs">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Content-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FilmsViewController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="128" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="qcl-Vq-tRJ">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="FilmCell" id="Ngr-Go-cqh" customClass="FilmCell" customModule="Archit" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="375" height="128"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ngr-Go-cqh" id="yaJ-dn-Ij5">
<rect key="frame" x="0.0" y="0.0" width="375" height="127.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4py-1c-vJX">
<rect key="frame" x="101.5" y="52" width="265.5" height="23"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="19"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="dIe-Mg-pVe">
<rect key="frame" x="4" y="4" width="89.5" height="119.5"/>
<constraints>
<constraint firstAttribute="width" secondItem="dIe-Mg-pVe" secondAttribute="height" multiplier="3:4" id="xiP-06-bQa"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Year" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Axd-Bn-HRE">
<rect key="frame" x="101.5" y="79" width="250.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="Axd-Bn-HRE" secondAttribute="trailing" constant="8" id="AxG-Gu-CLu"/>
<constraint firstItem="4py-1c-vJX" firstAttribute="leading" secondItem="dIe-Mg-pVe" secondAttribute="trailing" constant="8" id="BXm-NG-3Lt"/>
<constraint firstItem="4py-1c-vJX" firstAttribute="centerY" secondItem="dIe-Mg-pVe" secondAttribute="centerY" id="EUC-l8-9qb"/>
<constraint firstItem="Axd-Bn-HRE" firstAttribute="leading" secondItem="4py-1c-vJX" secondAttribute="leading" id="KPN-9O-dWe"/>
<constraint firstAttribute="bottom" secondItem="dIe-Mg-pVe" secondAttribute="bottom" constant="4" id="QUB-NC-A9N"/>
<constraint firstItem="dIe-Mg-pVe" firstAttribute="leading" secondItem="yaJ-dn-Ij5" secondAttribute="leading" constant="4" id="b66-vw-tGx"/>
<constraint firstAttribute="trailing" secondItem="4py-1c-vJX" secondAttribute="trailing" constant="8" id="e1e-rP-HkR"/>
<constraint firstItem="Axd-Bn-HRE" firstAttribute="top" secondItem="4py-1c-vJX" secondAttribute="bottom" constant="4" id="fNY-pf-rhA"/>
<constraint firstItem="dIe-Mg-pVe" firstAttribute="top" secondItem="yaJ-dn-Ij5" secondAttribute="top" constant="4" id="g4C-Qi-bnC"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="posterImageView" destination="dIe-Mg-pVe" id="fZK-0n-7Jt"/>
<outlet property="titleLabel" destination="4py-1c-vJX" id="MLK-FA-Qea"/>
<outlet property="yearLabel" destination="Axd-Bn-HRE" id="RPC-qM-3lz"/>
<segue destination="fdZ-nR-DyF" kind="showDetail" identifier="showDetail" id="7ib-zC-pd1"/>
</connections>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="BYZ-38-t0r" id="DQp-9N-9DA"/>
<outlet property="delegate" destination="BYZ-38-t0r" id="3Nv-66-DGV"/>
<outlet property="prefetchDataSource" destination="BYZ-38-t0r" id="Dmt-jp-GpR"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" title="Content" id="XvA-8J-for"/>
<connections>
<outlet property="tableView" destination="qcl-Vq-tRJ" id="r0d-Nv-XtB"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1653.5999999999999" y="-450.22488755622192"/>
</scene>
<!--Select content...-->
<scene sceneID="Gee-mi-8tL">
<objects>
<viewController id="pbU-6g-k6R" customClass="FilmDetailViewController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Enz-7I-S76"/>
<viewControllerLayoutGuide type="bottom" id="ZRw-nw-mxu"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="duk-b5-WvN">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nMg-g7-KdA">
<rect key="frame" x="0.0" y="116" width="375" height="551"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Year" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRS-Fr-oW8">
<rect key="frame" x="0.0" y="316" width="375" height="11"/>
<constraints>
<constraint firstAttribute="height" constant="11" id="RW4-Dl-cF0"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" bouncesZoom="NO" editable="NO" textAlignment="justified" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dxx-6C-5yK">
<rect key="frame" x="0.0" y="335" width="375" height="33"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="scrollIndicatorInsets" minX="8" minY="0.0" maxX="8" maxY="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="tgu-db-0Gg">
<rect key="frame" x="54" y="16" width="267" height="267"/>
<constraints>
<constraint firstAttribute="width" secondItem="tgu-db-0Gg" secondAttribute="height" multiplier="1:1" id="g2y-m0-XrA"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SbY-iD-JR5">
<rect key="frame" x="0.0" y="291" width="375" height="21"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="tgu-db-0Gg" firstAttribute="top" secondItem="nMg-g7-KdA" secondAttribute="top" constant="16" id="03x-ly-Hte"/>
<constraint firstAttribute="bottom" secondItem="Dxx-6C-5yK" secondAttribute="bottom" constant="8" id="1yc-OP-Xfr"/>
<constraint firstAttribute="trailing" secondItem="Dxx-6C-5yK" secondAttribute="trailing" id="3Js-0u-QbZ"/>
<constraint firstItem="zRS-Fr-oW8" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="9Sl-Mi-zqm"/>
<constraint firstAttribute="trailing" secondItem="SbY-iD-JR5" secondAttribute="trailing" id="EKb-3O-5dP"/>
<constraint firstItem="tgu-db-0Gg" firstAttribute="centerX" secondItem="nMg-g7-KdA" secondAttribute="centerX" id="Jm5-AW-aHj"/>
<constraint firstItem="zRS-Fr-oW8" firstAttribute="top" secondItem="SbY-iD-JR5" secondAttribute="bottom" constant="4" id="P8S-ah-r2K"/>
<constraint firstAttribute="trailing" secondItem="zRS-Fr-oW8" secondAttribute="trailing" id="Zg9-fU-Cdh"/>
<constraint firstItem="SbY-iD-JR5" firstAttribute="width" secondItem="nMg-g7-KdA" secondAttribute="width" id="dHT-oe-0yo"/>
<constraint firstItem="Dxx-6C-5yK" firstAttribute="top" secondItem="zRS-Fr-oW8" secondAttribute="bottom" constant="8" id="rzu-pc-6yG"/>
<constraint firstItem="Dxx-6C-5yK" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="tfD-Wb-yxs"/>
<constraint firstItem="SbY-iD-JR5" firstAttribute="top" secondItem="tgu-db-0Gg" secondAttribute="bottom" constant="8" id="vs6-qc-tce"/>
<constraint firstItem="SbY-iD-JR5" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="zOs-HM-NBz"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="nMg-g7-KdA" secondAttribute="trailing" id="4R6-Tq-LfZ"/>
<constraint firstItem="nMg-g7-KdA" firstAttribute="width" secondItem="duk-b5-WvN" secondAttribute="width" id="CIL-XX-ATq"/>
<constraint firstItem="nMg-g7-KdA" firstAttribute="top" secondItem="Enz-7I-S76" secondAttribute="bottom" id="N1b-zY-GZa"/>
<constraint firstItem="ZRw-nw-mxu" firstAttribute="top" secondItem="nMg-g7-KdA" secondAttribute="bottom" id="RII-Ac-NCh"/>
<constraint firstItem="nMg-g7-KdA" firstAttribute="leading" secondItem="duk-b5-WvN" secondAttribute="leading" id="TNb-lp-nwa"/>
<constraint firstItem="tgu-db-0Gg" firstAttribute="height" secondItem="duk-b5-WvN" secondAttribute="height" multiplier="2/5" id="osZ-6P-ZWc"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Select content..." id="Ndj-em-dhP"/>
<connections>
<outlet property="plotTextView" destination="Dxx-6C-5yK" id="gr4-PG-MIi"/>
<outlet property="posterImageView" destination="tgu-db-0Gg" id="3nU-4i-9ru"/>
<outlet property="titleLabel" destination="SbY-iD-JR5" id="6LK-91-ymx"/>
<outlet property="yearLabel" destination="zRS-Fr-oW8" id="6Xe-iT-Ho5"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="fc5-lG-UmZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1653.5999999999999" y="315.29235382308849"/>
</scene>
<!--Base Navigation Controller-->
<scene sceneID="J24-dY-CR6">
<objects>
<navigationController id="Zuo-cZ-xWg" customClass="BaseNavigationController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" largeTitles="YES" id="qi8-4I-3hw">
<rect key="frame" x="0.0" y="20" width="375" height="96"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="hhy-YS-fH9"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dGr-6g-MI3" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="703" y="-450"/>
</scene>
<!--Split View Controller-->
<scene sceneID="w3j-Fp-C0v">
<objects>
<splitViewController id="QDw-Op-zfs" sceneMemberID="viewController">
<connections>
<segue destination="Zuo-cZ-xWg" kind="relationship" relationship="masterViewController" id="M3S-se-Zxe"/>
<segue destination="fdZ-nR-DyF" kind="relationship" relationship="detailViewController" id="YyA-mF-10A"/>
</connections>
</splitViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="kU9-wo-5DS" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-249" y="-118"/>
</scene>
<!--Base Navigation Controller-->
<scene sceneID="fHi-e8-nQE">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="fdZ-nR-DyF" customClass="BaseNavigationController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="qKS-fc-l5b">
<rect key="frame" x="0.0" y="20" width="375" height="96"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="pbU-6g-k6R" kind="relationship" relationship="rootViewController" id="7UG-IW-6xx"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="CuZ-rc-H5X" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="702" y="316"/>
</scene>
</scenes>
<inferredMetricsTieBreakers>
<segue reference="7ib-zC-pd1"/>
</inferredMetricsTieBreakers>
</document>
================================================
FILE: Archit.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
3EEB7D682D5B0E595955661E /* Pods_DomainTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */; };
5DDD960198C32755578FCC06 /* Pods_ArchitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */; };
7ACA6D27D75176DE3C94E936 /* Pods_ArchitUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */; };
810823341FB0C594009F0C43 /* Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; };
8108233B1FB0C594009F0C43 /* CoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8108233A1FB0C594009F0C43 /* CoreTests.swift */; };
8108233D1FB0C594009F0C43 /* Core.h in Headers */ = {isa = PBXBuildFile; fileRef = 8108232D1FB0C594009F0C43 /* Core.h */; settings = {ATTRIBUTES = (Public, ); }; };
810823401FB0C594009F0C43 /* Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; };
810823411FB0C594009F0C43 /* Core.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
810823571FB0C5AA009F0C43 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
8108235E1FB0C5AA009F0C43 /* DomainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8108235D1FB0C5AA009F0C43 /* DomainTests.swift */; };
810823601FB0C5AA009F0C43 /* Domain.h in Headers */ = {isa = PBXBuildFile; fileRef = 810823501FB0C5AA009F0C43 /* Domain.h */; settings = {ATTRIBUTES = (Public, ); }; };
810963D21FB0C42E00B35959 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 810963D01FB0C42E00B35959 /* Main.storyboard */; };
810963D61FB0C42E00B35959 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 810963D51FB0C42E00B35959 /* Assets.xcassets */; };
810963D91FB0C42E00B35959 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */; };
810963DC1FB0C42E00B35959 /* AppManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963DB1FB0C42E00B35959 /* AppManager.swift */; };
810963E51FB0C42E00B35959 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963E41FB0C42E00B35959 /* AppDelegate.swift */; };
810963F81FB0C42E00B35959 /* ArchitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963F71FB0C42E00B35959 /* ArchitTests.swift */; };
810964031FB0C42E00B35959 /* ArchitUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810964021FB0C42E00B35959 /* ArchitUITests.swift */; };
817ED3511FBDE6D90066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
817ED3541FBDE7BE0066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
817ED3551FBDE7C00066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
829582401FDEC1F900DFD9BA /* FilmCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8295823F1FDEC1F900DFD9BA /* FilmCell.swift */; };
8374FD19ACE27BF2EEF1BADF /* Pods_Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5070463760B7BEFCBFA8995E /* Pods_Domain.framework */; };
9AC00EF4802746D651A3FFE3 /* Pods_CoreTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */; };
A4D041333F586D156E01B44E /* Pods_Archit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */; };
D238D4DBD18E34740087505B /* Pods_Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */; };
D5283FA51FB637F7008DCA34 /* FilmSearchNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */; };
D5283FA61FB65079008DCA34 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
D5283FA71FB65079008DCA34 /* Domain.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
D5283FAB1FB71A0E008DCA34 /* SearchFilmServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */; };
D582F4311FB2273A002BDB91 /* FilmsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */; };
D582F4321FB2273A002BDB91 /* FilmsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4301FB2273A002BDB91 /* FilmsController.swift */; };
D582F4341FB22761002BDB91 /* UITableView+Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */; };
D582F4381FB22822002BDB91 /* FilmDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4361FB22821002BDB91 /* FilmDetailController.swift */; };
D582F4391FB22822002BDB91 /* FilmDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */; };
D582F43C1FB239C4002BDB91 /* BaseInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */; };
D582F43E1FB23A8D002BDB91 /* FilmsInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */; };
D582F4481FB38CF1002BDB91 /* NetworkServiceTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */; };
D582F4491FB38CF1002BDB91 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4401FB38CF1002BDB91 /* NetworkService.swift */; };
D582F44A1FB38CF1002BDB91 /* NetworkServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */; };
D582F44B1FB38CF1002BDB91 /* ServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */; };
D582F44C1FB38CF1002BDB91 /* TaskProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */; };
D582F44D1FB38CF1002BDB91 /* ServiceTaskProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */; };
D582F44E1FB38CF1002BDB91 /* ServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4461FB38CF1002BDB91 /* ServiceTask.swift */; };
D582F44F1FB38CF1002BDB91 /* Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4471FB38CF1002BDB91 /* Transformer.swift */; };
D582F4561FB61B5B002BDB91 /* FilmsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4551FB61B5B002BDB91 /* FilmsService.swift */; };
D582F4581FB61C56002BDB91 /* FilmsNetworkTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */; };
D582F45A1FB61D2F002BDB91 /* SearchFilmsServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */; };
D582F45C1FB61D91002BDB91 /* FilmNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */; };
D582F45E1FB620D5002BDB91 /* FilmRatingNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */; };
D582F4601FB62207002BDB91 /* Film.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45F1FB62207002BDB91 /* Film.swift */; };
D582F4631FB62376002BDB91 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
D58D1AA01FB2172000721663 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9A1FB2172000721663 /* BaseViewController.swift */; };
D58D1AA21FB2172000721663 /* BaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */; };
D58D1AA31FB2172000721663 /* BaseController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9E1FB2172000721663 /* BaseController.swift */; };
D5FF818E1FB8AFD600EAC050 /* NetworkServiceConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
810823351FB0C594009F0C43 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8108232A1FB0C594009F0C43;
remoteInfo = Core;
};
810823371FB0C594009F0C43 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 810963C61FB0C42E00B35959;
remoteInfo = Archit;
};
8108233E1FB0C594009F0C43 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8108232A1FB0C594009F0C43;
remoteInfo = Core;
};
810823581FB0C5AA009F0C43 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
remoteInfo = Domain;
};
8108235A1FB0C5AA009F0C43 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 810963C61FB0C42E00B35959;
remoteInfo = Archit;
};
810963F41FB0C42E00B35959 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 810963C61FB0C42E00B35959;
remoteInfo = Archit;
};
810963FF1FB0C42E00B35959 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 810963C61FB0C42E00B35959;
remoteInfo = Archit;
};
D5283FA81FB65079008DCA34 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
remoteInfo = Domain;
};
D582F4611FB6236F002BDB91 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
remoteInfo = Domain;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
810823471FB0C594009F0C43 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
D5283FA71FB65079008DCA34 /* Domain.framework in Embed Frameworks */,
810823411FB0C594009F0C43 /* Core.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests.release.xcconfig"; sourceTree = "<group>"; };
1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Archit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Archit/Pods-Archit.debug.xcconfig"; sourceTree = "<group>"; };
2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DomainTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests.release.xcconfig"; sourceTree = "<group>"; };
31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CoreTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests.debug.xcconfig"; sourceTree = "<group>"; };
4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Archit.release.xcconfig"; path = "Pods/Target Support Files/Pods-Archit/Pods-Archit.release.xcconfig"; sourceTree = "<group>"; };
5070463760B7BEFCBFA8995E /* Pods_Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; };
51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Archit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core/Pods-Core.release.xcconfig"; sourceTree = "<group>"; };
6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CoreTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Domain.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Domain/Pods-Domain.debug.xcconfig"; sourceTree = "<group>"; };
718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core/Pods-Core.debug.xcconfig"; sourceTree = "<group>"; };
72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DomainTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests.debug.xcconfig"; sourceTree = "<group>"; };
7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ArchitUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8108232B1FB0C594009F0C43 /* Core.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Core.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8108232D1FB0C594009F0C43 /* Core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Core.h; sourceTree = "<group>"; };
8108232E1FB0C594009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
810823331FB0C594009F0C43 /* CoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8108233A1FB0C594009F0C43 /* CoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreTests.swift; sourceTree = "<group>"; };
8108233C1FB0C594009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8108234E1FB0C5AA009F0C43 /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; };
810823501FB0C5AA009F0C43 /* Domain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Domain.h; sourceTree = "<group>"; };
810823511FB0C5AA009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
810823561FB0C5AA009F0C43 /* DomainTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DomainTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8108235D1FB0C5AA009F0C43 /* DomainTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainTests.swift; sourceTree = "<group>"; };
8108235F1FB0C5AA009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
810963C71FB0C42E00B35959 /* Archit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Archit.app; sourceTree = BUILT_PRODUCTS_DIR; };
810963D11FB0C42E00B35959 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = UI/Base.lproj/Main.storyboard; sourceTree = "<group>"; };
810963D51FB0C42E00B35959 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Resources/Assets/Assets.xcassets; sourceTree = "<group>"; };
810963D81FB0C42E00B35959 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = UI/Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
810963DB1FB0C42E00B35959 /* AppManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppManager.swift; path = Source/Managers/AppManager.swift; sourceTree = "<group>"; };
810963DE1FB0C42E00B35959 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; name = .gitignore; path = ../.gitignore; sourceTree = "<group>"; };
810963DF1FB0C42E00B35959 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; name = .swiftlint.yml; path = ../.swiftlint.yml; sourceTree = "<group>"; };
810963E01FB0C42E00B35959 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
810963E11FB0C42E00B35959 /* Podfile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
810963E21FB0C42E00B35959 /* Gemfile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Gemfile; path = ../Gemfile; sourceTree = "<group>"; };
810963E31FB0C42E00B35959 /* Rakefile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Rakefile; path = ../Rakefile; sourceTree = "<group>"; };
810963E41FB0C42E00B35959 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = "Supporting Files/AppDelegate.swift"; sourceTree = "<group>"; };
810963E61FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Supporting Files/Info.plist"; sourceTree = "<group>"; };
810963E71FB0C42E00B35959 /* Archit.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Archit.entitlements; path = "Supporting Files/Archit.entitlements"; sourceTree = "<group>"; };
810963E91FB0C42E00B35959 /* bootstrap.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = bootstrap.sh; path = ../Scripts/bootstrap.sh; sourceTree = "<group>"; };
810963EA1FB0C42E00B35959 /* install_pre_commit.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = install_pre_commit.sh; path = ../Scripts/install_pre_commit.sh; sourceTree = "<group>"; };
810963EB1FB0C42E00B35959 /* pre_commit.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = pre_commit.sh; path = ../Scripts/pre_commit.sh; sourceTree = "<group>"; };
810963EC1FB0C42E00B35959 /* highlight_TODOs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = highlight_TODOs.sh; path = ../Scripts/highlight_TODOs.sh; sourceTree = "<group>"; };
810963ED1FB0C42E00B35959 /* symbolicate_crash.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = symbolicate_crash.sh; path = ../Scripts/symbolicate_crash.sh; sourceTree = "<group>"; };
810963F31FB0C42E00B35959 /* ArchitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArchitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
810963F71FB0C42E00B35959 /* ArchitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchitTests.swift; sourceTree = "<group>"; };
810963F91FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArchitUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
810964021FB0C42E00B35959 /* ArchitUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchitUITests.swift; sourceTree = "<group>"; };
810964041FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
817ED3501FBDE6D90066A679 /* LogManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LogManager.swift; path = Source/Managers/LogManager.swift; sourceTree = "<group>"; };
8295823F1FDEC1F900DFD9BA /* FilmCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmCell.swift; sourceTree = "<group>"; };
9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Domain.release.xcconfig"; path = "Pods/Target Support Files/Pods-Domain/Pods-Domain.release.xcconfig"; sourceTree = "<group>"; };
A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DomainTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ArchitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests.release.xcconfig"; sourceTree = "<group>"; };
D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CoreTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests.release.xcconfig"; sourceTree = "<group>"; };
D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmSearchNetworkModel.swift; sourceTree = "<group>"; };
D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchFilmServiceTask.swift; sourceTree = "<group>"; };
D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsViewController.swift; sourceTree = "<group>"; };
D582F4301FB2273A002BDB91 /* FilmsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsController.swift; sourceTree = "<group>"; };
D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Reusable.swift"; sourceTree = "<group>"; };
D582F4361FB22821002BDB91 /* FilmDetailController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmDetailController.swift; sourceTree = "<group>"; };
D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmDetailViewController.swift; sourceTree = "<group>"; };
D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseInteractor.swift; sourceTree = "<group>"; };
D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsInteractor.swift; sourceTree = "<group>"; };
D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkServiceTransformer.swift; sourceTree = "<group>"; };
D582F4401FB38CF1002BDB91 /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = "<group>"; };
D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkServiceProtocol.swift; sourceTree = "<group>"; };
D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceProtocol.swift; sourceTree = "<group>"; };
D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TaskProtocol.swift; sourceTree = "<group>"; };
D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceTaskProtocol.swift; sourceTree = "<group>"; };
D582F4461FB38CF1002BDB91 /* ServiceTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceTask.swift; sourceTree = "<group>"; };
D582F4471FB38CF1002BDB91 /* Transformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transformer.swift; sourceTree = "<group>"; };
D582F4551FB61B5B002BDB91 /* FilmsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmsService.swift; sourceTree = "<group>"; };
D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmsNetworkTransformer.swift; sourceTree = "<group>"; };
D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilmsServiceTask.swift; sourceTree = "<group>"; };
D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmNetworkModel.swift; sourceTree = "<group>"; };
D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmRatingNetworkModel.swift; sourceTree = "<group>"; };
D582F45F1FB62207002BDB91 /* Film.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Film.swift; sourceTree = "<group>"; };
D58D1A9A1FB2172000721663 /* BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseNavigationController.swift; sourceTree = "<group>"; };
D58D1A9E1FB2172000721663 /* BaseController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseController.swift; sourceTree = "<group>"; };
D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkServiceConstants.swift; sourceTree = "<group>"; };
DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests.debug.xcconfig"; sourceTree = "<group>"; };
F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
810823271FB0C594009F0C43 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
D582F4631FB62376002BDB91 /* Domain.framework in Frameworks */,
D238D4DBD18E34740087505B /* Pods_Core.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810823301FB0C594009F0C43 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
810823341FB0C594009F0C43 /* Core.framework in Frameworks */,
9AC00EF4802746D651A3FFE3 /* Pods_CoreTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8108234A1FB0C5AA009F0C43 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8374FD19ACE27BF2EEF1BADF /* Pods_Domain.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810823531FB0C5AA009F0C43 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
810823571FB0C5AA009F0C43 /* Domain.framework in Frameworks */,
3EEB7D682D5B0E595955661E /* Pods_DomainTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963C21FB0C42E00B35959 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
D5283FA61FB65079008DCA34 /* Domain.framework in Frameworks */,
A4D041333F586D156E01B44E /* Pods_Archit.framework in Frameworks */,
810823401FB0C594009F0C43 /* Core.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963F01FB0C42E00B35959 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5DDD960198C32755578FCC06 /* Pods_ArchitTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963FB1FB0C42E00B35959 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7ACA6D27D75176DE3C94E936 /* Pods_ArchitUITests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0C50E9DAB7125D9762128E54 /* Frameworks */ = {
isa = PBXGroup;
children = (
51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */,
AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */,
7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */,
BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */,
6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */,
5070463760B7BEFCBFA8995E /* Pods_Domain.framework */,
A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
453EC2F772010FFBE0B63D78 /* Pods */ = {
isa = PBXGroup;
children = (
1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */,
4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */,
F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */,
C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */,
DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */,
0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */,
718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */,
6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */,
31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */,
D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */,
6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */,
9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */,
72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */,
2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
8108232C1FB0C594009F0C43 /* Core */ = {
isa = PBXGroup;
children = (
D582F4501FB61AA7002BDB91 /* Services */,
D582F4431FB38CF1002BDB91 /* Tasks */,
D582F4401FB38CF1002BDB91 /* NetworkService.swift */,
D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */,
D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */,
D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */,
D582F4471FB38CF1002BDB91 /* Transformer.swift */,
8108232D1FB0C594009F0C43 /* Core.h */,
8108232E1FB0C594009F0C43 /* Info.plist */,
);
path = Core;
sourceTree = "<group>";
};
810823391FB0C594009F0C43 /* CoreTests */ = {
isa = PBXGroup;
children = (
8108233A1FB0C594009F0C43 /* CoreTests.swift */,
8108233C1FB0C594009F0C43 /* Info.plist */,
);
path = CoreTests;
sourceTree = "<group>";
};
8108234F1FB0C5AA009F0C43 /* Domain */ = {
isa = PBXGroup;
children = (
D582F45F1FB62207002BDB91 /* Film.swift */,
810823501FB0C5AA009F0C43 /* Domain.h */,
810823511FB0C5AA009F0C43 /* Info.plist */,
);
path = Domain;
sourceTree = "<group>";
};
8108235C1FB0C5AA009F0C43 /* DomainTests */ = {
isa = PBXGroup;
children = (
8108235D1FB0C5AA009F0C43 /* DomainTests.swift */,
8108235F1FB0C5AA009F0C43 /* Info.plist */,
);
path = DomainTests;
sourceTree = "<group>";
};
810963BC1FB0C42E00B35959 = {
isa = PBXGroup;
children = (
810963C91FB0C42E00B35959 /* Archit */,
810963F61FB0C42E00B35959 /* ArchitTests */,
810964011FB0C42E00B35959 /* ArchitUITests */,
8108232C1FB0C594009F0C43 /* Core */,
810823391FB0C594009F0C43 /* CoreTests */,
8108234F1FB0C5AA009F0C43 /* Domain */,
8108235C1FB0C5AA009F0C43 /* DomainTests */,
810963C81FB0C42E00B35959 /* Products */,
453EC2F772010FFBE0B63D78 /* Pods */,
0C50E9DAB7125D9762128E54 /* Frameworks */,
);
sourceTree = "<group>";
};
810963C81FB0C42E00B35959 /* Products */ = {
isa = PBXGroup;
children = (
810963C71FB0C42E00B35959 /* Archit.app */,
810963F31FB0C42E00B35959 /* ArchitTests.xctest */,
810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */,
8108232B1FB0C594009F0C43 /* Core.framework */,
810823331FB0C594009F0C43 /* CoreTests.xctest */,
8108234E1FB0C5AA009F0C43 /* Domain.framework */,
810823561FB0C5AA009F0C43 /* DomainTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
810963C91FB0C42E00B35959 /* Archit */ = {
isa = PBXGroup;
children = (
810963CA1FB0C42E00B35959 /* Source */,
810963CF1FB0C42E00B35959 /* UI */,
810963D31FB0C42E00B35959 /* Resources */,
810963E81FB0C42E00B35959 /* Scripts */,
810963DD1FB0C42E00B35959 /* Supporting Files */,
);
path = Archit;
sourceTree = "<group>";
};
810963CA1FB0C42E00B35959 /* Source */ = {
isa = PBXGroup;
children = (
D582F4351FB22821002BDB91 /* FilmDetail */,
D582F42E1FB2273A002BDB91 /* Films */,
810963CB1FB0C42E00B35959 /* Base */,
810963DA1FB0C42E00B35959 /* Managers */,
);
name = Source;
sourceTree = "<group>";
};
810963CB1FB0C42E00B35959 /* Base */ = {
isa = PBXGroup;
children = (
D582F43A1FB239C4002BDB91 /* Interactors */,
D582F42D1FB22731002BDB91 /* Extensions */,
D58D1A9D1FB2172000721663 /* Controllers */,
D58D1A991FB2172000721663 /* ViewControllers */,
);
name = Base;
sourceTree = "<group>";
};
810963CF1FB0C42E00B35959 /* UI */ = {
isa = PBXGroup;
children = (
810963D01FB0C42E00B35959 /* Main.storyboard */,
810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */,
);
name = UI;
sourceTree = "<group>";
};
810963D31FB0C42E00B35959 /* Resources */ = {
isa = PBXGroup;
children = (
810963D41FB0C42E00B35959 /* Assets */,
);
name = Resources;
sourceTree = "<group>";
};
810963D41FB0C42E00B35959 /* Assets */ = {
isa = PBXGroup;
children = (
810963D51FB0C42E00B35959 /* Assets.xcassets */,
);
name = Assets;
sourceTree = "<group>";
};
810963DA1FB0C42E00B35959 /* Managers */ = {
isa = PBXGroup;
children = (
810963DB1FB0C42E00B35959 /* AppManager.swift */,
817ED3501FBDE6D90066A679 /* LogManager.swift */,
);
name = Managers;
sourceTree = "<group>";
};
810963DD1FB0C42E00B35959 /* Supporting Files */ = {
isa = PBXGroup;
children = (
810963DE1FB0C42E00B35959 /* .gitignore */,
810963DF1FB0C42E00B35959 /* .swiftlint.yml */,
810963E01FB0C42E00B35959 /* README.md */,
810963E11FB0C42E00B35959 /* Podfile */,
810963E21FB0C42E00B35959 /* Gemfile */,
810963E31FB0C42E00B35959 /* Rakefile */,
810963E41FB0C42E00B35959 /* AppDelegate.swift */,
810963E61FB0C42E00B35959 /* Info.plist */,
810963E71FB0C42E00B35959 /* Archit.entitlements */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
810963E81FB0C42E00B35959 /* Scripts */ = {
isa = PBXGroup;
children = (
810963E91FB0C42E00B35959 /* bootstrap.sh */,
810963EA1FB0C42E00B35959 /* install_pre_commit.sh */,
810963EB1FB0C42E00B35959 /* pre_commit.sh */,
810963EC1FB0C42E00B35959 /* highlight_TODOs.sh */,
810963ED1FB0C42E00B35959 /* symbolicate_crash.sh */,
);
name = Scripts;
sourceTree = "<group>";
};
810963F61FB0C42E00B35959 /* ArchitTests */ = {
isa = PBXGroup;
children = (
810963F71FB0C42E00B35959 /* ArchitTests.swift */,
810963F91FB0C42E00B35959 /* Info.plist */,
);
path = ArchitTests;
sourceTree = "<group>";
};
810964011FB0C42E00B35959 /* ArchitUITests */ = {
isa = PBXGroup;
children = (
810964021FB0C42E00B35959 /* ArchitUITests.swift */,
810964041FB0C42E00B35959 /* Info.plist */,
);
path = ArchitUITests;
sourceTree = "<group>";
};
D582F42D1FB22731002BDB91 /* Extensions */ = {
isa = PBXGroup;
children = (
D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */,
);
name = Extensions;
path = Source/Base/Extensions;
sourceTree = "<group>";
};
D582F42E1FB2273A002BDB91 /* Films */ = {
isa = PBXGroup;
children = (
D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */,
D582F4301FB2273A002BDB91 /* FilmsController.swift */,
D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */,
8295823F1FDEC1F900DFD9BA /* FilmCell.swift */,
);
name = Films;
path = Source/Films;
sourceTree = "<group>";
};
D582F4351FB22821002BDB91 /* FilmDetail */ = {
isa = PBXGroup;
children = (
D582F4361FB22821002BDB91 /* FilmDetailController.swift */,
D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */,
);
name = FilmDetail;
path = Source/FilmDetail;
sourceTree = "<group>";
};
D582F43A1FB239C4002BDB91 /* Interactors */ = {
isa = PBXGroup;
children = (
D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */,
);
name = Interactors;
path = Source/Base/Interactors;
sourceTree = "<group>";
};
D582F4431FB38CF1002BDB91 /* Tasks */ = {
isa = PBXGroup;
children = (
D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */,
D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */,
D582F4461FB38CF1002BDB91 /* ServiceTask.swift */,
);
path = Tasks;
sourceTree = "<group>";
};
D582F4501FB61AA7002BDB91 /* Services */ = {
isa = PBXGroup;
children = (
D582F4511FB61AA7002BDB91 /* Films */,
D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */,
);
path = Services;
sourceTree = "<group>";
};
D582F4511FB61AA7002BDB91 /* Films */ = {
isa = PBXGroup;
children = (
D582F4531FB61B20002BDB91 /* NetworkModels */,
D582F4521FB61ADC002BDB91 /* Tasks */,
D582F4551FB61B5B002BDB91 /* FilmsService.swift */,
);
path = Films;
sourceTree = "<group>";
};
D582F4521FB61ADC002BDB91 /* Tasks */ = {
isa = PBXGroup;
children = (
D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */,
D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */,
);
path = Tasks;
sourceTree = "<group>";
};
D582F4531FB61B20002BDB91 /* NetworkModels */ = {
isa = PBXGroup;
children = (
D582F4541FB61B20002BDB91 /* Transformers */,
D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */,
D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */,
D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */,
);
path = NetworkModels;
sourceTree = "<group>";
};
D582F4541FB61B20002BDB91 /* Transformers */ = {
isa = PBXGroup;
children = (
D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */,
);
path = Transformers;
sourceTree = "<group>";
};
D58D1A991FB2172000721663 /* ViewControllers */ = {
isa = PBXGroup;
children = (
D58D1A9A1FB2172000721663 /* BaseViewController.swift */,
D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */,
);
name = ViewControllers;
path = Source/Base/ViewControllers;
sourceTree = "<group>";
};
D58D1A9D1FB2172000721663 /* Controllers */ = {
isa = PBXGroup;
children = (
D58D1A9E1FB2172000721663 /* BaseController.swift */,
);
name = Controllers;
path = Source/Base/Controllers;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
810823281FB0C594009F0C43 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8108233D1FB0C594009F0C43 /* Core.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8108234B1FB0C5AA009F0C43 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
810823601FB0C5AA009F0C43 /* Domain.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8108232A1FB0C594009F0C43 /* Core */ = {
isa = PBXNativeTarget;
buildConfigurationList = 810823461FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "Core" */;
buildPhases = (
A70251AF5242BB1FB4D76DC4 /* [CP] Check Pods Manifest.lock */,
810823261FB0C594009F0C43 /* Sources */,
810823271FB0C594009F0C43 /* Frameworks */,
810823281FB0C594009F0C43 /* Headers */,
810823291FB0C594009F0C43 /* Resources */,
89B60B53987246746319F05E /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
D582F4621FB6236F002BDB91 /* PBXTargetDependency */,
);
name = Core;
productName = Core;
productReference = 8108232B1FB0C594009F0C43 /* Core.framework */;
productType = "com.apple.product-type.framework";
};
810823321FB0C594009F0C43 /* CoreTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 810823481FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "CoreTests" */;
buildPhases = (
452642ACA2C3428799FC033D /* [CP] Check Pods Manifest.lock */,
8108232F1FB0C594009F0C43 /* Sources */,
810823301FB0C594009F0C43 /* Frameworks */,
810823311FB0C594009F0C43 /* Resources */,
0F37892F8817CE819F40D9A6 /* [CP] Embed Pods Frameworks */,
636D67D5F6390556A8BD50DD /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
810823361FB0C594009F0C43 /* PBXTargetDependency */,
810823381FB0C594009F0C43 /* PBXTargetDependency */,
);
name = CoreTests;
productName = CoreTests;
productReference = 810823331FB0C594009F0C43 /* CoreTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
8108234D1FB0C5AA009F0C43 /* Domain */ = {
isa = PBXNativeTarget;
buildConfigurationList = 810823651FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "Domain" */;
buildPhases = (
E2136BF17F8A3DEF9F4A1195 /* [CP] Check Pods Manifest.lock */,
810823491FB0C5AA009F0C43 /* Sources */,
8108234A1FB0C5AA009F0C43 /* Frameworks */,
8108234B1FB0C5AA009F0C43 /* Headers */,
8108234C1FB0C5AA009F0C43 /* Resources */,
E91F414484FC9B3AA62D4E29 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = Domain;
productName = Domain;
productReference = 8108234E1FB0C5AA009F0C43 /* Domain.framework */;
productType = "com.apple.product-type.framework";
};
810823551FB0C5AA009F0C43 /* DomainTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 810823681FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "DomainTests" */;
buildPhases = (
41A442F7078D29AA5D1A5918 /* [CP] Check Pods Manifest.lock */,
810823521FB0C5AA009F0C43 /* Sources */,
810823531FB0C5AA009F0C43 /* Frameworks */,
810823541FB0C5AA009F0C43 /* Resources */,
7F81C44A7B1C126DC779A3DC /* [CP] Embed Pods Frameworks */,
23CDF29E49343CB6508661F9 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
810823591FB0C5AA009F0C43 /* PBXTargetDependency */,
8108235B1FB0C5AA009F0C43 /* PBXTargetDependency */,
);
name = DomainTests;
productName = DomainTests;
productReference = 810823561FB0C5AA009F0C43 /* DomainTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
810963C61FB0C42E00B35959 /* Archit */ = {
isa = PBXNativeTarget;
buildConfigurationList = 810964071FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "Archit" */;
buildPhases = (
D54E865DFBE4F5F4CC7E544F /* [CP] Check Pods Manifest.lock */,
810963C51FB0C42E00B35959 /* SwiftLint */,
810963C11FB0C42E00B35959 /* Sources */,
810963C21FB0C42E00B35959 /* Frameworks */,
810963C31FB0C42E00B35959 /* Resources */,
810963C41FB0C42E00B35959 /* Warn for TODO comments */,
3B4FD5073CD38F0F60C345E8 /* [CP] Embed Pods Frameworks */,
35C5FB7F0755D3EFAA4635EE /* [CP] Copy Pods Resources */,
810823471FB0C594009F0C43 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
8108233F1FB0C594009F0C43 /* PBXTargetDependency */,
D5283FA91FB65079008DCA34 /* PBXTargetDependency */,
);
name = Archit;
productName = Archit;
productReference = 810963C71FB0C42E00B35959 /* Archit.app */;
productType = "com.apple.product-type.application";
};
810963F21FB0C42E00B35959 /* ArchitTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8109640A1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitTests" */;
buildPhases = (
AC65870F4B808B6F1D6ACFC2 /* [CP] Check Pods Manifest.lock */,
810963EF1FB0C42E00B35959 /* Sources */,
810963F01FB0C42E00B35959 /* Frameworks */,
810963F11FB0C42E00B35959 /* Resources */,
9ADDCB0970EBE40438EF37CC /* [CP] Embed Pods Frameworks */,
3268D978B2F1F7A8A29C903E /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
810963F51FB0C42E00B35959 /* PBXTargetDependency */,
);
name = ArchitTests;
productName = ArchitTests;
productReference = 810963F31FB0C42E00B35959 /* ArchitTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
810963FD1FB0C42E00B35959 /* ArchitUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8109640D1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitUITests" */;
buildPhases = (
4D84A2421C75345F1C6DCE15 /* [CP] Check Pods Manifest.lock */,
810963FA1FB0C42E00B35959 /* Sources */,
810963FB1FB0C42E00B35959 /* Frameworks */,
810963FC1FB0C42E00B35959 /* Resources */,
F8FD364DD128DF2C62AABF3E /* [CP] Embed Pods Frameworks */,
0C9C06862454884A9ECA317F /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
810964001FB0C42E00B35959 /* PBXTargetDependency */,
);
name = ArchitUITests;
productName = ArchitUITests;
productReference = 810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
810963BD1FB0C42E00B35959 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0910;
LastUpgradeCheck = 0910;
ORGANIZATIONNAME = Intelygenz;
TargetAttributes = {
8108232A1FB0C594009F0C43 = {
CreatedOnToolsVersion = 9.1;
LastSwiftMigration = 0910;
ProvisioningStyle = Automatic;
};
810823321FB0C594009F0C43 = {
CreatedOnToolsVersion = 9.1;
ProvisioningStyle = Automatic;
TestTargetID = 810963C61FB0C42E00B35959;
};
8108234D1FB0C5AA009F0C43 = {
CreatedOnToolsVersion = 9.1;
LastSwiftMigration = 0910;
ProvisioningStyle = Automatic;
};
810823551FB0C5AA009F0C43 = {
CreatedOnToolsVersion = 9.1;
ProvisioningStyle = Automatic;
TestTargetID = 810963C61FB0C42E00B35959;
};
810963C61FB0C42E00B35959 = {
CreatedOnToolsVersion = 9.1;
ProvisioningStyle = Automatic;
};
810963F21FB0C42E00B35959 = {
CreatedOnToolsVersion = 9.1;
ProvisioningStyle = Automatic;
TestTargetID = 810963C61FB0C42E00B35959;
};
810963FD1FB0C42E00B35959 = {
CreatedOnToolsVersion = 9.1;
ProvisioningStyle = Automatic;
TestTargetID = 810963C61FB0C42E00B35959;
};
};
};
buildConfigurationList = 810963C01FB0C42E00B35959 /* Build configuration list for PBXProject "Archit" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 810963BC1FB0C42E00B35959;
productRefGroup = 810963C81FB0C42E00B35959 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
810963C61FB0C42E00B35959 /* Archit */,
810963F21FB0C42E00B35959 /* ArchitTests */,
810963FD1FB0C42E00B35959 /* ArchitUITests */,
8108232A1FB0C594009F0C43 /* Core */,
810823321FB0C594009F0C43 /* CoreTests */,
8108234D1FB0C5AA009F0C43 /* Domain */,
810823551FB0C5AA009F0C43 /* DomainTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
810823291FB0C594009F0C43 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
810823311FB0C594009F0C43 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8108234C1FB0C5AA009F0C43 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
810823541FB0C5AA009F0C43 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
810963C31FB0C42E00B35959 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
810963D91FB0C42E00B35959 /* LaunchScreen.storyboard in Resources */,
810963D61FB0C42E00B35959 /* Assets.xcassets in Resources */,
810963D21FB0C42E00B35959 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963F11FB0C42E00B35959 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
810963FC1FB0C42E00B35959 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
0C9C06862454884A9ECA317F /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
0F37892F8817CE819F40D9A6 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
"${BUILT_PRODUCTS_DIR}/NetClient/Net.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Net.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
23CDF29E49343CB6508661F9 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
3268D978B2F1F7A8A29C903E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
35C5FB7F0755D3EFAA4635EE /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-resources.sh\"\n";
showEnvVarsInLog = 0;
};
3B4FD5073CD38F0F60C345E8 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework",
"${BUILT_PRODUCTS_DIR}/Kommander/Kommander.framework",
"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
"${BUILT_PRODUCTS_DIR}/Reusable/Reusable.framework",
"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
"${BUILT_PRODUCTS_DIR}/NetClient/Net.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kommander.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reusable.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Net.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
41A442F7078D29AA5D1A5918 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-DomainTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
452642ACA2C3428799FC033D /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-CoreTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
4D84A2421C75345F1C6DCE15 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ArchitUITests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
636D67D5F6390556A8BD50DD /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
7F81C44A7B1C126DC779A3DC /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
810963C41FB0C42E00B35959 /* Warn for TODO comments */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Warn for TODO comments";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/highlight_TODOs.sh\"";
};
810963C51FB0C42E00B35959 /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = SwiftLint;
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/SwiftLint/swiftlint\"";
};
89B60B53987246746319F05E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core/Pods-Core-resources.sh\"\n";
showEnvVarsInLog = 0;
};
9ADDCB0970EBE40438EF37CC /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
A70251AF5242BB1FB4D76DC4 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Core-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
AC65870F4B808B6F1D6ACFC2 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ArchitTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
D54E865DFBE4F5F4CC7E544F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Archit-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
E2136BF17F8A3DEF9F4A1195 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Domain-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
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";
showEnvVarsInLog = 0;
};
E91F414484FC9B3AA62D4E29 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Domain/Pods-Domain-resources.sh\"\n";
showEnvVarsInLog = 0;
};
F8FD364DD128DF2C62AABF3E /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
"${BUILT_PRODUCTS_DIR}/Cucumberish/Cucumberish.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cucumberish.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
810823261FB0C594009F0C43 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
817ED3541FBDE7BE0066A679 /* LogManager.swift in Sources */,
D5FF818E1FB8AFD600EAC050 /* NetworkServiceConstants.swift in Sources */,
D582F4581FB61C56002BDB91 /* FilmsNetworkTransformer.swift in Sources */,
D582F4491FB38CF1002BDB91 /* NetworkService.swift in Sources */,
D582F4481FB38CF1002BDB91 /* NetworkServiceTransformer.swift in Sources */,
D582F4561FB61B5B002BDB91 /* FilmsService.swift in Sources */,
D582F45C1FB61D91002BDB91 /* FilmNetworkModel.swift in Sources */,
D5283FAB1FB71A0E008DCA34 /* SearchFilmServiceTask.swift in Sources */,
D582F44E1FB38CF1002BDB91 /* ServiceTask.swift in Sources */,
D582F44D1FB38CF1002BDB91 /* ServiceTaskProtocol.swift in Sources */,
D582F45A1FB61D2F002BDB91 /* SearchFilmsServiceTask.swift in Sources */,
D582F45E1FB620D5002BDB91 /* FilmRatingNetworkModel.swift in Sources */,
D582F44A1FB38CF1002BDB91 /* NetworkServiceProtocol.swift in Sources */,
D582F44B1FB38CF1002BDB91 /* ServiceProtocol.swift in Sources */,
D582F44C1FB38CF1002BDB91 /* TaskProtocol.swift in Sources */,
D5283FA51FB637F7008DCA34 /* FilmSearchNetworkModel.swift in Sources */,
D582F44F1FB38CF1002BDB91 /* Transformer.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8108232F1FB0C594009F0C43 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8108233B1FB0C594009F0C43 /* CoreTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810823491FB0C5AA009F0C43 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
817ED3551FBDE7C00066A679 /* LogManager.swift in Sources */,
D582F4601FB62207002BDB91 /* Film.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810823521FB0C5AA009F0C43 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8108235E1FB0C5AA009F0C43 /* DomainTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963C11FB0C42E00B35959 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D582F4311FB2273A002BDB91 /* FilmsViewController.swift in Sources */,
810963E51FB0C42E00B35959 /* AppDelegate.swift in Sources */,
817ED3511FBDE6D90066A679 /* LogManager.swift in Sources */,
D582F4321FB2273A002BDB91 /* FilmsController.swift in Sources */,
810963DC1FB0C42E00B35959 /* AppManager.swift in Sources */,
D582F4341FB22761002BDB91 /* UITableView+Reusable.swift in Sources */,
D582F4381FB22822002BDB91 /* FilmDetailController.swift in Sources */,
829582401FDEC1F900DFD9BA /* FilmCell.swift in Sources */,
D58D1AA21FB2172000721663 /* BaseNavigationController.swift in Sources */,
D58D1AA31FB2172000721663 /* BaseController.swift in Sources */,
D582F43C1FB239C4002BDB91 /* BaseInteractor.swift in Sources */,
D582F4391FB22822002BDB91 /* FilmDetailViewController.swift in Sources */,
D582F43E1FB23A8D002BDB91 /* FilmsInteractor.swift in Sources */,
D58D1AA01FB2172000721663 /* BaseViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963EF1FB0C42E00B35959 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
810963F81FB0C42E00B35959 /* ArchitTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810963FA1FB0C42E00B35959 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
810964031FB0C42E00B35959 /* ArchitUITests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
810823361FB0C594009F0C43 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8108232A1FB0C594009F0C43 /* Core */;
targetProxy = 810823351FB0C594009F0C43 /* PBXContainerItemProxy */;
};
810823381FB0C594009F0C43 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 810963C61FB0C42E00B35959 /* Archit */;
targetProxy = 810823371FB0C594009F0C43 /* PBXContainerItemProxy */;
};
8108233F1FB0C594009F0C43 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8108232A1FB0C594009F0C43 /* Core */;
targetProxy = 8108233E1FB0C594009F0C43 /* PBXContainerItemProxy */;
};
810823591FB0C5AA009F0C43 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8108234D1FB0C5AA009F0C43 /* Domain */;
targetProxy = 810823581FB0C5AA009F0C43 /* PBXContainerItemProxy */;
};
8108235B1FB0C5AA009F0C43 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 810963C61FB0C42E00B35959 /* Archit */;
targetProxy = 8108235A1FB0C5AA009F0C43 /* PBXContainerItemProxy */;
};
810963F51FB0C42E00B35959 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 810963C61FB0C42E00B35959 /* Archit */;
targetProxy = 810963F41FB0C42E00B35959 /* PBXContainerItemProxy */;
};
810964001FB0C42E00B35959 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 810963C61FB0C42E00B35959 /* Archit */;
targetProxy = 810963FF1FB0C42E00B35959 /* PBXContainerItemProxy */;
};
D5283FA91FB65079008DCA34 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8108234D1FB0C5AA009F0C43 /* Domain */;
targetProxy = D5283FA81FB65079008DCA34 /* PBXContainerItemProxy */;
};
D582F4621FB6236F002BDB91 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8108234D1FB0C5AA009F0C43 /* Domain */;
targetProxy = D582F4611FB6236F002BDB91 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
810963D01FB0C42E00B35959 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
810963D11FB0C42E00B35959 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
810963D81FB0C42E00B35959 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
810823421FB0C594009F0C43 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Core/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Core;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
810823431FB0C594009F0C43 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Core/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Core;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
810823441FB0C594009F0C43 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = CoreTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.CoreTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Debug;
};
810823451FB0C594009F0C43 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = CoreTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.CoreTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Release;
};
810823661FB0C5AA009F0C43 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Domain/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Domain;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
810823671FB0C5AA009F0C43 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Domain/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Domain;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
810823691FB0C5AA009F0C43 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = DomainTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.DomainTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Debug;
};
8108236A1FB0C5AA009F0C43 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = DomainTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.DomainTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Release;
};
810964051FB0C42E00B35959 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
APS_ENVIRONMENT = development;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_OBJC_DEALLOC = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_CODE_COVERAGE = YES;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_CXX0X_EXTENSIONS = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
CODE_SIGN_ENTITLEMENTS = "Archit/Supporting Files/Archit.entitlements";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_TEST_COVERAGE_FILES = YES;
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "Archit/Supporting Files/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=200";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
810964061FB0C42E00B35959 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
APS_ENVIRONMENT = production;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_OBJC_DEALLOC = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_CODE_COVERAGE = YES;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_CXX0X_EXTENSIONS = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
CODE_SIGN_ENTITLEMENTS = "Archit/Supporting Files/Archit.entitlements";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_GENERATE_TEST_COVERAGE_FILES = YES;
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "Archit/Supporting Files/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 11.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=200";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
810964081FB0C42E00B35959 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
};
name = Debug;
};
810964091FB0C42E00B35959 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
};
name = Release;
};
8109640B1FB0C42E00B35959 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ArchitTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Debug;
};
8109640C1FB0C42E00B35959 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ArchitTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
};
name = Release;
};
8109640E1FB0C42E00B35959 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ArchitUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = Archit;
};
name = Debug;
};
8109640F1FB0C42E00B35959 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 3VW789WSMP;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ArchitUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = Archit;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
810823461FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "Core" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810823421FB0C594009F0C43 /* Debug */,
810823431FB0C594009F0C43 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
810823481FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "CoreTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810823441FB0C594009F0C43 /* Debug */,
810823451FB0C594009F0C43 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
810823651FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "Domain" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810823661FB0C5AA009F0C43 /* Debug */,
810823671FB0C5AA009F0C43 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
810823681FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "DomainTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810823691FB0C5AA009F0C43 /* Debug */,
8108236A1FB0C5AA009F0C43 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
810963C01FB0C42E00B35959 /* Build configuration list for PBXProject "Archit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810964051FB0C42E00B35959 /* Debug */,
810964061FB0C42E00B35959 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
810964071FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "Archit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
810964081FB0C42E00B35959 /* Debug */,
810964091FB0C42E00B35959 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8109640A1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8109640B1FB0C42E00B35959 /* Debug */,
8109640C1FB0C42E00B35959 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8109640D1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8109640E1FB0C42E00B35959 /* Debug */,
8109640F1FB0C42E00B35959 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 810963BD1FB0C42E00B35959 /* Project object */;
}
================================================
FILE: Archit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Archit.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Archit.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0910"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963C61FB0C42E00B35959"
BuildableName = "Archit.app"
BlueprintName = "Archit"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES"
codeCoverageEnabled = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963F21FB0C42E00B35959"
BuildableName = "ArchitTests.xctest"
BlueprintName = "ArchitTests"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963FD1FB0C42E00B35959"
BuildableName = "ArchitUITests.xctest"
BlueprintName = "ArchitUITests"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810823321FB0C594009F0C43"
BuildableName = "CoreTests.xctest"
BlueprintName = "CoreTests"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810823551FB0C5AA009F0C43"
BuildableName = "DomainTests.xctest"
BlueprintName = "DomainTests"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963C61FB0C42E00B35959"
BuildableName = "Archit.app"
BlueprintName = "Archit"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963C61FB0C42E00B35959"
BuildableName = "Archit.app"
BlueprintName = "Archit"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "810963C61FB0C42E00B35959"
BuildableName = "Archit.app"
BlueprintName = "Archit"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Core.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0910"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108232A1FB0C594009F0C43"
BuildableName = "Core.framework"
BlueprintName = "Core"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES"
codeCoverageEnabled = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108232A1FB0C594009F0C43"
BuildableName = "Core.framework"
BlueprintName = "Core"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108232A1FB0C594009F0C43"
BuildableName = "Core.framework"
BlueprintName = "Core"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Domain.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0910"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
BuildableName = "Domain.framework"
BlueprintName = "Domain"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES"
codeCoverageEnabled = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
BuildableName = "Domain.framework"
BlueprintName = "Domain"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
BuildableName = "Domain.framework"
BlueprintName = "Domain"
ReferencedContainer = "container:Archit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Archit.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Archit.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: Archit.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "3"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
scope = "0"
stopOnStyle = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "UIViewAlertForUnsatisfiableConstraints"
moduleName = "">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "UIViewAlertForUnsatisfiableConstraints"
moduleName = "UIKit"
usesParentBreakpointCondition = "Yes"
offsetFromSymbolStart = "0">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
================================================
FILE: ArchitTests/ArchitTests.swift
================================================
// ArchitTests.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import XCTest
@testable import Archit
class ArchitTests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
================================================
FILE: ArchitTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
================================================
FILE: ArchitUITests/ArchitUITests.swift
================================================
// ArchitUITests.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import XCTest
class ArchitUITests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
continueAfterFailure = false
// UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
XCUIApplication().launch()
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
}
================================================
FILE: ArchitUITests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at info@intelygenz.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
================================================
FILE: Core/Core.h
================================================
// Core.h
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
#import <UIKit/UIKit.h>
//! Project version number for Core.
FOUNDATION_EXPORT double CoreVersionNumber;
//! Project version string for Core.
FOUNDATION_EXPORT const unsigned char CoreVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Core/PublicHeader.h>
================================================
FILE: Core/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Core/NetworkService.swift
================================================
// NetworkService.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
public class NetworkService: NetworkServiceProtocol {
public init() {}
}
================================================
FILE: Core/NetworkServiceProtocol.swift
================================================
// NetworkServiceProtocol.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
public enum NetworkServiceError: Error {
case serviceError(message: String, underlying: ServiceTaskError)
public var localizedDescription: String {
switch self {
case .serviceError(_, let underlying):
return underlying.localizedDescription
}
}
}
public protocol NetworkServiceProtocol: ServiceProtocol {
func cancel(_ tasks: [TaskProtocol])
}
public extension NetworkServiceProtocol {
func cancel(_ tasks: [TaskProtocol]) {
tasks.forEach { task in
task.cancel()
}
}
}
================================================
FILE: Core/NetworkServiceTransformer.swift
================================================
// NetworkServiceTransformer.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
class NetworkServiceTransformer<Source: Codable, Result>: Transformer {
func transform(source: Source) -> Result? {
assertionFailure("You should use your own NetworkServiceTransformer subclass.")
return nil
}
func transform(result: Result) -> Source? {
assertionFailure("You should use your own NetworkServiceTransformer subclass.")
return nil
}
}
================================================
FILE: Core/ServiceProtocol.swift
================================================
// ServiceProtocol.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
public protocol ServiceProtocol {}
================================================
FILE: Core/Services/Films/FilmsService.swift
================================================
// FilmsService.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Domain
public protocol FilmsServiceProtocol: NetworkServiceProtocol {
func searchFilm(_ imdbID: String, type: String?) throws -> Film
func searchFilms(_ query: String, type: String?, page: Int) throws -> (films: [Film], total: Int)
}
public class FilmsService: NetworkService, FilmsServiceProtocol {
private var transformer = FilmsNetworkTransformer()
public func searchFilm(_ imdbID: String, type: String?) throws -> Film {
let searchFilmServiceTask = SearchFilmServiceTask(imdbID, type: type)
do {
guard let film = try searchFilmServiceTask.execute() as? FilmNetworkModel else {
throw ServiceTaskError.parserError(message: "Service task parsing error.", underlying: nil)
}
guard let result = transformer.transform(source: film) else {
throw ServiceTaskError.parserError(message: "Not found.", underlying: nil)
}
return result
} catch {
guard let serviceTaskError = error as? ServiceTaskError else {
throw NetworkServiceError.serviceError(message: "Service error.", underlying: ServiceTaskError.parserError(message: "Service task error.", underlying: nil))
}
throw NetworkServiceError.serviceError(message: "Can't find films.", underlying: serviceTaskError)
}
}
public func searchFilms(_ query: String, type: String?, page: Int) throws -> (films: [Film], total: Int) {
let searchFilmsServiceTask = SearchFilmsServiceTask(query, type: type, page: page)
do {
guard let search = try searchFilmsServiceTask.execute() as? FilmSearchNetworkModel else {
throw ServiceTaskError.parserError(message: "Service task parsing error.", underlying: nil)
}
guard let results = search.results, let total = search.total, let totalInt = Int(total) else {
throw ServiceTaskError.parserError(message: search.error ?? "No results.", underlying: nil)
}
return (transformer.transform(source: results), totalInt)
} catch {
guard let serviceTaskError = error as? ServiceTaskError else {
throw NetworkServiceError.serviceError(message: "Service error.", underlying: ServiceTaskError.parserError(message: "Service task error.", underlying: nil))
}
throw NetworkServiceError.serviceError(message: "Can't find films.", underlying: serviceTaskError)
}
}
}
================================================
FILE: Core/Services/Films/NetworkModels/FilmNetworkModel.swift
================================================
// FilmNetworkModel.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
struct FilmNetworkModel: Codable {
let title: String
let year: String
let poster: String
let imdbID: String
let type: String
let rated: String?
let released: String?
let runtime: String?
let genre: String?
let director: String?
let writer: String?
let actors: String?
let plot: String?
let language: String?
let country: String?
let awards: String?
let ratings: [FilmRatingNetworkModel]?
let metascore: String?
let imdbRating: String?
let imdbVotes: String?
let dvd: String?
let boxOffice: String?
let production: String?
let website: String?
enum CodingKeys: String, CodingKey {
case title = "Title"
case year = "Year"
case poster = "Poster"
case imdbID = "imdbID"
case type = "Type"
case rated = "Rated"
case released = "Released"
case runtime = "Runtime"
case genre = "Genre"
case director = "Director"
case writer = "Writer"
case actors = "Actors"
case plot = "Plot"
case language = "Language"
case country = "Country"
case awards = "Awards"
case ratings = "Ratings"
case metascore = "Metascore"
case imdbRating = "imdbRating"
case imdbVotes = "imdbVotes"
case dvd = "DVD"
case boxOffice = "BoxOffice"
case production = "Production"
case website = "Website"
}
}
================================================
FILE: Core/Services/Films/NetworkModels/FilmRatingNetworkModel.swift
================================================
// FilmRatingNetworkModel.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
struct FilmRatingNetworkModel: Codable {
let source: String
let value: String
enum CodingKeys: String, CodingKey {
case source = "Source"
case value = "Value"
}
}
================================================
FILE: Core/Services/Films/NetworkModels/FilmSearchNetworkModel.swift
================================================
// FilmSearchNetworkModel.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
struct FilmSearchNetworkModel: Codable {
let results: [FilmNetworkModel]?
let total: String?
let response: String
let error: String?
enum CodingKeys: String, CodingKey {
case results = "Search"
case total = "totalResults"
case response = "Response"
case error = "Error"
}
}
================================================
FILE: Core/Services/Films/NetworkModels/Transformers/FilmsNetworkTransformer.swift
================================================
// FilmsNetworkTransformer.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Domain
class FilmsNetworkTransformer: NetworkServiceTransformer<FilmNetworkModel, Film> {
private static let dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d MMM yyyy"
return dateFormatter
}()
override func transform(source: FilmNetworkModel) -> Film? {
var ratings = [String: String]()
source.ratings?.forEach({ rating in
ratings[rating.source] = rating.value
})
var releasedDate: Date?
if let released = source.released {
releasedDate = FilmsNetworkTransformer.dateFormatter.date(from: released)
}
var runtimeInterval: TimeInterval?
if let runtime = source.runtime, runtime.contains(" min"), let timeInterval = TimeInterval(runtime.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()) {
runtimeInterval = timeInterval * 60
}
var dvdDate: Date?
if let dvd = source.dvd {
dvdDate = FilmsNetworkTransformer.dateFormatter.date(from: dvd)
}
var websiteURL: URL?
if let website = source.website, website != "N/A" {
websiteURL = URL(string: website)
}
var posterURL: URL?
if source.poster != "N/A" {
posterURL = URL(string: source.poster)
}
return Film(imdbID: source.imdbID, title: source.title, year: source.year, type: source.type, ratings: ratings, poster: posterURL, rated: source.rated, released: releasedDate, runtime: runtimeInterval, genre: source.genre, director: source.director, writer: source.writer, actors: source.actors, plot: source.plot, language: source.language, country: source.country, awards: source.awards, metascore: source.metascore, imdbRating: source.imdbRating, imdbVotes: source.imdbVotes, dvd: dvdDate, boxOffice: source.boxOffice, production: source.production, website: websiteURL)
}
}
================================================
FILE: Core/Services/Films/Tasks/SearchFilmServiceTask.swift
================================================
// SearchFilmServiceTask.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Net
class SearchFilmServiceTask: ServiceTask {
let imdbID: String
let type: String?
init(_ imdbID: String, type: String?) {
self.imdbID = imdbID
self.type = type
}
override func parse(_ response: NetResponse) throws -> Any? {
return try response.decode() as FilmNetworkModel
}
override func execute() throws -> Any? {
requestBuilder = NetRequest.builder(NetworkServiceConstants.Host.api)?
.addURLParameter(NetworkServiceConstants.Parameters.Search.imdbID.rawValue, value: imdbID)
.addURLParameter(NetworkServiceConstants.Parameters.Search.plot.rawValue, value: NetworkServiceConstants.Values.Search.Plot.full.rawValue)
if let type = type {
requestBuilder?.addURLParameter(NetworkServiceConstants.Parameters.Search.type.rawValue, value: NetworkServiceConstants.Values.Search.SearchType(rawValue: type))
}
return try super.execute()
}
}
================================================
FILE: Core/Services/Films/Tasks/SearchFilmsServiceTask.swift
================================================
// SearchFilmsServiceTask.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Net
class SearchFilmsServiceTask: ServiceTask {
let query: String
let type: String?
let page: Int
init(_ query: String, type: String?, page: Int) {
self.query = query
self.type = type
self.page = page
}
override func parse(_ response: NetResponse) throws -> Any? {
return try response.decode() as FilmSearchNetworkModel
}
override func execute() throws -> Any? {
guard NetworkServiceConstants.Values.Search.PageRange.contains(page) else {
throw ServiceTaskError.netError(message: "Service task pagination error.", underlying: nil)
}
requestBuilder = NetRequest.builder(NetworkServiceConstants.Host.api)?
.addURLParameter(NetworkServiceConstants.Parameters.Search.title.rawValue, value: query)
.addURLParameter(NetworkServiceConstants.Parameters.Search.page.rawValue, value: page)
if let type = type {
requestBuilder?.addURLParameter(NetworkServiceConstants.Parameters.Search.type.rawValue, value: NetworkServiceConstants.Values.Search.SearchType(rawValue: type))
}
return try super.execute()
}
}
================================================
FILE: Core/Services/NetworkServiceConstants.swift
================================================
// NetworkServiceConstants.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
struct NetworkServiceConstants {
struct Host {
static let api = "http://www.omdbapi.com/"
static let poster = "http://img.omdbapi.com/"
}
struct Parameters {
enum Search: String {
case imdbID = "i"
case title = "s"
case type
case year = "y"
case plot
case page
case callback
}
static let key = "apikey"
static let version = "v"
static let format = "r"
}
struct Values {
struct Search {
enum SearchType: String {
case movie, series, episode
}
enum Plot: String {
case short, full
}
static let PageRange = 1...100
}
static let key = "25a206c6"
static let version = "1"
enum Format: String {
case json, xml
}
}
}
================================================
FILE: Core/Tasks/ServiceTask.swift
================================================
// ServiceTask.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
import Net
open class ServiceTask: ServiceTaskProtocol {
private static let net: Net = {
let net = NetURLSession()
net.addRequestInterceptor { requestBuilder in
requestBuilder.addURLParameter(NetworkServiceConstants.Parameters.key, value: NetworkServiceConstants.Values.key)
.addURLParameter(NetworkServiceConstants.Parameters.format, value: NetworkServiceConstants.Values.Format.json.rawValue)
.addURLParameter(NetworkServiceConstants.Parameters.version, value: NetworkServiceConstants.Values.version)
log.debug(requestBuilder.build().debugDescription)
return requestBuilder
}
net.addResponseInterceptor { responseBuilder in
let response = responseBuilder.build()
log.debug(response.debugDescription)
do {
if let responseObject: [AnyHashable: Any] = try response.object() {
log.verbose(responseObject)
}
} catch {}
return responseBuilder
}
return net
}()
var requestBuilder: NetRequest.Builder?
private var task: NetTask?
@discardableResult open func execute() throws -> Any? {
guard let request = requestBuilder?.build() else {
throw ServiceTaskError.netError(message: "Service task request missing.", underlying: nil)
}
task = ServiceTask.net.data(request)
guard let task = task else {
throw ServiceTaskError.netError(message: "Service task building error.", underlying: nil)
}
var response: NetResponse
do {
response = try task.sync()
} catch {
guard let serviceTaskError = error as? ServiceTaskError else {
throw ServiceTaskError.netError(message: "Network error.", underlying: error)
}
throw serviceTaskError
}
do {
return try parse(response)
} catch {
guard let serviceTaskError = error as? ServiceTaskError else {
throw ServiceTaskError.parserError(message: "Parser error.", underlying: error)
}
throw serviceTaskError
}
}
@discardableResult open func parse(_ response: NetResponse) throws -> Any? {
return try response.object() as [AnyHashable: Any]
}
open func cancel() {
task?.cancel()
}
}
extension ServiceTask: Hashable {
public var hashValue: Int {
return task?.identifier ?? NSNotFound
}
public static func == (lhs: ServiceTask, rhs: ServiceTask) -> Bool {
return lhs.hashValue != NSNotFound && lhs.hashValue == rhs.hashValue
}
}
================================================
FILE: Core/Tasks/ServiceTaskProtocol.swift
================================================
// ServiceTaskProtocol.swift
// Created by Alex Rupérez on 7/11/17.
// Copyright © 2017 Intelygenz. All rights reserved.
import Foundation
public enum ServiceTaskError: Error {
case netError(message: String, underlying: Error?),
serverError(message: String, underlying: Error?),
unauthorizedError(message: String, underlying: Error?),
parserE
gitextract_v9lm_t2w/
├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── Archit/
│ ├── Resources/
│ │ └── Assets/
│ │ └── Assets.xcassets/
│ │ ├── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── Logo.imageset/
│ │ └── Contents.json
│ ├── Source/
│ │ ├── Base/
│ │ │ ├── Controllers/
│ │ │ │ └── BaseController.swift
│ │ │ ├── Extensions/
│ │ │ │ └── UITableView+Reusable.swift
│ │ │ ├── Interactors/
│ │ │ │ └── BaseInteractor.swift
│ │ │ └── ViewControllers/
│ │ │ ├── BaseNavigationController.swift
│ │ │ └── BaseViewController.swift
│ │ ├── FilmDetail/
│ │ │ ├── FilmDetailController.swift
│ │ │ └── FilmDetailViewController.swift
│ │ ├── Films/
│ │ │ ├── FilmCell.swift
│ │ │ ├── FilmsController.swift
│ │ │ ├── FilmsInteractor.swift
│ │ │ └── FilmsViewController.swift
│ │ └── Managers/
│ │ ├── AppManager.swift
│ │ └── LogManager.swift
│ ├── Supporting Files/
│ │ ├── AppDelegate.swift
│ │ ├── Archit.entitlements
│ │ └── Info.plist
│ └── UI/
│ └── Base.lproj/
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── Archit.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ └── contents.xcworkspacedata
│ └── xcshareddata/
│ └── xcschemes/
│ ├── Archit.xcscheme
│ ├── Core.xcscheme
│ └── Domain.xcscheme
├── Archit.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ └── xcdebugger/
│ └── Breakpoints_v2.xcbkptlist
├── ArchitTests/
│ ├── ArchitTests.swift
│ └── Info.plist
├── ArchitUITests/
│ ├── ArchitUITests.swift
│ └── Info.plist
├── CODE_OF_CONDUCT.md
├── Core/
│ ├── Core.h
│ ├── Info.plist
│ ├── NetworkService.swift
│ ├── NetworkServiceProtocol.swift
│ ├── NetworkServiceTransformer.swift
│ ├── ServiceProtocol.swift
│ ├── Services/
│ │ ├── Films/
│ │ │ ├── FilmsService.swift
│ │ │ ├── NetworkModels/
│ │ │ │ ├── FilmNetworkModel.swift
│ │ │ │ ├── FilmRatingNetworkModel.swift
│ │ │ │ ├── FilmSearchNetworkModel.swift
│ │ │ │ └── Transformers/
│ │ │ │ └── FilmsNetworkTransformer.swift
│ │ │ └── Tasks/
│ │ │ ├── SearchFilmServiceTask.swift
│ │ │ └── SearchFilmsServiceTask.swift
│ │ └── NetworkServiceConstants.swift
│ ├── Tasks/
│ │ ├── ServiceTask.swift
│ │ ├── ServiceTaskProtocol.swift
│ │ └── TaskProtocol.swift
│ └── Transformer.swift
├── CoreTests/
│ ├── CoreTests.swift
│ └── Info.plist
├── Dangerfile
├── Domain/
│ ├── Domain.h
│ ├── Film.swift
│ └── Info.plist
├── DomainTests/
│ ├── DomainTests.swift
│ └── Info.plist
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Podfile
├── Pods/
│ ├── Cucumberish/
│ │ ├── Cucumberish/
│ │ │ ├── Core/
│ │ │ │ ├── CCIBlockDefinitions.h
│ │ │ │ ├── Managers/
│ │ │ │ │ ├── CCIFeaturesManager.h
│ │ │ │ │ ├── CCIFeaturesManager.m
│ │ │ │ │ ├── CCILoggingManager.h
│ │ │ │ │ ├── CCILoggingManager.m
│ │ │ │ │ ├── CCIStepsManager.h
│ │ │ │ │ └── CCIStepsManager.m
│ │ │ │ └── Models/
│ │ │ │ ├── CCIArgument.h
│ │ │ │ ├── CCIArgument.m
│ │ │ │ ├── CCIAroundHock.h
│ │ │ │ ├── CCIAroundHock.m
│ │ │ │ ├── CCIBackground.h
│ │ │ │ ├── CCIBackground.m
│ │ │ │ ├── CCIExample.h
│ │ │ │ ├── CCIExample.m
│ │ │ │ ├── CCIFeature.h
│ │ │ │ ├── CCIFeature.m
│ │ │ │ ├── CCIHock.h
│ │ │ │ ├── CCIHock.m
│ │ │ │ ├── CCIJSONDumper.h
│ │ │ │ ├── CCIJSONDumper.m
│ │ │ │ ├── CCILocation.h
│ │ │ │ ├── CCILocation.m
│ │ │ │ ├── CCIScenarioDefinition.h
│ │ │ │ ├── CCIScenarioDefinition.m
│ │ │ │ ├── CCIStep.h
│ │ │ │ ├── CCIStep.m
│ │ │ │ ├── CCIStepDefinition.h
│ │ │ │ └── CCIStepDefinition.m
│ │ │ ├── Cucumberish.h
│ │ │ ├── Cucumberish.m
│ │ │ ├── Dependencies/
│ │ │ │ └── Gherkin/
│ │ │ │ ├── GHAstBuilder.h
│ │ │ │ ├── GHAstBuilder.m
│ │ │ │ ├── GHAstNode.h
│ │ │ │ ├── GHAstNode.m
│ │ │ │ ├── GHBackground.h
│ │ │ │ ├── GHBackground.m
│ │ │ │ ├── GHComment.h
│ │ │ │ ├── GHComment.m
│ │ │ │ ├── GHDataTable.h
│ │ │ │ ├── GHDataTable.m
│ │ │ │ ├── GHDocString.h
│ │ │ │ ├── GHDocString.m
│ │ │ │ ├── GHExamples.h
│ │ │ │ ├── GHExamples.m
│ │ │ │ ├── GHFeature.h
│ │ │ │ ├── GHFeature.m
│ │ │ │ ├── GHGherkinDialect.h
│ │ │ │ ├── GHGherkinDialect.m
│ │ │ │ ├── GHGherkinDialectProvider.h
│ │ │ │ ├── GHGherkinDialectProvider.m
│ │ │ │ ├── GHGherkinDialectProviderProtocol.h
│ │ │ │ ├── GHGherkinLanguageConstants.h
│ │ │ │ ├── GHGherkinLanguageConstants.m
│ │ │ │ ├── GHGherkinLanguageSetting.h
│ │ │ │ ├── GHGherkinLanguageSetting.m
│ │ │ │ ├── GHGherkinLine.h
│ │ │ │ ├── GHGherkinLine.m
│ │ │ │ ├── GHGherkinLineProtocol.h
│ │ │ │ ├── GHGherkinLineSpan.h
│ │ │ │ ├── GHGherkinLineSpan.m
│ │ │ │ ├── GHHasDescriptionProtocol.h
│ │ │ │ ├── GHHasLocationProtocol.h
│ │ │ │ ├── GHHasRowsProtocol.h
│ │ │ │ ├── GHHasStepsProtocol.h
│ │ │ │ ├── GHHasTagsProtocol.h
│ │ │ │ ├── GHLocation.h
│ │ │ │ ├── GHLocation.m
│ │ │ │ ├── GHNode.h
│ │ │ │ ├── GHNode.m
│ │ │ │ ├── GHParser+Extensions.h
│ │ │ │ ├── GHParser+Extensions.m
│ │ │ │ ├── GHParser.h
│ │ │ │ ├── GHParser.m
│ │ │ │ ├── GHParserException.h
│ │ │ │ ├── GHParserException.m
│ │ │ │ ├── GHScenario.h
│ │ │ │ ├── GHScenario.m
│ │ │ │ ├── GHScenarioDefinition.h
│ │ │ │ ├── GHScenarioDefinition.m
│ │ │ │ ├── GHScenarioDefinition_Private.h
│ │ │ │ ├── GHScenarioOutline.h
│ │ │ │ ├── GHScenarioOutline.m
│ │ │ │ ├── GHStep.h
│ │ │ │ ├── GHStep.m
│ │ │ │ ├── GHStepArgument.h
│ │ │ │ ├── GHStepArgument.m
│ │ │ │ ├── GHTableCell.h
│ │ │ │ ├── GHTableCell.m
│ │ │ │ ├── GHTableRow.h
│ │ │ │ ├── GHTableRow.m
│ │ │ │ ├── GHTag.h
│ │ │ │ ├── GHTag.m
│ │ │ │ ├── GHToken.h
│ │ │ │ ├── GHToken.m
│ │ │ │ ├── GHTokenMatcher.h
│ │ │ │ ├── GHTokenMatcher.m
│ │ │ │ ├── GHTokenScanner.h
│ │ │ │ ├── GHTokenScanner.m
│ │ │ │ ├── NSString+Trim.h
│ │ │ │ ├── NSString+Trim.m
│ │ │ │ └── gherkin-languages.json
│ │ │ └── Utils/
│ │ │ ├── NSArray+Hashes.h
│ │ │ ├── NSArray+Hashes.m
│ │ │ ├── NSObject+Dictionary.h
│ │ │ ├── NSObject+Dictionary.m
│ │ │ ├── NSString+Formatter.h
│ │ │ └── NSString+Formatter.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Kingfisher/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources/
│ │ ├── AnimatedImageView.swift
│ │ ├── Box.swift
│ │ ├── CacheSerializer.swift
│ │ ├── Filter.swift
│ │ ├── FormatIndicatedCacheSerializer.swift
│ │ ├── Image.swift
│ │ ├── ImageCache.swift
│ │ ├── ImageDownloader.swift
│ │ ├── ImagePrefetcher.swift
│ │ ├── ImageProcessor.swift
│ │ ├── ImageTransition.swift
│ │ ├── ImageView+Kingfisher.swift
│ │ ├── Indicator.swift
│ │ ├── Kingfisher.h
│ │ ├── Kingfisher.swift
│ │ ├── KingfisherManager.swift
│ │ ├── KingfisherOptionsInfo.swift
│ │ ├── Placeholder.swift
│ │ ├── RequestModifier.swift
│ │ ├── Resource.swift
│ │ ├── String+MD5.swift
│ │ ├── ThreadHelper.swift
│ │ └── UIButton+Kingfisher.swift
│ ├── Kommander/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Source/
│ │ ├── CurrentDispatcher.swift
│ │ ├── Dispatcher.swift
│ │ ├── Kommand.swift
│ │ ├── KommandCancelledError.swift
│ │ ├── Kommander.h
│ │ ├── Kommander.swift
│ │ └── MainDispatcher.swift
│ ├── NetClient/
│ │ ├── Core/
│ │ │ ├── Net.h
│ │ │ ├── Net.swift
│ │ │ ├── NetAuthorization.swift
│ │ │ ├── NetCacheControl.swift
│ │ │ ├── NetContentType.swift
│ │ │ ├── NetError.swift
│ │ │ ├── NetMultipartFormData.swift
│ │ │ ├── NetReachability.swift
│ │ │ ├── NetRequest+Build.swift
│ │ │ ├── NetRequest+URLRequest.swift
│ │ │ ├── NetRequest.swift
│ │ │ ├── NetResponse+Build.swift
│ │ │ ├── NetResponse+CachedURLResponse.swift
│ │ │ ├── NetResponse+HTTPURLResponse.swift
│ │ │ ├── NetResponse+URLResponse.swift
│ │ │ ├── NetResponse.swift
│ │ │ ├── NetServerTrust.swift
│ │ │ ├── NetTask.swift
│ │ │ ├── NetTaskMetrics+URLSessionTaskMetrics.swift
│ │ │ ├── NetTaskMetrics.swift
│ │ │ └── NetTransformer.swift
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── URLSession/
│ │ ├── NetTask+URLSessionTask.swift
│ │ ├── NetURLSession+Data.swift
│ │ ├── NetURLSession+Download.swift
│ │ ├── NetURLSession+Stream.swift
│ │ ├── NetURLSession+Upload.swift
│ │ ├── NetURLSession.swift
│ │ ├── NetURLSessionDelegate.swift
│ │ └── NetURLSessionTaskObserver.swift
│ ├── ObjcExceptionBridging/
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ └── Sources/
│ │ └── ObjcExceptionBridging/
│ │ ├── ObjectiveCMarker.m
│ │ └── include/
│ │ └── ObjcExceptionBridging.h
│ ├── Pods.xcodeproj/
│ │ └── project.pbxproj
│ ├── Reusable/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources/
│ │ ├── Storyboard/
│ │ │ ├── StoryboardBased.swift
│ │ │ └── StoryboardSceneBased.swift
│ │ └── View/
│ │ ├── NibLoadable.swift
│ │ ├── NibOwnerLoadable.swift
│ │ ├── Reusable.swift
│ │ ├── UICollectionView+Reusable.swift
│ │ └── UITableView+Reusable.swift
│ ├── SwiftLint/
│ │ ├── LICENSE
│ │ ├── SwiftLintFramework.framework/
│ │ │ └── Versions/
│ │ │ └── A/
│ │ │ ├── Frameworks/
│ │ │ │ ├── Commandant.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Commandant
│ │ │ │ │ └── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ ├── Result.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── Result
│ │ │ │ ├── SWXMLHash.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SWXMLHash
│ │ │ │ ├── SourceKittenFramework.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SourceKittenFramework
│ │ │ │ ├── SwiftyTextTable.framework/
│ │ │ │ │ └── Versions/
│ │ │ │ │ └── A/
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ └── Info.plist
│ │ │ │ │ └── SwiftyTextTable
│ │ │ │ └── Yams.framework/
│ │ │ │ └── Versions/
│ │ │ │ └── A/
│ │ │ │ ├── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ └── Yams
│ │ │ ├── Resources/
│ │ │ │ └── Info.plist
│ │ │ └── SwiftLintFramework
│ │ └── swiftlint
│ ├── Target Support Files/
│ │ ├── Cucumberish/
│ │ │ ├── Cucumberish-dummy.m
│ │ │ ├── Cucumberish-prefix.pch
│ │ │ ├── Cucumberish-umbrella.h
│ │ │ ├── Cucumberish.modulemap
│ │ │ ├── Cucumberish.xcconfig
│ │ │ ├── Info.plist
│ │ │ └── ResourceBundle-GherkinLanguages-Info.plist
│ │ ├── Kingfisher/
│ │ │ ├── Info.plist
│ │ │ ├── Kingfisher-dummy.m
│ │ │ ├── Kingfisher-prefix.pch
│ │ │ ├── Kingfisher-umbrella.h
│ │ │ ├── Kingfisher.modulemap
│ │ │ └── Kingfisher.xcconfig
│ │ ├── Kommander/
│ │ │ ├── Info.plist
│ │ │ ├── Kommander-dummy.m
│ │ │ ├── Kommander-prefix.pch
│ │ │ ├── Kommander-umbrella.h
│ │ │ ├── Kommander.modulemap
│ │ │ └── Kommander.xcconfig
│ │ ├── NetClient/
│ │ │ ├── Info.plist
│ │ │ ├── NetClient-dummy.m
│ │ │ ├── NetClient-prefix.pch
│ │ │ ├── NetClient-umbrella.h
│ │ │ ├── NetClient.modulemap
│ │ │ └── NetClient.xcconfig
│ │ ├── ObjcExceptionBridging/
│ │ │ ├── Info.plist
│ │ │ ├── ObjcExceptionBridging-dummy.m
│ │ │ ├── ObjcExceptionBridging-prefix.pch
│ │ │ ├── ObjcExceptionBridging-umbrella.h
│ │ │ ├── ObjcExceptionBridging.modulemap
│ │ │ └── ObjcExceptionBridging.xcconfig
│ │ ├── Pods-Archit/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Archit-acknowledgements.markdown
│ │ │ ├── Pods-Archit-acknowledgements.plist
│ │ │ ├── Pods-Archit-dummy.m
│ │ │ ├── Pods-Archit-frameworks.sh
│ │ │ ├── Pods-Archit-resources.sh
│ │ │ ├── Pods-Archit-umbrella.h
│ │ │ ├── Pods-Archit.debug.xcconfig
│ │ │ ├── Pods-Archit.modulemap
│ │ │ └── Pods-Archit.release.xcconfig
│ │ ├── Pods-ArchitTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ArchitTests-acknowledgements.markdown
│ │ │ ├── Pods-ArchitTests-acknowledgements.plist
│ │ │ ├── Pods-ArchitTests-dummy.m
│ │ │ ├── Pods-ArchitTests-frameworks.sh
│ │ │ ├── Pods-ArchitTests-resources.sh
│ │ │ ├── Pods-ArchitTests-umbrella.h
│ │ │ ├── Pods-ArchitTests.debug.xcconfig
│ │ │ ├── Pods-ArchitTests.modulemap
│ │ │ └── Pods-ArchitTests.release.xcconfig
│ │ ├── Pods-ArchitUITests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-ArchitUITests-acknowledgements.markdown
│ │ │ ├── Pods-ArchitUITests-acknowledgements.plist
│ │ │ ├── Pods-ArchitUITests-dummy.m
│ │ │ ├── Pods-ArchitUITests-frameworks.sh
│ │ │ ├── Pods-ArchitUITests-resources.sh
│ │ │ ├── Pods-ArchitUITests-umbrella.h
│ │ │ ├── Pods-ArchitUITests.debug.xcconfig
│ │ │ ├── Pods-ArchitUITests.modulemap
│ │ │ └── Pods-ArchitUITests.release.xcconfig
│ │ ├── Pods-Core/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Core-acknowledgements.markdown
│ │ │ ├── Pods-Core-acknowledgements.plist
│ │ │ ├── Pods-Core-dummy.m
│ │ │ ├── Pods-Core-resources.sh
│ │ │ ├── Pods-Core-umbrella.h
│ │ │ ├── Pods-Core.debug.xcconfig
│ │ │ ├── Pods-Core.modulemap
│ │ │ └── Pods-Core.release.xcconfig
│ │ ├── Pods-CoreTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-CoreTests-acknowledgements.markdown
│ │ │ ├── Pods-CoreTests-acknowledgements.plist
│ │ │ ├── Pods-CoreTests-dummy.m
│ │ │ ├── Pods-CoreTests-frameworks.sh
│ │ │ ├── Pods-CoreTests-resources.sh
│ │ │ ├── Pods-CoreTests-umbrella.h
│ │ │ ├── Pods-CoreTests.debug.xcconfig
│ │ │ ├── Pods-CoreTests.modulemap
│ │ │ └── Pods-CoreTests.release.xcconfig
│ │ ├── Pods-Domain/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-Domain-acknowledgements.markdown
│ │ │ ├── Pods-Domain-acknowledgements.plist
│ │ │ ├── Pods-Domain-dummy.m
│ │ │ ├── Pods-Domain-resources.sh
│ │ │ ├── Pods-Domain-umbrella.h
│ │ │ ├── Pods-Domain.debug.xcconfig
│ │ │ ├── Pods-Domain.modulemap
│ │ │ └── Pods-Domain.release.xcconfig
│ │ ├── Pods-DomainTests/
│ │ │ ├── Info.plist
│ │ │ ├── Pods-DomainTests-acknowledgements.markdown
│ │ │ ├── Pods-DomainTests-acknowledgements.plist
│ │ │ ├── Pods-DomainTests-dummy.m
│ │ │ ├── Pods-DomainTests-frameworks.sh
│ │ │ ├── Pods-DomainTests-resources.sh
│ │ │ ├── Pods-DomainTests-umbrella.h
│ │ │ ├── Pods-DomainTests.debug.xcconfig
│ │ │ ├── Pods-DomainTests.modulemap
│ │ │ └── Pods-DomainTests.release.xcconfig
│ │ ├── Reusable/
│ │ │ ├── Info.plist
│ │ │ ├── Reusable-dummy.m
│ │ │ ├── Reusable-prefix.pch
│ │ │ ├── Reusable-umbrella.h
│ │ │ ├── Reusable.modulemap
│ │ │ └── Reusable.xcconfig
│ │ └── XCGLogger/
│ │ ├── Info.plist
│ │ ├── XCGLogger-dummy.m
│ │ ├── XCGLogger-prefix.pch
│ │ ├── XCGLogger-umbrella.h
│ │ ├── XCGLogger.modulemap
│ │ └── XCGLogger.xcconfig
│ └── XCGLogger/
│ ├── .swift-version
│ ├── LICENSE.txt
│ ├── README.md
│ └── Sources/
│ └── XCGLogger/
│ ├── Destinations/
│ │ ├── AppleSystemLogDestination.swift
│ │ ├── AutoRotatingFileDestination.swift
│ │ ├── BaseDestination.swift
│ │ ├── BaseQueuedDestination.swift
│ │ ├── ConsoleDestination.swift
│ │ ├── DestinationProtocol.swift
│ │ ├── FileDestination.swift
│ │ └── TestDestination.swift
│ ├── Extensions/
│ │ ├── DispatchQueue+XCGAdditions.swift
│ │ └── URL+XCGAdditions.swift
│ ├── Filters/
│ │ ├── DevFilter.swift
│ │ ├── FileNameFilter.swift
│ │ ├── FilterProtocol.swift
│ │ ├── TagFilter.swift
│ │ └── UserInfoFilter.swift
│ ├── LogFormatters/
│ │ ├── ANSIColorLogFormatter.swift
│ │ ├── Base64LogFormatter.swift
│ │ ├── LogFormatterProtocol.swift
│ │ ├── PrePostFixLogFormatter.swift
│ │ └── XcodeColorsLogFormatter.swift
│ ├── Misc/
│ │ ├── HelperFunctions.swift
│ │ └── LogDetails.swift
│ └── XCGLogger.swift
├── README.md
├── Rakefile
├── Scripts/
│ ├── bootstrap.sh
│ ├── highlight_TODOs.sh
│ ├── install_pre_commit.sh
│ ├── pre_commit.sh
│ └── symbolicate_crash.sh
├── _config.yml
└── fastlane/
├── Appfile
├── Fastfile
├── Pluginfile
├── README.md
├── Snapfile
└── SnapshotHelper.swift
SYMBOL INDEX (6 symbols across 3 files) FILE: Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.h type GHRuleType (line 4) | typedef enum GHRuleType GHRuleType; type GHTokenType (line 5) | typedef enum GHTokenType GHTokenType; FILE: Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.h type GHTokenType (line 11) | typedef enum GHTokenType type GHRuleType (line 30) | typedef enum GHRuleType FILE: Pods/ObjcExceptionBridging/Sources/ObjcExceptionBridging/include/ObjcExceptionBridging.h function NS_INLINE (line 29) | NS_INLINE void _try_objc(void(^_Nonnull tryBlock)(void), void(^_Nonnull ... function NS_INLINE (line 48) | NS_INLINE void _throw_objc(NSException* _Nonnull exception)
Condensed preview — 424 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,914K chars).
[
{
"path": ".gitignore",
"chars": 1426,
"preview": "# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n"
},
{
"path": ".swift-version",
"chars": 4,
"preview": "4.0\n"
},
{
"path": ".swiftlint.yml",
"chars": 1158,
"preview": "disabled_rules: # rule identifiers to exclude from running\n - line_length\n - trailing_whitespace\n - trailing_newline\n"
},
{
"path": ".travis.yml",
"chars": 285,
"preview": "language: swift\nosx_image: xcode9.1\nscript:\n- xcodebuild -workspace Archit.xcworkspace -scheme Archit -destination \"plat"
},
{
"path": "Archit/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 2391,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"20x20\",\n \"idiom\" : \"iphone\",\n \"filename\" : \"Icon-App-20x20@2x-1.png\",\n "
},
{
"path": "Archit/Resources/Assets/Assets.xcassets/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Archit/Resources/Assets/Assets.xcassets/Logo.imageset/Contents.json",
"chars": 390,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"archit-logo.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Archit/Source/Base/Controllers/BaseController.swift",
"chars": 963,
"preview": "// BaseController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\n"
},
{
"path": "Archit/Source/Base/Extensions/UITableView+Reusable.swift",
"chars": 247,
"preview": "// UITableView+Reusable.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reser"
},
{
"path": "Archit/Source/Base/Interactors/BaseInteractor.swift",
"chars": 227,
"preview": "// BaseInteractor.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\n"
},
{
"path": "Archit/Source/Base/ViewControllers/BaseNavigationController.swift",
"chars": 1060,
"preview": "// BaseNavigationController.swift\n// Created by Alex Rupérez on 6/11/17.\n// Copyright © 2017 Intelygenz. All rights r"
},
{
"path": "Archit/Source/Base/ViewControllers/BaseViewController.swift",
"chars": 2129,
"preview": "// BaseViewController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserve"
},
{
"path": "Archit/Source/FilmDetail/FilmDetailController.swift",
"chars": 1505,
"preview": "// FilmDetailController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reser"
},
{
"path": "Archit/Source/FilmDetail/FilmDetailViewController.swift",
"chars": 1327,
"preview": "// FilmDetailViewController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights r"
},
{
"path": "Archit/Source/Films/FilmCell.swift",
"chars": 700,
"preview": "// FilmCell.swift\n// Created by Diego Manuel Molina Canedo on 11/12/17.\n// Copyright © 2017 Intelygenz. All rights re"
},
{
"path": "Archit/Source/Films/FilmsController.swift",
"chars": 2282,
"preview": "// FilmsController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n"
},
{
"path": "Archit/Source/Films/FilmsInteractor.swift",
"chars": 2624,
"preview": "// FilmsInteractor.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n"
},
{
"path": "Archit/Source/Films/FilmsViewController.swift",
"chars": 4264,
"preview": "// FilmsViewController.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserv"
},
{
"path": "Archit/Source/Managers/AppManager.swift",
"chars": 3910,
"preview": "// AppManager.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimpo"
},
{
"path": "Archit/Source/Managers/LogManager.swift",
"chars": 925,
"preview": "// LogManager.swift\n// Created by Alex Rupérez on 16/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "Archit/Supporting Files/AppDelegate.swift",
"chars": 1100,
"preview": "// AppDelegate.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "Archit/Supporting Files/Archit.entitlements",
"chars": 252,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Archit/Supporting Files/Info.plist",
"chars": 1606,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Archit/UI/Base.lproj/LaunchScreen.storyboard",
"chars": 3061,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Archit/UI/Base.lproj/Main.storyboard",
"chars": 21852,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Archit.xcodeproj/project.pbxproj",
"chars": 100257,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Archit.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 151,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:Archit.xcodepro"
},
{
"path": "Archit.xcodeproj/xcshareddata/xcschemes/Archit.xcscheme",
"chars": 5073,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0910\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Archit.xcodeproj/xcshareddata/xcschemes/Core.xcscheme",
"chars": 2903,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0910\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Archit.xcodeproj/xcshareddata/xcschemes/Domain.xcscheme",
"chars": 2915,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0910\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Archit.xcworkspace/contents.xcworkspacedata",
"chars": 224,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Archit.xcodepr"
},
{
"path": "Archit.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist",
"chars": 1305,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n type = \"3\"\n version = \"2.0\">\n <Breakpoints>\n <BreakpointProxy"
},
{
"path": "ArchitTests/ArchitTests.swift",
"chars": 939,
"preview": "// ArchitTests.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "ArchitTests/Info.plist",
"chars": 701,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "ArchitUITests/ArchitUITests.swift",
"chars": 1211,
"preview": "// ArchitUITests.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\ni"
},
{
"path": "ArchitUITests/Info.plist",
"chars": 701,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3216,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "Core/Core.h",
"chars": 442,
"preview": "// Core.h\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\n#import <UIKit"
},
{
"path": "Core/Info.plist",
"chars": 774,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Core/NetworkService.swift",
"chars": 218,
"preview": "// NetworkService.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\n"
},
{
"path": "Core/NetworkServiceProtocol.swift",
"chars": 706,
"preview": "// NetworkServiceProtocol.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights res"
},
{
"path": "Core/NetworkServiceTransformer.swift",
"chars": 547,
"preview": "// NetworkServiceTransformer.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights "
},
{
"path": "Core/ServiceProtocol.swift",
"chars": 175,
"preview": "// ServiceProtocol.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n"
},
{
"path": "Core/Services/Films/FilmsService.swift",
"chars": 2655,
"preview": "// FilmsService.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nim"
},
{
"path": "Core/Services/Films/NetworkModels/FilmNetworkModel.swift",
"chars": 1604,
"preview": "// FilmNetworkModel.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved."
},
{
"path": "Core/Services/Films/NetworkModels/FilmRatingNetworkModel.swift",
"chars": 343,
"preview": "// FilmRatingNetworkModel.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights res"
},
{
"path": "Core/Services/Films/NetworkModels/FilmSearchNetworkModel.swift",
"chars": 478,
"preview": "// FilmSearchNetworkModel.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights res"
},
{
"path": "Core/Services/Films/NetworkModels/Transformers/FilmsNetworkTransformer.swift",
"chars": 2104,
"preview": "// FilmsNetworkTransformer.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights re"
},
{
"path": "Core/Services/Films/Tasks/SearchFilmServiceTask.swift",
"chars": 1117,
"preview": "// SearchFilmServiceTask.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights rese"
},
{
"path": "Core/Services/Films/Tasks/SearchFilmsServiceTask.swift",
"chars": 1319,
"preview": "// SearchFilmsServiceTask.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights res"
},
{
"path": "Core/Services/NetworkServiceConstants.swift",
"chars": 1074,
"preview": "// NetworkServiceConstants.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights re"
},
{
"path": "Core/Tasks/ServiceTask.swift",
"chars": 2853,
"preview": "// ServiceTask.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "Core/Tasks/ServiceTaskProtocol.swift",
"chars": 912,
"preview": "// ServiceTaskProtocol.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserv"
},
{
"path": "Core/Tasks/TaskProtocol.swift",
"chars": 241,
"preview": "// TaskProtocol.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nim"
},
{
"path": "Core/Transformer.swift",
"chars": 687,
"preview": "// Transformer.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "CoreTests/CoreTests.swift",
"chars": 933,
"preview": "// CoreTests.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimpor"
},
{
"path": "CoreTests/Info.plist",
"chars": 701,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Dangerfile",
"chars": 615,
"preview": "# Sometimes it's a README fix, or something like that - which isn't relevant for\n# including in a project's CHANGELOG fo"
},
{
"path": "Domain/Domain.h",
"chars": 454,
"preview": "// Domain.h\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\n#import <UIK"
},
{
"path": "Domain/Film.swift",
"chars": 2087,
"preview": "// Film.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimport Fou"
},
{
"path": "Domain/Info.plist",
"chars": 774,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "DomainTests/DomainTests.swift",
"chars": 939,
"preview": "// DomainTests.swift\n// Created by Alex Rupérez on 7/11/17.\n// Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
},
{
"path": "DomainTests/Info.plist",
"chars": 701,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Gemfile",
"chars": 298,
"preview": "# encoding: UTF-8\nsource 'https://rubygems.org'\n\ngem 'rake'\ngem 'cocoapods'\ngem 'xcode-install'\ngem 'fastlane'\ngem 'dang"
},
{
"path": "ISSUE_TEMPLATE.md",
"chars": 725,
"preview": "> ℹ Please fill out this template when filing an issue.\n> All lines beginning with an ℹ symbol instruct you with what in"
},
{
"path": "LICENSE",
"chars": 1101,
"preview": "MIT License\n\nCopyright (c) 2017 Intelygenz <alejandro.ruperez@intelygenz.com>\n\nPermission is hereby granted, free of cha"
},
{
"path": "PULL_REQUEST_TEMPLATE.md",
"chars": 463,
"preview": "### Issue Link :link:\n<!-- What issue does this fix? If an issue doesn't exist, remove this section. -->\n\n### Goals :soc"
},
{
"path": "Podfile",
"chars": 371,
"preview": "platform :ios, '11.0'\nuse_frameworks!\ninhibit_all_warnings!\n\npod 'SwiftLint'\npod 'XCGLogger'\n\ntarget 'Archit' do\n\npod 'R"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/CCIBlockDefinitions.h",
"chars": 17286,
"preview": "//\n// CCIBlockDefinitions.h\n// Pods\n//\n// Created by Ahmed Ali on 23/01/16.\n//\n//\n\n#import <Foundation/Foundation.h>\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIFeaturesManager.h",
"chars": 3132,
"preview": "//\n// CCIFeaturesManager.h\n\n//\n// Created by Ahmed Ali on 02/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserve"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIFeaturesManager.m",
"chars": 7598,
"preview": "//\n// CCIFeaturesManager.m\n\n//\n// Created by Ahmed Ali on 02/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserve"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCILoggingManager.h",
"chars": 529,
"preview": "//\n// CCILoggingManager.h\n// CucumberishLibrary\n//\n// Created by Titouan van Belle on 15.07.17.\n// Copyright © 2017 "
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCILoggingManager.m",
"chars": 1650,
"preview": "//\n// CCILoggingManager.h\n// CucumberishLibrary\n//\n// Created by Titouan van Belle on 15.07.17.\n// Copyright © 2017 "
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIStepsManager.h",
"chars": 2063,
"preview": "//\n// CCIStepsManager.h\n\n//\n// Created by Ahmed Ali on 03/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIStepsManager.m",
"chars": 10405,
"preview": "//\n// CCIStepsManager.m\n\n//\n// Created by Ahmed Ali on 03/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIArgument.h",
"chars": 2128,
"preview": "//\n//\tCCIArgument.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIArgument.m",
"chars": 3585,
"preview": "//\n//\tCCIArgument.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIAroundHock.h",
"chars": 1536,
"preview": "//\n// CCIAroundHock.h\n//\n//\tCreated by Ahmed Ali on 19/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIAroundHock.m",
"chars": 1461,
"preview": "//\n// CCIAroundHock.m\n//\n//\tCreated by Ahmed Ali on 19/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIBackground.h",
"chars": 1744,
"preview": "//\n//\tCCIBackground.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIBackground.m",
"chars": 3550,
"preview": "//\n//\tCCIBackground.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIExample.h",
"chars": 2683,
"preview": "//\n//\tCCIExample.h\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIExample.m",
"chars": 5077,
"preview": "//\n//\tCCIExample.m\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIFeature.h",
"chars": 2312,
"preview": "//\n//\tCCIFeature.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// "
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIFeature.m",
"chars": 6601,
"preview": "//\n//\tCCIFeature.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// "
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIHock.h",
"chars": 1503,
"preview": "//\n// CCIHock.h\n//\tCreated by Ahmed Ali on 19/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Perm"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIHock.m",
"chars": 1417,
"preview": "//\n// CCIHock.m\n//\tCreated by Ahmed Ali on 19/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Perm"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIJSONDumper.h",
"chars": 1087,
"preview": "//\n// CCIJSONDumper.h\n// AMBluetooth\n//\n// Created by ereynolds on 11/11/16.\n// Copyright © 2016 Ahmed Ali. All righ"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIJSONDumper.m",
"chars": 15949,
"preview": "//\n// CCIJSONDumper.m\n// AMBluetooth\n//\n// Created by ereynolds on 11/11/16.\n// Copyright © 2016 Ahmed Ali. All righ"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCILocation.h",
"chars": 2011,
"preview": "//\n//\tCCILocation.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCILocation.m",
"chars": 2934,
"preview": "//\n//\tCCILocation.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIScenarioDefinition.h",
"chars": 3450,
"preview": "//\n//\tCCIScenarioDefinition.h\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserve"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIScenarioDefinition.m",
"chars": 8501,
"preview": "//\n//\tCCIScenarioDefinition.m\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserve"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStep.h",
"chars": 2776,
"preview": "//\n//\tCCIStep.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Per"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStep.m",
"chars": 3257,
"preview": "//\n//\tCCIStep.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Per"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStepDefinition.h",
"chars": 1657,
"preview": "//\n// CCIStepDefinition.h\n\n//\n// Created by Ahmed Ali on 02/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved"
},
{
"path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStepDefinition.m",
"chars": 2193,
"preview": "//\n// CCIStepDefinition.m\n\n//\n// Created by Ahmed Ali on 02/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved"
},
{
"path": "Pods/Cucumberish/Cucumberish/Cucumberish.h",
"chars": 7786,
"preview": "//\n// Cucumberish.h\n\n//\n// Created by Ahmed Ali on 03/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
},
{
"path": "Pods/Cucumberish/Cucumberish/Cucumberish.m",
"chars": 32293,
"preview": "//\n// Cucumberish.m\n//\n// Created by Ahmed Ali on 03/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstBuilder.h",
"chars": 346,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHAstNode.h\"\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n\r\n@interface GHAstBu"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstBuilder.m",
"chars": 13062,
"preview": "#import \"GHAstBuilder.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHToken.h\"\r\n#import \"GHComment.h\"\r\n#import \"GHTableRow.h\"\r\n#imp"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.h",
"chars": 781,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHToken;\r\n\r\ntypedef enum GHRuleType GHRuleType;\r\ntypedef enum GHTokenType GHT"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.m",
"chars": 2028,
"preview": "#import \"GHAstNode.h\"\r\n\r\n#import \"GHToken.h\"\r\n#import \"GHParser.h\"\r\n\r\n@interface GHAstNode ()\r\n\r\n@property (nonatomic, "
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHBackground.h",
"chars": 254,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHH"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHBackground.m",
"chars": 451,
"preview": "#import \"GHBackground.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHBackground ()\r\n\r\n\r\n@end\r\n\r\n@implementation GHBackgrou"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHComment.h",
"chars": 326,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@interface GHComment : NSObject <GHHasLocationP"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHComment.m",
"chars": 471,
"preview": "#import \"GHComment.h\"\r\n\r\n@interface GHComment ()\r\n\r\n@property (nonatomic, strong) GHLocation * location;\r\n@property "
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDataTable.h",
"chars": 424,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHStepArgument.h\"\r\n\r\n#import \"GHHasRowsProtocol.h\"\r\n#import \"GHHasLocationPr"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDataTable.m",
"chars": 589,
"preview": "#import \"GHDataTable.h\"\r\n\r\n#import \"GHTableRow.h\"\r\n\r\n@interface GHDataTable ()\r\n\r\n@property (nonatomic, strong) GHLocat"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDocString.h",
"chars": 485,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHStepArgument.h\"\r\n\r\n#import \"GHHasLocationProtocol.h\"\r\n \r\n@interface"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDocString.m",
"chars": 647,
"preview": "#import \"GHDocString.h\"\r\n\r\n@interface GHDocString ()\r\n\r\n@property (nonatomic, strong) GHLocation * location;\r\n@prope"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHExamples.h",
"chars": 1101,
"preview": "#import <Foundation/Foundation.h>\r\n#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHas"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHExamples.m",
"chars": 1405,
"preview": "#import \"GHExamples.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHTableRow.h\"\r\n\r\n@interface GHExamples ()\r\n\r\n@property (nonatomic"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHFeature.h",
"chars": 1245,
"preview": "#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GHHasTagsProtocol.h\"\r\n\r\n@class GHTag;"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHFeature.m",
"chars": 1631,
"preview": "#import \"GHFeature.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHLocation.h\"\r\n#import \"GHBackground.h\"\r\n#import \"GHScenarioDefini"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialect.h",
"chars": 1649,
"preview": "#import <Foundation/Foundation.h>\r\n\r\n@interface GHGherkinDialect : NSObject\r\n\r\n@property (nonatomic, readonly) NSString"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialect.m",
"chars": 3046,
"preview": "#import \"GHGherkinDialect.h\"\r\n\r\n@interface GHGherkinDialect ()\r\n\r\n@property (nonatomic, strong) NSString *"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProvider.h",
"chars": 228,
"preview": "#import <Foundation/Foundation.h>\r\n\r\n#import \"GHGherkinDialectProviderProtocol.h\"\r\n\r\n@interface GHGherkinDialectProvide"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProvider.m",
"chars": 5721,
"preview": "#import \"GHGherkinDialectProvider.h\"\r\n\r\n#import \"GHGherkinDialect.h\"\r\n#import \"GHGherkinLanguageSetting.h\"\r\n#import \"GH"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProviderProtocol.h",
"chars": 312,
"preview": "#import <Foundation/Foundation.h>\n@class GHGherkinDialect;\n@class GHLocation;\n\n@protocol GHGherkinDialectProviderProtoco"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageConstants.h",
"chars": 412,
"preview": "#import <Foundation/Foundation.h>\r\nextern NSString * const GHTagPrefix;\r\nextern NSString * const GHCommentPrefix;\r\nexter"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageConstants.m",
"chars": 539,
"preview": "#import \"GHGherkinLanguageConstants.h\"\r\n\r\nNSString * const GHTagPrefix = @\"@\";\r\nNSString * const"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageSetting.h",
"chars": 813,
"preview": "#import <Foundation/Foundation.h>\n@interface GHGherkinLanguageSetting : NSObject\n\n@property (nonatomic, strong) NSString"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageSetting.m",
"chars": 331,
"preview": "#import \"GHGherkinLanguageSetting.h\"\n\n@implementation GHGherkinLanguageSetting\n\n@synthesize name;\n@synthesize native;\n@s"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLine.h",
"chars": 340,
"preview": "#import <Foundation/Foundation.h>\r\n\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n@interface GHGherkinLine : NSObject <GHGherki"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLine.m",
"chars": 6047,
"preview": "#import \"GHGherkinLine.h\"\r\n\r\n#import \"GHGherkinLanguageConstants.h\"\r\n#import \"GHGherkinLineSpan.h\"\r\n\r\n#import \"NSString"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineProtocol.h",
"chars": 2495,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHGherkinLineSpan;\r\n\r\n@protocol GHGherkinLineProtocol <NSObject>\r\n\r\n@property"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineSpan.h",
"chars": 263,
"preview": "#import <Foundation/Foundation.h>\r\n@interface GHGherkinLineSpan : NSObject\r\n\r\n@property (nonatomic, readonly) NSUIntege"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineSpan.m",
"chars": 461,
"preview": "\r\n#import \"GHGherkinLineSpan.h\"\r\n\r\n@interface GHGherkinLineSpan ()\r\n\r\n@property (nonatomic, assign) NSUInteger column;"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasDescriptionProtocol.h",
"chars": 253,
"preview": "#import <Foundation/Foundation.h>\r\n@protocol GHHasDescriptionProtocol <NSObject>\r\n\r\n@property (nonatomic, readonly) NSS"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasLocationProtocol.h",
"chars": 167,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n\r\n@protocol GHHasLocationProtocol <NSObject>\r\n\r\n@property (nonat"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasRowsProtocol.h",
"chars": 171,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHTableRow;\r\n\r\n@protocol GHHasRowsProtocol <NSObject>\r\n\r\n@property (nonatomic"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasStepsProtocol.h",
"chars": 165,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHStep;\r\n\r\n@protocol GHHasStepsProtocol <NSObject>\r\n\r\n@property (nonatomic, r"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasTagsProtocol.h",
"chars": 161,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHTag;\r\n\r\n@protocol GHHasTagsProtocol <NSObject>\r\n\r\n@property (nonatomic, rea"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHLocation.h",
"chars": 352,
"preview": "#import <Foundation/Foundation.h>\r\n@interface GHLocation : NSObject\r\n\r\n@property (nonatomic, readonly) NSUInteger line;"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHLocation.m",
"chars": 675,
"preview": "#import \"GHLocation.h\"\n\n@interface GHLocation ()\n\n@property (nonatomic, assign) NSUInteger line;\n@property (nonatomic"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHNode.h",
"chars": 74,
"preview": "#import <Foundation/Foundation.h>\r\n@interface GHNode : NSObject\r\n\r\n@end\r\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHNode.m",
"chars": 55,
"preview": "#import \"GHNode.h\"\r\n\r\n@implementation GHNode\r\n\r\n@end\r\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser+Extensions.h",
"chars": 172,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHFeature;\r\n\r\n@interface GHParser (Extensions)\r\n\r\n- ("
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser+Extensions.m",
"chars": 515,
"preview": "#import \"GHParser+Extensions.h\"\r\n\r\n#import \"GHParser.h\"\r\n#import \"GHTokenScanner.h\"\r\n#import \"GHFeature.h\"\r\n\r\n@implemen"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.h",
"chars": 5977,
"preview": "// ------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This c"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.m",
"chars": 134703,
"preview": "// ------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This c"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParserException.h",
"chars": 1707,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n@class GHToken;\r\n\r\n@interface GHParserException : NSException\r\n\r\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParserException.m",
"chars": 6092,
"preview": "#import \"GHParserException.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHToken.h\"\r\n\r\n@interface GHParserException ()\r\n\r\n@prop"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenario.h",
"chars": 456,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHScenarioDefinition.h\"\r\n\r\n@class GHTag;\r\n@class GHLocation;\r\n@class GHStep;"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenario.m",
"chars": 547,
"preview": "#import \"GHScenario.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@implementation GHScenar"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition.h",
"chars": 859,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GH"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition.m",
"chars": 1076,
"preview": "#import \"GHScenarioDefinition.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHStep.h\"\r\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition_Private.h",
"chars": 264,
"preview": "#import <Foundation/Foundation.h>\n@interface GHScenarioDefinition (Private)\n\n- (id)initWithLocation:(GHLocation *)theLoc"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioOutline.h",
"chars": 549,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHScenarioDefinition.h\"\r\n\r\n@class GHExamples;\r\n\r\n@interface GHScenarioOutlin"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioOutline.m",
"chars": 764,
"preview": "#import \"GHScenarioOutline.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n@interface GHScenarioOutline ()\r\n\r\n@proper"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStep.h",
"chars": 578,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHLocation;\r\n@class GHStepArgument;\r\n\r\n@"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStep.m",
"chars": 816,
"preview": "#import \"GHStep.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHStepArgument.h\"\r\n\r\n@interface GHStep ()\r\n\r\n@property (nonatomi"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStepArgument.h",
"chars": 80,
"preview": "#import <Foundation/Foundation.h>\r\n@interface GHStepArgument : NSObject\r\n\r\n@end"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStepArgument.m",
"chars": 69,
"preview": "#import \"GHStepArgument.h\"\r\n\r\n@implementation GHStepArgument\r\n\r\n@end"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableCell.h",
"chars": 355,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHLocation;\r\n\r\n@interface GHTableCell : "
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableCell.m",
"chars": 493,
"preview": "#import \"GHTableCell.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHTableCell ()\r\n\r\n@property (nonatomic, strong) GHLocat"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableRow.h",
"chars": 390,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHTableCell;\r\n\r\n@interface GHTableRow : N"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableRow.m",
"chars": 560,
"preview": "#import \"GHTableRow.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHStepArgument.h\"\r\n\r\n@interface GHTableRow ()\r\n\r\n@property ("
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTag.h",
"chars": 343,
"preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@interface GHTag : NSObjec"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTag.m",
"chars": 473,
"preview": "#import \"GHTag.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHTag ()\r\n\r\n@property (nonatomic, strong) GHLocation * loc"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHToken.h",
"chars": 1038,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n@class GHGherkinLineSpan;\r\n@class GHGherkinDiale"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHToken.m",
"chars": 928,
"preview": "#import \"GHToken.h\"\r\n\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n#import \"GHParser.h\"\r\n\r\n@implementation GHToken\r\n\r\n@synthes"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenMatcher.h",
"chars": 1160,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n@class GHGherkinDialect;\r\n@class GHGherkinD"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenMatcher.m",
"chars": 9912,
"preview": "#import \"GHTokenMatcher.h\"\r\n\r\n#import \"GHGherkinDialectProvider.h\"\r\n#import \"GHGherkinLineSpan.h\"\r\n#import \"GHToken.h\"\r"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenScanner.h",
"chars": 283,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n\r\n@interface GHTokenScanner : NSObject <GHT"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenScanner.m",
"chars": 1845,
"preview": "#import <Foundation/Foundation.h>\r\n#import \"GHTokenScanner.h\"\r\n\r\n#import \"GHToken.h\"\r\n#import \"GHLocation.h\"\r\n#import \""
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/NSString+Trim.h",
"chars": 246,
"preview": "#import <Foundation/Foundation.h>\n@interface NSString (Trim)\n\n- (NSString *)stringByTrimmingStartWithCharactersInSet:(NS"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/NSString+Trim.m",
"chars": 724,
"preview": "#import \"NSString+Trim.h\"\n\n@implementation NSString (Trim)\n\n- (NSString *)stringByTrimmingStartWithCharactersInSet:(NSCh"
},
{
"path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/gherkin-languages.json",
"chars": 41330,
"preview": "{\n \"af\": {\n \"and\": [\n \"* \",\n \"En \"\n ],\n \"background\": [\n \"Agtergrond\"\n ],\n \"but\": [\n "
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSArray+Hashes.h",
"chars": 615,
"preview": "//\n// NSArray+Hashes.h\n// CucumberishExample\n//\n// Created by David Siebecker on 7/26/16.\n// Copyright © 2016 Ahmed "
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSArray+Hashes.m",
"chars": 1263,
"preview": "//\n// NSArray+Hashes.m\n// CucumberishExample\n//\n// Created by David Siebecker on 7/26/16.\n// Copyright © 2016 Ahmed "
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSObject+Dictionary.h",
"chars": 105,
"preview": "#import <Foundation/Foundation.h>\n\n@interface NSObject (Dictionary)\n\n- (NSDictionary *)dictionary;\n\n@end\n"
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSObject+Dictionary.m",
"chars": 3279,
"preview": "#import \"NSObject+Dictionary.h\"\n\n#import \"GHHasLocationProtocol.h\"\n\n#import <objc/runtime.h>\n\n@implementation NSObject ("
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSString+Formatter.h",
"chars": 1363,
"preview": "//\n// NSString+Formatter.h\n//\n// Created by Ahmed Ali on 11/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved"
},
{
"path": "Pods/Cucumberish/Cucumberish/Utils/NSString+Formatter.m",
"chars": 2930,
"preview": "//\n// NSString+Formatter.m\n\n// Created by Ahmed Ali on 11/01/16.\n// Copyright © 2016 Ahmed Ali. All rights reserved.\n"
},
{
"path": "Pods/Cucumberish/LICENSE",
"chars": 1083,
"preview": "Copyright (c) 2016 Ahmed Ali (https://github.com/Ahmed-Ali)\n\nPermission is hereby granted, free of charge, to any person"
},
{
"path": "Pods/Cucumberish/README.md",
"chars": 11464,
"preview": "# Cucumberish\nCucumberish is a test automation framework for Behaviour Driven Development (BDD).\nIt is inspired by the a"
},
{
"path": "Pods/Kingfisher/LICENSE",
"chars": 1076,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2017 Wei Wang\n\nPermission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "Pods/Kingfisher/README.md",
"chars": 8181,
"preview": "<p align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/onevcat/Kingfisher/master/images/logo.png\" alt=\"Kingfish"
},
{
"path": "Pods/Kingfisher/Sources/AnimatedImageView.swift",
"chars": 13294,
"preview": "//\n// AnimatableImageView.swift\n// Kingfisher\n//\n// Created by bl4ckra1sond3tre on 4/22/16.\n//\n// The AnimatableImag"
},
{
"path": "Pods/Kingfisher/Sources/Box.swift",
"chars": 238,
"preview": "//\n// Box.swift\n// Kingfisher\n//\n// Created by WANG WEI on 2016/09/12.\n// Copyright © 2016年 Wei Wang. All rights res"
},
{
"path": "Pods/Kingfisher/Sources/CacheSerializer.swift",
"chars": 3745,
"preview": "//\n// CacheSerializer.swift\n// Kingfisher\n//\n// Created by Wei Wang on 2016/09/02.\n//\n// Copyright (c) 2017 Wei Wang"
},
{
"path": "Pods/Kingfisher/Sources/Filter.swift",
"chars": 5298,
"preview": "//\n// Filter.swift\n// Kingfisher\n//\n// Created by Wei Wang on 2016/08/31.\n//\n// Copyright (c) 2017 Wei Wang <onevcat"
},
{
"path": "Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift",
"chars": 3988,
"preview": "//\n// RequestModifier.swift\n// Kingfisher\n//\n// Created by Junyu Kuang on 5/28/17.\n//\n// Copyright (c) 2017 Wei Wang"
},
{
"path": "Pods/Kingfisher/Sources/Image.swift",
"chars": 33046,
"preview": "//\n// Image.swift\n// Kingfisher\n//\n// Created by Wei Wang on 16/1/6.\n//\n// Copyright (c) 2017 Wei Wang <onevcat@gmai"
},
{
"path": "Pods/Kingfisher/Sources/ImageCache.swift",
"chars": 29492,
"preview": "//\n// ImageCache.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wang <onevcat"
},
{
"path": "Pods/Kingfisher/Sources/ImageDownloader.swift",
"chars": 27253,
"preview": "//\n// ImageDownloader.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wang <on"
},
{
"path": "Pods/Kingfisher/Sources/ImagePrefetcher.swift",
"chars": 11763,
"preview": "//\n// ImagePrefetcher.swift\n// Kingfisher\n//\n// Created by Claire Knight <claire.knight@moggytech.co.uk> on 24/02/201"
},
{
"path": "Pods/Kingfisher/Sources/ImageProcessor.swift",
"chars": 23967,
"preview": "//\n// ImageProcessor.swift\n// Kingfisher\n//\n// Created by Wei Wang on 2016/08/26.\n//\n// Copyright (c) 2017 Wei Wang "
},
{
"path": "Pods/Kingfisher/Sources/ImageTransition.swift",
"chars": 4287,
"preview": "//\n// ImageTransition.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/9/18.\n//\n// Copyright (c) 2017 Wei Wang <o"
},
{
"path": "Pods/Kingfisher/Sources/ImageView+Kingfisher.swift",
"chars": 10723,
"preview": "//\n// ImageView+Kingfisher.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wan"
},
{
"path": "Pods/Kingfisher/Sources/Indicator.swift",
"chars": 6696,
"preview": "//\n// Indicator.swift\n// Kingfisher\n//\n// Created by João D. Moreira on 30/08/16.\n//\n// Copyright (c) 2017 Wei Wang "
},
{
"path": "Pods/Kingfisher/Sources/Kingfisher.h",
"chars": 1595,
"preview": "//\n// Kingfisher.h\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wang <onevcat@gma"
},
{
"path": "Pods/Kingfisher/Sources/Kingfisher.swift",
"chars": 2310,
"preview": "//\n// Kingfisher.swift\n// Kingfisher\n//\n// Created by Wei Wang on 16/9/14.\n//\n// Copyright (c) 2017 Wei Wang <onevca"
},
{
"path": "Pods/Kingfisher/Sources/KingfisherManager.swift",
"chars": 12118,
"preview": "//\n// KingfisherManager.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wang <"
},
{
"path": "Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift",
"chars": 14250,
"preview": "//\n// KingfisherOptionsInfo.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/23.\n//\n// Copyright (c) 2017 Wei W"
},
{
"path": "Pods/Kingfisher/Sources/Placeholder.swift",
"chars": 3590,
"preview": "//\n// Placeholder.swift\n// Kingfisher\n//\n// Created by Tieme van Veen on 28/08/2017.\n//\n// Copyright (c) 2017 Wei Wa"
},
{
"path": "Pods/Kingfisher/Sources/RequestModifier.swift",
"chars": 1921,
"preview": "//\n// RequestModifier.swift\n// Kingfisher\n//\n// Created by Wei Wang on 2016/09/05.\n//\n// Copyright (c) 2017 Wei Wang"
},
{
"path": "Pods/Kingfisher/Sources/Resource.swift",
"chars": 2716,
"preview": "//\n// Resource.swift\n// Kingfisher\n//\n// Created by Wei Wang on 15/4/6.\n//\n// Copyright (c) 2017 Wei Wang <onevcat@g"
}
]
// ... and 224 more files (download for full content)
About this extraction
This page contains the full source code of the intelygenz/Archit-iOS GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 424 files (1.7 MB), approximately 476.3k tokens, and a symbol index with 6 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.