├── App
├── App.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ccermak.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── App.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ └── cyrilcermak.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ └── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
├── App
│ ├── AppDelegate.swift
│ ├── AppFlow.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ ├── Info.plist
│ ├── MainVC.swift
│ └── MainView.swift
├── AppTests
│ ├── AppTests.swift
│ └── Info.plist
├── Podfile
├── Podfile.lock
└── Pods
│ ├── Alamofire
│ ├── LICENSE
│ ├── README.md
│ └── Source
│ │ ├── AFError.swift
│ │ ├── Alamofire.swift
│ │ ├── DispatchQueue+Alamofire.swift
│ │ ├── MultipartFormData.swift
│ │ ├── NetworkReachabilityManager.swift
│ │ ├── Notifications.swift
│ │ ├── ParameterEncoding.swift
│ │ ├── Request.swift
│ │ ├── Response.swift
│ │ ├── ResponseSerialization.swift
│ │ ├── Result.swift
│ │ ├── ServerTrustPolicy.swift
│ │ ├── SessionDelegate.swift
│ │ ├── SessionManager.swift
│ │ ├── TaskDelegate.swift
│ │ ├── Timeline.swift
│ │ └── Validation.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ ├── Alamofire.xcscheme
│ │ │ ├── Pods-App.xcscheme
│ │ │ ├── Pods-AppTests.xcscheme
│ │ │ ├── Pods-CCComponents.xcscheme
│ │ │ ├── Pods-CCCore.xcscheme
│ │ │ ├── Pods-CCFeature0.xcscheme
│ │ │ ├── Pods-CCFeature1.xcscheme
│ │ │ ├── Pods-CCFeature2.xcscheme
│ │ │ ├── SkyFloatingLabelTextField.xcscheme
│ │ │ ├── SnapKit.xcscheme
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ ├── Alamofire.xcscheme
│ │ ├── Pods-App.xcscheme
│ │ ├── Pods-AppTests.xcscheme
│ │ ├── Pods-CCComponents.xcscheme
│ │ ├── Pods-CCCore.xcscheme
│ │ ├── Pods-CCFeature0.xcscheme
│ │ ├── Pods-CCFeature1.xcscheme
│ │ ├── Pods-CCFeature2.xcscheme
│ │ ├── SkyFloatingLabelTextField.xcscheme
│ │ ├── SnapKit.xcscheme
│ │ └── xcschememanagement.plist
│ ├── SkyFloatingLabelTextField
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ │ ├── SkyFloatingLabelTextField.swift
│ │ ├── SkyFloatingLabelTextFieldWithIcon.swift
│ │ └── UITextField+fixCaretPosition.swift
│ ├── SnapKit
│ ├── LICENSE
│ ├── README.md
│ └── Source
│ │ ├── Constraint.swift
│ │ ├── ConstraintAttributes.swift
│ │ ├── ConstraintConfig.swift
│ │ ├── ConstraintConstantTarget.swift
│ │ ├── ConstraintDSL.swift
│ │ ├── ConstraintDescription.swift
│ │ ├── ConstraintInsetTarget.swift
│ │ ├── ConstraintInsets.swift
│ │ ├── ConstraintItem.swift
│ │ ├── ConstraintLayoutGuide+Extensions.swift
│ │ ├── ConstraintLayoutGuide.swift
│ │ ├── ConstraintLayoutGuideDSL.swift
│ │ ├── ConstraintLayoutSupport.swift
│ │ ├── ConstraintLayoutSupportDSL.swift
│ │ ├── ConstraintMaker.swift
│ │ ├── ConstraintMakerEditable.swift
│ │ ├── ConstraintMakerExtendable.swift
│ │ ├── ConstraintMakerFinalizable.swift
│ │ ├── ConstraintMakerPriortizable.swift
│ │ ├── ConstraintMakerRelatable.swift
│ │ ├── ConstraintMultiplierTarget.swift
│ │ ├── ConstraintOffsetTarget.swift
│ │ ├── ConstraintPriority.swift
│ │ ├── ConstraintPriorityTarget.swift
│ │ ├── ConstraintRelatableTarget.swift
│ │ ├── ConstraintRelation.swift
│ │ ├── ConstraintView+Extensions.swift
│ │ ├── ConstraintView.swift
│ │ ├── ConstraintViewDSL.swift
│ │ ├── Debugging.swift
│ │ ├── LayoutConstraint.swift
│ │ ├── LayoutConstraintItem.swift
│ │ ├── Typealiases.swift
│ │ └── UILayoutSupport+Extensions.swift
│ └── Target Support Files
│ ├── Alamofire
│ ├── Alamofire-dummy.m
│ ├── Alamofire-prefix.pch
│ ├── Alamofire-umbrella.h
│ ├── Alamofire.modulemap
│ ├── Alamofire.xcconfig
│ └── Info.plist
│ ├── Pods-App
│ ├── Info.plist
│ ├── Pods-App-acknowledgements.markdown
│ ├── Pods-App-acknowledgements.plist
│ ├── Pods-App-dummy.m
│ ├── Pods-App-frameworks.sh
│ ├── Pods-App-resources.sh
│ ├── Pods-App-umbrella.h
│ ├── Pods-App.debug.xcconfig
│ ├── Pods-App.modulemap
│ └── Pods-App.release.xcconfig
│ ├── Pods-AppTests
│ ├── Info.plist
│ ├── Pods-AppTests-acknowledgements.markdown
│ ├── Pods-AppTests-acknowledgements.plist
│ ├── Pods-AppTests-dummy.m
│ ├── Pods-AppTests-frameworks.sh
│ ├── Pods-AppTests-resources.sh
│ ├── Pods-AppTests-umbrella.h
│ ├── Pods-AppTests.debug.xcconfig
│ ├── Pods-AppTests.modulemap
│ └── Pods-AppTests.release.xcconfig
│ ├── Pods-CCComponents
│ ├── Info.plist
│ ├── Pods-CCComponents-acknowledgements.markdown
│ ├── Pods-CCComponents-acknowledgements.plist
│ ├── Pods-CCComponents-dummy.m
│ ├── Pods-CCComponents-resources.sh
│ ├── Pods-CCComponents-umbrella.h
│ ├── Pods-CCComponents.debug.xcconfig
│ ├── Pods-CCComponents.modulemap
│ └── Pods-CCComponents.release.xcconfig
│ ├── Pods-CCCore
│ ├── Info.plist
│ ├── Pods-CCCore-acknowledgements.markdown
│ ├── Pods-CCCore-acknowledgements.plist
│ ├── Pods-CCCore-dummy.m
│ ├── Pods-CCCore-resources.sh
│ ├── Pods-CCCore-umbrella.h
│ ├── Pods-CCCore.debug.xcconfig
│ ├── Pods-CCCore.modulemap
│ └── Pods-CCCore.release.xcconfig
│ ├── Pods-CCFeature0
│ ├── Info.plist
│ ├── Pods-CCFeature0-acknowledgements.markdown
│ ├── Pods-CCFeature0-acknowledgements.plist
│ ├── Pods-CCFeature0-dummy.m
│ ├── Pods-CCFeature0-resources.sh
│ ├── Pods-CCFeature0-umbrella.h
│ ├── Pods-CCFeature0.debug.xcconfig
│ ├── Pods-CCFeature0.modulemap
│ └── Pods-CCFeature0.release.xcconfig
│ ├── Pods-CCFeature1
│ ├── Info.plist
│ ├── Pods-CCFeature1-acknowledgements.markdown
│ ├── Pods-CCFeature1-acknowledgements.plist
│ ├── Pods-CCFeature1-dummy.m
│ ├── Pods-CCFeature1-resources.sh
│ ├── Pods-CCFeature1-umbrella.h
│ ├── Pods-CCFeature1.debug.xcconfig
│ ├── Pods-CCFeature1.modulemap
│ └── Pods-CCFeature1.release.xcconfig
│ ├── Pods-CCFeature2
│ ├── Info.plist
│ ├── Pods-CCFeature2-acknowledgements.markdown
│ ├── Pods-CCFeature2-acknowledgements.plist
│ ├── Pods-CCFeature2-dummy.m
│ ├── Pods-CCFeature2-resources.sh
│ ├── Pods-CCFeature2-umbrella.h
│ ├── Pods-CCFeature2.debug.xcconfig
│ ├── Pods-CCFeature2.modulemap
│ └── Pods-CCFeature2.release.xcconfig
│ ├── SkyFloatingLabelTextField
│ ├── Info.plist
│ ├── SkyFloatingLabelTextField-dummy.m
│ ├── SkyFloatingLabelTextField-prefix.pch
│ ├── SkyFloatingLabelTextField-umbrella.h
│ ├── SkyFloatingLabelTextField.modulemap
│ └── SkyFloatingLabelTextField.xcconfig
│ └── SnapKit
│ ├── Info.plist
│ ├── SnapKit-dummy.m
│ ├── SnapKit-prefix.pch
│ ├── SnapKit-umbrella.h
│ ├── SnapKit.modulemap
│ └── SnapKit.xcconfig
├── CCComponents
├── CCComponents.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CCComponents
│ ├── Buttons
│ │ └── CCBaseButton.swift
│ ├── CCComponents.h
│ └── Info.plist
└── CCComponentsTests
│ ├── CCComponentsTests.swift
│ └── Info.plist
├── CCCore
├── CCCore.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CCCore
│ ├── Base
│ │ └── CCBaseVC.swift
│ ├── CCCore.h
│ ├── Flow.swift
│ ├── Info.plist
│ ├── ProductsProvider.swift
│ ├── Serivces.swift
│ └── UsersProvider.swift
└── CCCoreTests
│ ├── CCCoreTests.swift
│ └── Info.plist
├── CCFeature0
├── CCFeature0.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CCFeature0
│ ├── CCFeature0.h
│ ├── CCFeature0Flow.swift
│ ├── Info.plist
│ └── MainF0VC.swift
├── CCFeature0Tests
│ ├── CCFeature0Tests.swift
│ └── Info.plist
└── CCFeature1
│ ├── CCFeature1
│ ├── CCFeature1.h
│ └── Info.plist
│ └── CCFeature1Tests
│ ├── CCFeature1Tests.swift
│ └── Info.plist
├── CCFeature1
├── CCFeature1.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CCFeature1
│ ├── CCFeature1.h
│ ├── CCFeature1Flow.swift
│ ├── Info.plist
│ └── MainFeature1.swift
└── CCFeature1Tests
│ ├── CCFeature1Tests.swift
│ └── Info.plist
├── CCFeature2
├── CCFeature2.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ ├── ccermak.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── cyrilcermak.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CCFeature2
│ ├── CCFeature2.h
│ ├── CCFeature2Flow.swift
│ ├── Info.plist
│ ├── MainFeature2.swift
│ └── ModalFeature2VC.swift
└── CCFeature2Tests
│ ├── CCFeature2Tests.swift
│ └── Info.plist
├── Carthage
├── Cartfile
├── Cartfile.resolved
└── Carthage
│ └── Build
│ ├── .RxSwift.version
│ └── iOS
│ ├── RxCocoa.framework
│ ├── Headers
│ │ ├── RxCocoa-Swift.h
│ │ ├── RxCocoa.h
│ │ ├── _RX.h
│ │ ├── _RXDelegateProxy.h
│ │ ├── _RXKVOObserver.h
│ │ └── _RXObjCRuntime.h
│ ├── Info.plist
│ ├── Modules
│ │ ├── RxCocoa.swiftmodule
│ │ │ ├── arm.swiftdoc
│ │ │ ├── arm.swiftmodule
│ │ │ ├── arm64.swiftdoc
│ │ │ ├── arm64.swiftmodule
│ │ │ ├── i386.swiftdoc
│ │ │ ├── i386.swiftmodule
│ │ │ ├── x86_64.swiftdoc
│ │ │ └── x86_64.swiftmodule
│ │ └── module.modulemap
│ └── RxCocoa
│ └── RxSwift.framework
│ ├── Headers
│ └── RxSwift-Swift.h
│ ├── Info.plist
│ ├── Modules
│ ├── RxSwift.swiftmodule
│ │ ├── arm.swiftdoc
│ │ ├── arm.swiftmodule
│ │ ├── arm64.swiftdoc
│ │ ├── arm64.swiftmodule
│ │ ├── i386.swiftdoc
│ │ ├── i386.swiftmodule
│ │ ├── x86_64.swiftdoc
│ │ └── x86_64.swiftmodule
│ └── module.modulemap
│ └── RxSwift
└── README.md
/App/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/App/App.xcodeproj/project.xcworkspace/xcuserdata/ccermak.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/App/App.xcodeproj/project.xcworkspace/xcuserdata/ccermak.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/App/App.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | App.xcscheme
8 |
9 | orderHint
10 | 10
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/App/App.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | App.xcscheme
8 |
9 | orderHint
10 | 10
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/App/App.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
13 |
15 |
16 |
18 |
19 |
21 |
22 |
24 |
25 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/App/App.xcworkspace/xcuserdata/ccermak.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/App/App.xcworkspace/xcuserdata/ccermak.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/App/App.xcworkspace/xcuserdata/cyrilcermak.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/App/App.xcworkspace/xcuserdata/cyrilcermak.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/App/App.xcworkspace/xcuserdata/cyrilcermak.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/App/App/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // App
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import CCCore
11 |
12 | @UIApplicationMain
13 | class AppDelegate: UIResponder, UIApplicationDelegate {
14 | var flow: AppFlow!
15 | var window: UIWindow?
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | initFlowAndServices()
19 |
20 | return true
21 | }
22 |
23 | //Creates a main flow for the app with services that are then passed to childFlows.
24 | private func initFlowAndServices() {
25 | let services = CCServices()
26 | self.flow = AppFlow(services: services)
27 | flow.start()
28 | self.window = UIWindow()
29 | self.window?.rootViewController = flow.navigation
30 | self.window?.makeKeyAndVisible()
31 | }
32 |
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/App/App/AppFlow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppFlow.swift
3 | // App
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | /**
12 | This is the order of how the frameworks are being compiled.
13 | It starts with CCCore but if CCCore contains other imported framework
14 | then the compiler jumps to that framework.
15 | */
16 | import CCCore
17 | import CCFeature0
18 | import CCFeature1
19 | import CCFeature2
20 | /**
21 | Init of the flow takes two params:
22 | @param services: An object that contains reference to all the services that are used in the app
23 | @param navigationVC: Main UINavigationVC who is then passed to a childFlows
24 | */
25 | class AppFlow: Flow {
26 |
27 | var services: Services
28 | var childFlows: [Flow] = [Flow]()
29 | var navigation: UINavigationController?
30 | var finish: (Flow) -> () = { _ in }
31 |
32 | required init(services: Services, navigationVC: UINavigationController? = nil) {
33 | self.services = services
34 | }
35 |
36 | public func start() {
37 | self.presentMainVC()
38 | }
39 |
40 | private func presentMainVC() {
41 | let mainVC = MainVC(services: self.services)
42 | mainVC.delegate = self
43 | self.navigation = UINavigationController(rootViewController: mainVC)
44 | }
45 |
46 | }
47 |
48 | extension AppFlow: MainVCDelegate {
49 | func presentCCFeature0() {
50 | let feature0Flow = CCFeature0Flow(services: self.services, navigationVC: self.navigation)
51 | feature0Flow.finish = { flow in
52 | _ = self.childFlows.popLast()
53 | print("poped CCFeature0Flow)")
54 | }
55 | startNew(flow: feature0Flow)
56 | }
57 |
58 | func pushCCFeature1() {
59 | let feature1Flow = CCFeature1Flow(services: self.services, navigationVC: self.navigation)
60 | feature1Flow.finish = { flow in
61 | _ = self.childFlows.popLast()
62 | print("poped CCFeature1Flow)")
63 | }
64 | startNew(flow: feature1Flow)
65 | }
66 |
67 | func pushCCFeature2() {
68 | let feature2Flow = CCFeature2Flow(services: self.services, navigationVC: self.navigation)
69 | feature2Flow.finish = { flow in
70 | _ = self.childFlows.popLast()
71 | print("poped CCFeature2Flow)")
72 | }
73 | startNew(flow: feature2Flow)
74 | }
75 |
76 | private func startNew(flow: Flow) {
77 | flow.start()
78 | self.childFlows.append(flow)
79 | }
80 |
81 | }
82 |
--------------------------------------------------------------------------------
/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "size" : "1024x1024",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/App/App/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/App/App/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIRequiredDeviceCapabilities
26 |
27 | armv7
28 |
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/App/App/MainVC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // App
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import CCComponents
11 | import CCCore
12 | import SnapKit
13 | import RxSwift
14 | import RxCocoa
15 |
16 | protocol MainVCDelegate: class {
17 | func presentCCFeature0()
18 | func pushCCFeature1()
19 | func pushCCFeature2()
20 | }
21 |
22 | class MainVC: CCBaseVC {
23 |
24 | weak var delegate: MainVCDelegate?
25 | let disposeBag = DisposeBag()
26 | let mainView = MainView(frame: CGRect.zero)
27 |
28 | override func viewDidLoad() {
29 | super.viewDidLoad()
30 | initView()
31 | setBtns()
32 | }
33 |
34 | override func loadView() {
35 | self.view = UIView(frame: UIScreen.main.bounds)
36 | }
37 |
38 | private func initView() {
39 | self.view.addSubview(mainView)
40 | mainView.snp.makeConstraints({ $0.edges.equalTo(self.view) })
41 | }
42 |
43 | private func setBtns() {
44 | mainView.feature0Btn.rx.tap.subscribe(onNext: { self.delegate?.presentCCFeature0() }).disposed(by: disposeBag)
45 | mainView.feature1Btn.rx.tap.subscribe(onNext: { self.delegate?.pushCCFeature1() }).disposed(by: disposeBag)
46 | mainView.feature2Btn.rx.tap.subscribe(onNext: { self.delegate?.pushCCFeature2() }).disposed(by: disposeBag)
47 | }
48 |
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/App/App/MainView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainView.swift
3 | // App
4 | //
5 | // Created by Cyril Cermak on 6/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | import CCComponents
12 |
13 | class MainView: UIView {
14 |
15 | let feature0Btn = CCBaseButton(frame: CGRect.zero)
16 | let feature1Btn = CCBaseButton(frame: CGRect.zero)
17 | let feature2Btn = CCBaseButton(frame: CGRect.zero)
18 |
19 | override init(frame: CGRect) {
20 | super.init(frame: frame)
21 | initView()
22 | setButtons()
23 | }
24 |
25 | required init?(coder aDecoder: NSCoder) {
26 | super.init(coder: aDecoder)
27 | }
28 |
29 | private func initView() {
30 | let stackView = UIStackView()
31 | stackView.axis = .vertical
32 | stackView.alignment = .center
33 | stackView.distribution = .equalSpacing
34 | for btn in [feature0Btn, feature1Btn, feature2Btn] {
35 | btn.setTitleColor(.red, for: .normal)
36 | stackView.addArrangedSubview(btn)
37 | }
38 |
39 | self.addSubview(stackView)
40 | stackView.snp.makeConstraints { (make) in
41 | make.left.right.equalTo(self)
42 | make.center.equalTo(self)
43 | make.height.equalTo(150)
44 | }
45 | }
46 |
47 | private func setButtons() {
48 | feature0Btn.setTitle("present feature 0", for: .normal)
49 | feature1Btn.setTitle("push feature 1", for: .normal)
50 | feature2Btn.setTitle("push feature 2", for: .normal)
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/App/AppTests/AppTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppTests.swift
3 | // AppTests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import App
11 |
12 | class AppTests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/App/AppTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/App/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | workspace 'App.xcworkspace'
5 | project 'App.xcodeproj'
6 | platform :ios, '10.0'
7 | inhibit_all_warnings!
8 | use_frameworks!
9 |
10 | CCPod = Struct.new(:name, :version, :git, :branch)
11 | snapkit = CCPod.new('SnapKit', '~> 4.0.0')
12 | alamofire = CCPod.new('Alamofire', '~> 4.6')
13 | skyFloatingLabelTextField = CCPod.new('SkyFloatingLabelTextField', '~> 3.0')
14 |
15 | #Every pod that is used in the framework must be
16 | #included in the main app as framework does not copy pods to target,
17 | #so you would end up with dyld: library not loaded
18 | ["App", "AppTests"].each do |targetName|
19 | target targetName do
20 | inherit! :search_paths
21 |
22 | pod snapkit.name, snapkit.version
23 | pod skyFloatingLabelTextField.name, skyFloatingLabelTextField.version
24 | pod alamofire.name, alamofire.version
25 | end
26 | end
27 |
28 | def project_path(projectName)
29 | return "../#{projectName}/#{projectName}"
30 | end
31 |
32 | target 'CCCore' do
33 | project project_path("CCCore")
34 |
35 | pod alamofire.name, alamofire.version
36 | end
37 |
38 | target 'CCComponents' do
39 | project project_path("CCComponents")
40 |
41 | pod snapkit.name, snapkit.version
42 | end
43 |
44 | target 'CCFeature0' do
45 | project project_path("CCFeature0")
46 |
47 | pod skyFloatingLabelTextField.name, skyFloatingLabelTextField.version
48 | pod snapkit.name, snapkit.version
49 | end
50 |
51 | target 'CCFeature1' do
52 | project project_path("CCFeature1")
53 |
54 | pod skyFloatingLabelTextField.name, skyFloatingLabelTextField.version
55 | pod snapkit.name, snapkit.version
56 | end
57 |
58 | target 'CCFeature2' do
59 | project project_path("CCFeature2")
60 |
61 | pod snapkit.name, snapkit.version
62 | end
63 |
--------------------------------------------------------------------------------
/App/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Alamofire (4.6.0)
3 | - SkyFloatingLabelTextField (3.4.0)
4 | - SnapKit (4.0.0)
5 |
6 | DEPENDENCIES:
7 | - Alamofire (~> 4.6)
8 | - SkyFloatingLabelTextField (~> 3.0)
9 | - SnapKit (~> 4.0.0)
10 |
11 | SPEC REPOS:
12 | https://github.com/CocoaPods/Specs.git:
13 | - Alamofire
14 | - SkyFloatingLabelTextField
15 | - SnapKit
16 |
17 | SPEC CHECKSUMS:
18 | Alamofire: f41a599bd63041760b26d393ec1069d9d7b917f4
19 | SkyFloatingLabelTextField: 703aa1420b697392b1e7dba25571180dde018477
20 | SnapKit: a42d492c16e80209130a3379f73596c3454b7694
21 |
22 | PODFILE CHECKSUM: f0ca08ba407aeddf9c8bcb2ae293736be32f3786
23 |
24 | COCOAPODS: 1.5.0
25 |
--------------------------------------------------------------------------------
/App/Pods/Alamofire/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/App/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Alamofire.swift
3 | //
4 | // Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/)
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 | //
24 |
25 | import Dispatch
26 | import Foundation
27 |
28 | extension DispatchQueue {
29 | static var userInteractive: DispatchQueue { return DispatchQueue.global(qos: .userInteractive) }
30 | static var userInitiated: DispatchQueue { return DispatchQueue.global(qos: .userInitiated) }
31 | static var utility: DispatchQueue { return DispatchQueue.global(qos: .utility) }
32 | static var background: DispatchQueue { return DispatchQueue.global(qos: .background) }
33 |
34 | func after(_ delay: TimeInterval, execute closure: @escaping () -> Void) {
35 | asyncAfter(deadline: .now() + delay, execute: closure)
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/App/Pods/Alamofire/Source/Notifications.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Notifications.swift
3 | //
4 | // Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/)
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 | //
24 |
25 | import Foundation
26 |
27 | extension Notification.Name {
28 | /// Used as a namespace for all `URLSessionTask` related notifications.
29 | public struct Task {
30 | /// Posted when a `URLSessionTask` is resumed. The notification `object` contains the resumed `URLSessionTask`.
31 | public static let DidResume = Notification.Name(rawValue: "org.alamofire.notification.name.task.didResume")
32 |
33 | /// Posted when a `URLSessionTask` is suspended. The notification `object` contains the suspended `URLSessionTask`.
34 | public static let DidSuspend = Notification.Name(rawValue: "org.alamofire.notification.name.task.didSuspend")
35 |
36 | /// Posted when a `URLSessionTask` is cancelled. The notification `object` contains the cancelled `URLSessionTask`.
37 | public static let DidCancel = Notification.Name(rawValue: "org.alamofire.notification.name.task.didCancel")
38 |
39 | /// Posted when a `URLSessionTask` is completed. The notification `object` contains the completed `URLSessionTask`.
40 | public static let DidComplete = Notification.Name(rawValue: "org.alamofire.notification.name.task.didComplete")
41 | }
42 | }
43 |
44 | // MARK: -
45 |
46 | extension Notification {
47 | /// Used as a namespace for all `Notification` user info dictionary keys.
48 | public struct Key {
49 | /// User info dictionary key representing the `URLSessionTask` associated with the notification.
50 | public static let Task = "org.alamofire.notification.key.task"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/App/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Alamofire (4.6.0)
3 | - SkyFloatingLabelTextField (3.4.0)
4 | - SnapKit (4.0.0)
5 |
6 | DEPENDENCIES:
7 | - Alamofire (~> 4.6)
8 | - SkyFloatingLabelTextField (~> 3.0)
9 | - SnapKit (~> 4.0.0)
10 |
11 | SPEC REPOS:
12 | https://github.com/CocoaPods/Specs.git:
13 | - Alamofire
14 | - SkyFloatingLabelTextField
15 | - SnapKit
16 |
17 | SPEC CHECKSUMS:
18 | Alamofire: f41a599bd63041760b26d393ec1069d9d7b917f4
19 | SkyFloatingLabelTextField: 703aa1420b697392b1e7dba25571180dde018477
20 | SnapKit: a42d492c16e80209130a3379f73596c3454b7694
21 |
22 | PODFILE CHECKSUM: f0ca08ba407aeddf9c8bcb2ae293736be32f3786
23 |
24 | COCOAPODS: 1.5.0
25 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Alamofire.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-App.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-AppTests.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-CCCore.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-CCFeature0.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-CCFeature1.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/Pods-CCFeature2.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/SkyFloatingLabelTextField.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/SnapKit.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Alamofire.xcscheme
8 |
9 | isShown
10 |
11 | orderHint
12 | 0
13 |
14 | Pods-App.xcscheme
15 |
16 | isShown
17 |
18 | orderHint
19 | 1
20 |
21 | Pods-AppTests.xcscheme
22 |
23 | isShown
24 |
25 | orderHint
26 | 2
27 |
28 | Pods-CCComponents.xcscheme
29 |
30 | isShown
31 |
32 | orderHint
33 | 3
34 |
35 | Pods-CCCore.xcscheme
36 |
37 | isShown
38 |
39 | orderHint
40 | 4
41 |
42 | Pods-CCFeature0.xcscheme
43 |
44 | isShown
45 |
46 | orderHint
47 | 5
48 |
49 | Pods-CCFeature1.xcscheme
50 |
51 | isShown
52 |
53 | orderHint
54 | 6
55 |
56 | Pods-CCFeature2.xcscheme
57 |
58 | isShown
59 |
60 | orderHint
61 | 7
62 |
63 | SkyFloatingLabelTextField.xcscheme
64 |
65 | isShown
66 |
67 | orderHint
68 | 8
69 |
70 | SnapKit.xcscheme
71 |
72 | isShown
73 |
74 | orderHint
75 | 9
76 |
77 |
78 | SuppressBuildableAutocreation
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/Alamofire.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/SkyFloatingLabelTextField.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/SnapKit.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/App/Pods/Pods.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Alamofire.xcscheme
8 |
9 | isShown
10 |
11 | orderHint
12 | 0
13 |
14 | Pods-App.xcscheme
15 |
16 | isShown
17 |
18 | orderHint
19 | 1
20 |
21 | Pods-AppTests.xcscheme
22 |
23 | isShown
24 |
25 | orderHint
26 | 2
27 |
28 | Pods-CCComponents.xcscheme
29 |
30 | isShown
31 |
32 | orderHint
33 | 3
34 |
35 | Pods-CCCore.xcscheme
36 |
37 | isShown
38 |
39 | orderHint
40 | 4
41 |
42 | Pods-CCFeature0.xcscheme
43 |
44 | isShown
45 |
46 | orderHint
47 | 5
48 |
49 | Pods-CCFeature1.xcscheme
50 |
51 | isShown
52 |
53 | orderHint
54 | 6
55 |
56 | Pods-CCFeature2.xcscheme
57 |
58 | isShown
59 |
60 | orderHint
61 | 7
62 |
63 | SkyFloatingLabelTextField.xcscheme
64 |
65 | isShown
66 |
67 | orderHint
68 | 8
69 |
70 | SnapKit.xcscheme
71 |
72 | isShown
73 |
74 | orderHint
75 | 9
76 |
77 |
78 | SuppressBuildableAutocreation
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/App/Pods/SkyFloatingLabelTextField/Sources/UITextField+fixCaretPosition.swift:
--------------------------------------------------------------------------------
1 | // Copyright 2016-2017 Skyscanner Ltd
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License. You may obtain a copy of the License at
5 | //
6 | // http://www.apache.org/licenses/LICENSE-2.0
7 | //
8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is
9 | // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 | // See the License for the specific language governing permissions and limitations under the License.
11 |
12 | // MARK: - UITextField extension
13 |
14 | import UIKit
15 |
16 | extension UITextField {
17 | /// Moves the caret to the correct position by removing the trailing whitespace
18 | func fixCaretPosition() {
19 | // Moving the caret to the correct position by removing the trailing whitespace
20 | // http://stackoverflow.com/questions/14220187/uitextfield-has-trailing-whitespace-after-securetextentry-toggle
21 |
22 | let beginning = beginningOfDocument
23 | selectedTextRange = textRange(from: beginning, to: beginning)
24 | let end = endOfDocument
25 | selectedTextRange = textRange(from: end, to: end)
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
27 | #else
28 | import AppKit
29 | public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
30 | #endif
31 |
32 |
33 | public struct ConstraintConfig {
34 |
35 | public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintInsets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintInsets = UIEdgeInsets
33 | #else
34 | public typealias ConstraintInsets = NSEdgeInsets
35 | #endif
36 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public final class ConstraintItem {
32 |
33 | internal weak var target: AnyObject?
34 | internal let attributes: ConstraintAttributes
35 |
36 | internal init(target: AnyObject?, attributes: ConstraintAttributes) {
37 | self.target = target
38 | self.attributes = attributes
39 | }
40 |
41 | internal var layoutConstraintItem: LayoutConstraintItem? {
42 | return self.target as? LayoutConstraintItem
43 | }
44 |
45 | }
46 |
47 | public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
48 | // pointer equality
49 | guard lhs !== rhs else {
50 | return true
51 | }
52 |
53 | // must both have valid targets and identical attributes
54 | guard let target1 = lhs.target,
55 | let target2 = rhs.target,
56 | target1 === target2 && lhs.attributes == rhs.attributes else {
57 | return false
58 | }
59 |
60 | return true
61 | }
62 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintLayoutGuide+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 9.0, OSX 10.11, *)
30 | public extension ConstraintLayoutGuide {
31 |
32 | public var snp: ConstraintLayoutGuideDSL {
33 | return ConstraintLayoutGuideDSL(guide: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintLayoutGuide.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 9.0, *)
33 | public typealias ConstraintLayoutGuide = UILayoutGuide
34 | #else
35 | @available(OSX 10.11, *)
36 | public typealias ConstraintLayoutGuide = NSLayoutGuide
37 | #endif
38 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintLayoutGuideDSL.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | @available(iOS 9.0, OSX 10.11, *)
32 | public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL {
33 |
34 | @discardableResult
35 | public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
36 | return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure)
37 | }
38 |
39 | public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
40 | ConstraintMaker.makeConstraints(item: self.guide, closure: closure)
41 | }
42 |
43 | public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
44 | ConstraintMaker.remakeConstraints(item: self.guide, closure: closure)
45 | }
46 |
47 | public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
48 | ConstraintMaker.updateConstraints(item: self.guide, closure: closure)
49 | }
50 |
51 | public func removeConstraints() {
52 | ConstraintMaker.removeConstraints(item: self.guide)
53 | }
54 |
55 | public var target: AnyObject? {
56 | return self.guide
57 | }
58 |
59 | internal let guide: ConstraintLayoutGuide
60 |
61 | internal init(guide: ConstraintLayoutGuide) {
62 | self.guide = guide
63 |
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintLayoutSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 8.0, *)
33 | public typealias ConstraintLayoutSupport = UILayoutSupport
34 | #else
35 | public class ConstraintLayoutSupport {}
36 | #endif
37 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintLayoutSupportDSL.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | @available(iOS 8.0, *)
32 | public struct ConstraintLayoutSupportDSL: ConstraintDSL {
33 |
34 | public var target: AnyObject? {
35 | return self.support
36 | }
37 |
38 | internal let support: ConstraintLayoutSupport
39 |
40 | internal init(support: ConstraintLayoutSupport) {
41 | self.support = support
42 |
43 | }
44 |
45 | public var top: ConstraintItem {
46 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
47 | }
48 |
49 | public var bottom: ConstraintItem {
50 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
51 | }
52 |
53 | public var height: ConstraintItem {
54 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintMakerEditable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class ConstraintMakerEditable: ConstraintMakerPriortizable {
32 |
33 | @discardableResult
34 | public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
35 | self.description.multiplier = amount
36 | return self
37 | }
38 |
39 | @discardableResult
40 | public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
41 | return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue)
42 | }
43 |
44 | @discardableResult
45 | public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable {
46 | self.description.constant = amount.constraintOffsetTargetValue
47 | return self
48 | }
49 |
50 | @discardableResult
51 | public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable {
52 | self.description.constant = amount.constraintInsetTargetValue
53 | return self
54 | }
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintMakerFinalizable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class ConstraintMakerFinalizable {
32 |
33 | internal let description: ConstraintDescription
34 |
35 | internal init(_ description: ConstraintDescription) {
36 | self.description = description
37 | }
38 |
39 | @discardableResult
40 | public func labeled(_ label: String) -> ConstraintMakerFinalizable {
41 | self.description.label = label
42 | return self
43 | }
44 |
45 | public var constraint: Constraint {
46 | return self.description.constraint!
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintMakerPriortizable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class ConstraintMakerPriortizable: ConstraintMakerFinalizable {
32 |
33 | @discardableResult
34 | public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable {
35 | self.description.priority = amount.value
36 | return self
37 | }
38 |
39 | @discardableResult
40 | public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable {
41 | self.description.priority = amount
42 | return self
43 | }
44 |
45 | @available(*, deprecated:3.0, message:"Use priority(.required) instead.")
46 | @discardableResult
47 | public func priorityRequired() -> ConstraintMakerFinalizable {
48 | return self.priority(.required)
49 | }
50 |
51 | @available(*, deprecated:3.0, message:"Use priority(.high) instead.")
52 | @discardableResult
53 | public func priorityHigh() -> ConstraintMakerFinalizable {
54 | return self.priority(.high)
55 | }
56 |
57 | @available(*, deprecated:3.0, message:"Use priority(.medium) instead.")
58 | @discardableResult
59 | public func priorityMedium() -> ConstraintMakerFinalizable {
60 | return self.priority(.medium)
61 | }
62 |
63 | @available(*, deprecated:3.0, message:"Use priority(.low) instead.")
64 | @discardableResult
65 | public func priorityLow() -> ConstraintMakerFinalizable {
66 | return self.priority(.low)
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintMultiplierTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintMultiplierTarget {
32 |
33 | var constraintMultiplierTargetValue: CGFloat { get }
34 |
35 | }
36 |
37 | extension Int: ConstraintMultiplierTarget {
38 |
39 | public var constraintMultiplierTargetValue: CGFloat {
40 | return CGFloat(self)
41 | }
42 |
43 | }
44 |
45 | extension UInt: ConstraintMultiplierTarget {
46 |
47 | public var constraintMultiplierTargetValue: CGFloat {
48 | return CGFloat(self)
49 | }
50 |
51 | }
52 |
53 | extension Float: ConstraintMultiplierTarget {
54 |
55 | public var constraintMultiplierTargetValue: CGFloat {
56 | return CGFloat(self)
57 | }
58 |
59 | }
60 |
61 | extension Double: ConstraintMultiplierTarget {
62 |
63 | public var constraintMultiplierTargetValue: CGFloat {
64 | return CGFloat(self)
65 | }
66 |
67 | }
68 |
69 | extension CGFloat: ConstraintMultiplierTarget {
70 |
71 | public var constraintMultiplierTargetValue: CGFloat {
72 | return self
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintOffsetTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintOffsetTarget: ConstraintConstantTarget {
32 | }
33 |
34 | extension Int: ConstraintOffsetTarget {
35 | }
36 |
37 | extension UInt: ConstraintOffsetTarget {
38 | }
39 |
40 | extension Float: ConstraintOffsetTarget {
41 | }
42 |
43 | extension Double: ConstraintOffsetTarget {
44 | }
45 |
46 | extension CGFloat: ConstraintOffsetTarget {
47 | }
48 |
49 | extension ConstraintOffsetTarget {
50 |
51 | internal var constraintOffsetTargetValue: CGFloat {
52 | let offset: CGFloat
53 | if let amount = self as? Float {
54 | offset = CGFloat(amount)
55 | } else if let amount = self as? Double {
56 | offset = CGFloat(amount)
57 | } else if let amount = self as? CGFloat {
58 | offset = CGFloat(amount)
59 | } else if let amount = self as? Int {
60 | offset = CGFloat(amount)
61 | } else if let amount = self as? UInt {
62 | offset = CGFloat(amount)
63 | } else {
64 | offset = 0.0
65 | }
66 | return offset
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintPriority.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 | public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable {
31 | public typealias FloatLiteralType = Float
32 |
33 | public let value: Float
34 |
35 | public init(floatLiteral value: Float) {
36 | self.value = value
37 | }
38 |
39 | public init(_ value: Float) {
40 | self.value = value
41 | }
42 |
43 | public static var required: ConstraintPriority {
44 | return 1000.0
45 | }
46 |
47 | public static var high: ConstraintPriority {
48 | return 750.0
49 | }
50 |
51 | public static var medium: ConstraintPriority {
52 | #if os(OSX)
53 | return 501.0
54 | #else
55 | return 500.0
56 | #endif
57 |
58 | }
59 |
60 | public static var low: ConstraintPriority {
61 | return 250.0
62 | }
63 |
64 | public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool {
65 | return lhs.value == rhs.value
66 | }
67 |
68 | // MARK: Strideable
69 |
70 | public func advanced(by n: FloatLiteralType) -> ConstraintPriority {
71 | return ConstraintPriority(floatLiteral: value + n)
72 | }
73 |
74 | public func distance(to other: ConstraintPriority) -> FloatLiteralType {
75 | return other.value - value
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintPriorityTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintPriorityTarget {
32 |
33 | var constraintPriorityTargetValue: Float { get }
34 |
35 | }
36 |
37 | extension Int: ConstraintPriorityTarget {
38 |
39 | public var constraintPriorityTargetValue: Float {
40 | return Float(self)
41 | }
42 |
43 | }
44 |
45 | extension UInt: ConstraintPriorityTarget {
46 |
47 | public var constraintPriorityTargetValue: Float {
48 | return Float(self)
49 | }
50 |
51 | }
52 |
53 | extension Float: ConstraintPriorityTarget {
54 |
55 | public var constraintPriorityTargetValue: Float {
56 | return self
57 | }
58 |
59 | }
60 |
61 | extension Double: ConstraintPriorityTarget {
62 |
63 | public var constraintPriorityTargetValue: Float {
64 | return Float(self)
65 | }
66 |
67 | }
68 |
69 | extension CGFloat: ConstraintPriorityTarget {
70 |
71 | public var constraintPriorityTargetValue: Float {
72 | return Float(self)
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintRelatableTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintRelatableTarget {
32 | }
33 |
34 | extension Int: ConstraintRelatableTarget {
35 | }
36 |
37 | extension UInt: ConstraintRelatableTarget {
38 | }
39 |
40 | extension Float: ConstraintRelatableTarget {
41 | }
42 |
43 | extension Double: ConstraintRelatableTarget {
44 | }
45 |
46 | extension CGFloat: ConstraintRelatableTarget {
47 | }
48 |
49 | extension CGSize: ConstraintRelatableTarget {
50 | }
51 |
52 | extension CGPoint: ConstraintRelatableTarget {
53 | }
54 |
55 | extension ConstraintInsets: ConstraintRelatableTarget {
56 | }
57 |
58 | extension ConstraintItem: ConstraintRelatableTarget {
59 | }
60 |
61 | extension ConstraintView: ConstraintRelatableTarget {
62 | }
63 |
64 | @available(iOS 9.0, OSX 10.11, *)
65 | extension ConstraintLayoutGuide: ConstraintRelatableTarget {
66 | }
67 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintRelation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | internal enum ConstraintRelation : Int {
32 | case equal = 1
33 | case lessThanOrEqual
34 | case greaterThanOrEqual
35 |
36 | internal var layoutRelation: LayoutRelation {
37 | get {
38 | switch(self) {
39 | case .equal:
40 | return .equal
41 | case .lessThanOrEqual:
42 | return .lessThanOrEqual
43 | case .greaterThanOrEqual:
44 | return .greaterThanOrEqual
45 | }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/ConstraintView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintView = UIView
33 | #else
34 | public typealias ConstraintView = NSView
35 | #endif
36 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/LayoutConstraint.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class LayoutConstraint : NSLayoutConstraint {
32 |
33 | public var label: String? {
34 | get {
35 | return self.identifier
36 | }
37 | set {
38 | self.identifier = newValue
39 | }
40 | }
41 |
42 | internal weak var constraint: Constraint? = nil
43 |
44 | }
45 |
46 | internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
47 | guard lhs.firstItem === rhs.firstItem &&
48 | lhs.secondItem === rhs.secondItem &&
49 | lhs.firstAttribute == rhs.firstAttribute &&
50 | lhs.secondAttribute == rhs.secondAttribute &&
51 | lhs.relation == rhs.relation &&
52 | lhs.priority == rhs.priority &&
53 | lhs.multiplier == rhs.multiplier else {
54 | return false
55 | }
56 | return true
57 | }
58 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/Typealiases.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import Foundation
25 |
26 | #if os(iOS) || os(tvOS)
27 | import UIKit
28 | typealias LayoutRelation = NSLayoutRelation
29 | typealias LayoutAttribute = NSLayoutAttribute
30 | typealias LayoutPriority = UILayoutPriority
31 | #else
32 | import AppKit
33 | typealias LayoutRelation = NSLayoutConstraint.Relation
34 | typealias LayoutAttribute = NSLayoutConstraint.Attribute
35 | typealias LayoutPriority = NSLayoutConstraint.Priority
36 | #endif
37 |
38 |
--------------------------------------------------------------------------------
/App/Pods/SnapKit/Source/UILayoutSupport+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 8.0, *)
30 | public extension ConstraintLayoutSupport {
31 |
32 | public var snp: ConstraintLayoutSupportDSL {
33 | return ConstraintLayoutSupportDSL(support: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Alamofire-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Alamofire : NSObject
3 | @end
4 | @implementation PodsDummy_Alamofire
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double AlamofireVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char AlamofireVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Alamofire.modulemap:
--------------------------------------------------------------------------------
1 | framework module Alamofire {
2 | umbrella header "Alamofire-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Alamofire.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Alamofire/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.6.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Pods-App-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_App : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_App
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Pods-App-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_AppVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_AppVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SkyFloatingLabelTextField" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Pods-App.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_App {
2 | umbrella header "Pods-App-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SkyFloatingLabelTextField" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Pods-AppTests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_AppTests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_AppTests
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Pods-AppTests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_AppTestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_AppTestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Pods-AppTests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SkyFloatingLabelTextField" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Pods-AppTests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_AppTests {
2 | umbrella header "Pods-AppTests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-AppTests/Pods-AppTests.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "SkyFloatingLabelTextField" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## SnapKit
5 |
6 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | SnapKit
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CCComponents : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CCComponents
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CCComponentsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CCComponentsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CCComponents {
2 | umbrella header "Pods-CCComponents-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCComponents/Pods-CCComponents.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## Alamofire
5 |
6 | Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/)
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/)
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | Alamofire
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CCCore : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CCCore
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CCCoreVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CCCoreVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CCCore {
2 | umbrella header "Pods-CCCore-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCCore/Pods-CCCore.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Pods-CCFeature0-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CCFeature0 : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CCFeature0
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Pods-CCFeature0-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CCFeature0VersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CCFeature0VersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Pods-CCFeature0.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SkyFloatingLabelTextField" -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Pods-CCFeature0.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CCFeature0 {
2 | umbrella header "Pods-CCFeature0-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature0/Pods-CCFeature0.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SkyFloatingLabelTextField" -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Pods-CCFeature1-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CCFeature1 : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CCFeature1
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Pods-CCFeature1-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CCFeature1VersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CCFeature1VersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Pods-CCFeature1.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SkyFloatingLabelTextField" -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Pods-CCFeature1.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CCFeature1 {
2 | umbrella header "Pods-CCFeature1-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature1/Pods-CCFeature1.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField/SkyFloatingLabelTextField.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SkyFloatingLabelTextField" -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## SnapKit
5 |
6 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | SnapKit
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CCFeature2 : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CCFeature2
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CCFeature2VersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CCFeature2VersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CCFeature2 {
2 | umbrella header "Pods-CCFeature2-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/Pods-CCFeature2/Pods-CCFeature2.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
4 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/../App
10 | PODS_ROOT = ${SRCROOT}/../App/Pods
11 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 3.4.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/SkyFloatingLabelTextField-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SkyFloatingLabelTextField : NSObject
3 | @end
4 | @implementation PodsDummy_SkyFloatingLabelTextField
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/SkyFloatingLabelTextField-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/SkyFloatingLabelTextField-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SkyFloatingLabelTextFieldVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SkyFloatingLabelTextFieldVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/SkyFloatingLabelTextField.modulemap:
--------------------------------------------------------------------------------
1 | framework module SkyFloatingLabelTextField {
2 | umbrella header "SkyFloatingLabelTextField-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SkyFloatingLabelTextField/SkyFloatingLabelTextField.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SkyFloatingLabelTextField
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SkyFloatingLabelTextField
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/SnapKit-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SnapKit : NSObject
3 | @end
4 | @implementation PodsDummy_SnapKit
5 | @end
6 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SnapKitVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/SnapKit.modulemap:
--------------------------------------------------------------------------------
1 | framework module SnapKit {
2 | umbrella header "SnapKit-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/App/Pods/Target Support Files/SnapKit/SnapKit.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/CCComponents/CCComponents.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCComponents.xcscheme
8 |
9 | orderHint
10 | 11
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCComponents/CCComponents.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCComponents.xcscheme
8 |
9 | orderHint
10 | 11
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCComponents/CCComponents/Buttons/CCBaseButton.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCBaseButton.swift
3 | // CCComponents
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | public class CCBaseButton: UIButton {
13 |
14 | public init() {
15 | super.init(frame: CGRect.zero)
16 | self.setTitleColor(.red, for: .normal)
17 | }
18 |
19 | public override init(frame: CGRect) {
20 | super.init(frame: frame)
21 | }
22 |
23 | required public init?(coder aDecoder: NSCoder) {
24 | fatalError("init(coder:) has not been implemented")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CCComponents/CCComponents/CCComponents.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCComponents.h
3 | // CCComponents
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCComponents.
12 | FOUNDATION_EXPORT double CCComponentsVersionNumber;
13 |
14 | //! Project version string for CCComponents.
15 | FOUNDATION_EXPORT const unsigned char CCComponentsVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCComponents/CCComponents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCComponents/CCComponentsTests/CCComponentsTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCComponentsTests.swift
3 | // CCComponentsTests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCComponents
11 |
12 | class CCComponentsTests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCComponents/CCComponentsTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CCCore/CCCore.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCCore.xcscheme
8 |
9 | orderHint
10 | 12
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCCore/CCCore.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCCore.xcscheme
8 |
9 | orderHint
10 | 12
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCCore/CCCore/Base/CCBaseVC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCBaseVC.swift
3 | // CCComponents
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | open class CCBaseVC: UIViewController {
13 |
14 | var services: Services!
15 |
16 | public convenience init(services: Services) {
17 | self.init(nibName: nil, bundle: nil)
18 | self.services = services
19 | }
20 |
21 | override open func viewDidLoad() {
22 | super.viewDidLoad()
23 | print("Did load \(self.classForCoder)")
24 | }
25 |
26 | deinit {
27 | print("Did deinit \(self.classForCoder)")
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/CCCore/CCCore/CCCore.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCCore.h
3 | // CCCore
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCCore.
12 | FOUNDATION_EXPORT double CCCoreVersionNumber;
13 |
14 | //! Project version string for CCCore.
15 | FOUNDATION_EXPORT const unsigned char CCCoreVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCCore/CCCore/Flow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Flow.swift
3 | // CCCore
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Every child flow must implement Flow protocol
13 | - func start: Starts the flow process, it usually decides what is going to be presented
14 | - var services: Property that contains all the services that are being used in the app
15 | - var finish: Is a closure that notifies parent Flow that the child flow is finished.
16 | - var currentVC: Returns view controller that is currently being displayed
17 | */
18 | public protocol Flow {
19 | init(services: Services, navigationVC: UINavigationController?)
20 | func start()
21 | var services: Services { get }
22 | var finish: (_ flow: Flow) -> () { get set }
23 | var navigation: UINavigationController? { get set }
24 | var currentVC: UIViewController? { get }
25 | }
26 |
27 | extension Flow {
28 | public var currentVC: UIViewController? {
29 | return navigation?.viewControllers.last
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/CCCore/CCCore/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCCore/CCCore/ProductsProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ProductsProvider.swift
3 | // CCCore
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol ProductsProvider {
12 | func getProducts()
13 | func getProduct(with id: Int)
14 | }
15 |
16 | public struct CCProductsProvider: ProductsProvider {
17 | public func getProducts() {
18 | //Implement the functionality
19 | }
20 |
21 | public func getProduct(with id: Int) {
22 | //Implement the functionality
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/CCCore/CCCore/Serivces.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Serivces.swift
3 | // App
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol Services {
12 | var projectsProvider: ProductsProvider! { get }
13 | var usersProvider: UsersProvider! { get }
14 | }
15 |
16 | public struct CCServices: Services {
17 | public var projectsProvider: ProductsProvider!
18 | public var usersProvider: UsersProvider!
19 |
20 | public init() {
21 | self.projectsProvider = CCProductsProvider()
22 | self.usersProvider = CCUsersProvider()
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/CCCore/CCCore/UsersProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UsersProvider.swift
3 | // CCCore
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol UsersProvider {
12 | func getUsers()
13 | func getUser(with id: Int)
14 | }
15 |
16 | public struct CCUsersProvider: UsersProvider {
17 | public func getUsers() {
18 | //Implement the functionality
19 | }
20 | public func getUser(with id: Int) {
21 | //Implement the functionality
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CCCore/CCCoreTests/CCCoreTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCCoreTests.swift
3 | // CCCoreTests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCCore
11 |
12 | class CCCoreTests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCCore/CCCoreTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature0.xcscheme
8 |
9 | orderHint
10 | 13
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature0.xcscheme
8 |
9 | orderHint
10 | 13
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0/CCFeature0.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature0.h
3 | // CCFeature0
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCFeature0.
12 | FOUNDATION_EXPORT double CCFeature0VersionNumber;
13 |
14 | //! Project version string for CCFeature0.
15 | FOUNDATION_EXPORT const unsigned char CCFeature0VersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0/CCFeature0Flow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature0Flow.swift
3 | // CCFeature0
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CCCore
11 |
12 | public class CCFeature0Flow: Flow, MainF0VCDelegate {
13 |
14 | public var finish: (Flow) -> () = { _ in }
15 | public var services: Services
16 | public var navigation: UINavigationController?
17 |
18 | public required init(services: Services, navigationVC: UINavigationController?) {
19 | self.services = services
20 | self.navigation = navigationVC
21 | }
22 |
23 | public func start() {
24 | presentFeature0()
25 | }
26 |
27 | private func presentFeature0() {
28 | let vc = MainF0VC(services: self.services)
29 | vc.delegate = self
30 | let vcNav = UINavigationController(rootViewController: vc)
31 | self.navigation?.present(vcNav, animated: true, completion: nil)
32 | }
33 |
34 | func wantsToClose(at vc: MainF0VC) {
35 | vc.dismiss(animated: true, completion: nil)
36 | finish(self)
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0/MainF0VC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainF0VC.swift
3 | // CCFeature0
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SnapKit
11 | import CCCore
12 |
13 | protocol MainF0VCDelegate: class {
14 | func wantsToClose(at vc: MainF0VC)
15 | }
16 |
17 | class MainF0VC: CCBaseVC {
18 |
19 | weak var delegate: MainF0VCDelegate?
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 | initView()
24 | }
25 |
26 | override func loadView() {
27 | self.view = UIView()
28 | self.view.backgroundColor = .red
29 | }
30 |
31 | private func initView() {
32 | let label = UILabel()
33 | label.text = "CCFeature0"
34 | label.textAlignment = .center
35 | self.view.addSubview(label)
36 | label.snp.makeConstraints { (make) in
37 | make.width.equalTo(150)
38 | make.height.equalTo(30)
39 | make.center.equalTo(self.view)
40 | }
41 | let rightBarButton = UIBarButtonItem(title: "Close", style: .done, target: self, action: #selector(self.didClickClose))
42 | self.navigationItem.rightBarButtonItem = rightBarButton
43 | }
44 |
45 | @objc func didClickClose() {
46 | delegate?.wantsToClose(at: self)
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0Tests/CCFeature0Tests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature0Tests.swift
3 | // CCFeature0Tests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCFeature0
11 |
12 | class CCFeature0Tests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature0Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature1/CCFeature1/CCFeature1.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1.h
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCFeature1.
12 | FOUNDATION_EXPORT double CCFeature1VersionNumber;
13 |
14 | //! Project version string for CCFeature1.
15 | FOUNDATION_EXPORT const unsigned char CCFeature1VersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature1/CCFeature1/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature1/CCFeature1Tests/CCFeature1Tests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1Tests.swift
3 | // CCFeature1Tests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCFeature1
11 |
12 | class CCFeature1Tests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCFeature0/CCFeature1/CCFeature1Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature1.xcscheme
8 |
9 | orderHint
10 | 14
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature1.xcscheme
8 |
9 | orderHint
10 | 14
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1/CCFeature1.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1.h
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCFeature1.
12 | FOUNDATION_EXPORT double CCFeature1VersionNumber;
13 |
14 | //! Project version string for CCFeature1.
15 | FOUNDATION_EXPORT const unsigned char CCFeature1VersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1/CCFeature1Flow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1Flow.swift
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CCCore
11 |
12 | public class CCFeature1Flow: Flow, MainF1VCDelegate {
13 |
14 | public var finish: (Flow) -> () = { _ in }
15 | public var services: Services
16 | public var navigation: UINavigationController?
17 |
18 | public required init(services: Services, navigationVC: UINavigationController?) {
19 | self.services = services
20 | self.navigation = navigationVC
21 | }
22 |
23 | public func start() {
24 | presentFeature1()
25 | }
26 |
27 | private func presentFeature1() {
28 | let vc = MainF1VC(services: self.services)
29 | vc.delegate = self
30 | self.navigation?.pushViewController(vc, animated: true)
31 | }
32 |
33 | func wantsToGoBack(at vc: MainF1VC) {
34 | vc.dismiss(animated: true, completion: nil)
35 | finish(self)
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1/MainFeature1.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainFeature1.swift
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SnapKit
11 | import SkyFloatingLabelTextField
12 | import CCCore
13 |
14 | protocol MainF1VCDelegate: class {
15 | func wantsToGoBack(at vc: MainF1VC)
16 | }
17 |
18 | class MainF1VC: CCBaseVC {
19 |
20 | weak var delegate: MainF1VCDelegate?
21 | let textfield = SkyFloatingLabelTextField()
22 | let label = UILabel()
23 |
24 | override func viewDidLoad() {
25 | super.viewDidLoad()
26 | initView()
27 | }
28 |
29 | override func loadView() {
30 | self.view = UIView()
31 | self.view.backgroundColor = .blue
32 | }
33 |
34 | private func initView() {
35 | let label = UILabel()
36 | label.text = "CCFeature1"
37 | label.textAlignment = .left
38 | self.view.addSubview(label)
39 | label.snp.makeConstraints { (make) in
40 | make.width.equalTo(150)
41 | make.height.equalTo(30)
42 | make.center.equalTo(self.view)
43 | }
44 |
45 | self.view.addSubview(textfield)
46 | textfield.snp.makeConstraints { (make) in
47 | make.width.height.equalTo(label)
48 | make.top.equalTo(label.snp.bottom).offset(10)
49 | make.centerX.equalTo(label)
50 | }
51 | }
52 |
53 | @objc func didClickClose() {
54 | delegate?.wantsToGoBack(at: self)
55 | }
56 |
57 | override func didMove(toParentViewController parent: UIViewController?) {
58 | if parent == nil {
59 | self.delegate?.wantsToGoBack(at: self)
60 | }
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1Tests/CCFeature1Tests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1Tests.swift
3 | // CCFeature1Tests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCFeature1
11 |
12 | class CCFeature1Tests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCFeature1/CCFeature1Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2.xcodeproj/xcuserdata/ccermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature2.xcscheme
8 |
9 | orderHint
10 | 15
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2.xcodeproj/xcuserdata/cyrilcermak.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CCFeature2.xcscheme
8 |
9 | orderHint
10 | 15
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2/CCFeature2.h:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature2.h
3 | // CCFeature2
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for CCFeature2.
12 | FOUNDATION_EXPORT double CCFeature2VersionNumber;
13 |
14 | //! Project version string for CCFeature2.
15 | FOUNDATION_EXPORT const unsigned char CCFeature2VersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2/CCFeature2Flow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature1Flow.swift
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CCCore
11 |
12 | public class CCFeature2Flow: Flow {
13 |
14 | public var finish: (Flow) -> () = { _ in }
15 | public var services: Services
16 | public var navigation: UINavigationController?
17 |
18 | public required init(services: Services, navigationVC: UINavigationController?) {
19 | self.services = services
20 | self.navigation = navigationVC
21 | }
22 |
23 | public func start() {
24 | presentFeature2()
25 | }
26 |
27 | private func presentFeature2() {
28 | let vc = MainF2VC(services: self.services)
29 | vc.delegate = self
30 | self.navigation?.pushViewController(vc, animated: true)
31 | }
32 | }
33 |
34 | extension CCFeature2Flow: MainF2VCDelegate {
35 | func wantsToGoBack(at vc: MainF2VC) {
36 | finish(self)
37 | }
38 |
39 | func wantsToPresent(at vc: MainF2VC) {
40 | let modalVC = ModalFeatureVC(services: self.services)
41 | modalVC.delegate = self
42 | self.navigation?.present(UINavigationController(rootViewController: modalVC), animated: true, completion: nil)
43 | }
44 | }
45 |
46 | extension CCFeature2Flow: ModalFeatureVCDelegate {
47 | func wantsToClose(at vc: ModalFeatureVC) {
48 | vc.dismiss(animated: true, completion: nil)
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2/MainFeature2.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainFeature1.swift
3 | // CCFeature1
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SnapKit
11 | import RxSwift
12 | import RxCocoa
13 | import CCComponents
14 | import CCCore
15 |
16 | protocol MainF2VCDelegate: class {
17 | func wantsToGoBack(at vc: MainF2VC)
18 | func wantsToPresent(at vc: MainF2VC)
19 | }
20 |
21 | class MainF2VC: CCBaseVC {
22 |
23 | weak var delegate: MainF2VCDelegate?
24 |
25 | let disposeBag = DisposeBag()
26 | let presentMeBtn = CCBaseButton()
27 | let label = UILabel()
28 |
29 | override func viewDidLoad() {
30 | super.viewDidLoad()
31 | initView()
32 | }
33 |
34 | override func loadView() {
35 | self.view = UIView()
36 | self.view.backgroundColor = .yellow
37 | }
38 |
39 | private func initView() {
40 | label.text = "CCFeature2"
41 | label.textAlignment = .center
42 | self.view.addSubview(label)
43 | label.snp.makeConstraints { (make) in
44 | make.width.equalTo(150)
45 | make.height.equalTo(30)
46 | make.center.equalTo(self.view)
47 | }
48 |
49 | self.view.addSubview(presentMeBtn)
50 | presentMeBtn.setTitle("Present Me!", for: .normal)
51 | presentMeBtn.rx.tap.subscribe(onNext: { [weak self] _ in
52 | guard let `self` = self else { return }
53 | self.delegate?.wantsToPresent(at: self)
54 |
55 | } ).disposed(by: disposeBag)
56 | presentMeBtn.snp.makeConstraints { (make) in
57 | make.width.height.equalTo(label)
58 | make.centerX.equalTo(label)
59 | make.top.equalTo(label.snp.bottom).offset(10)
60 | }
61 |
62 | }
63 |
64 | override func didMove(toParentViewController parent: UIViewController?) {
65 | if parent == nil {
66 | self.delegate?.wantsToGoBack(at: self)
67 | }
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2/ModalFeature2VC.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainF0VC.swift
3 | // CCFeature0
4 | //
5 | // Created by Cyril Cermak on 5/3/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CCCore
11 | import SnapKit
12 |
13 | protocol ModalFeatureVCDelegate: class {
14 | func wantsToClose(at vc: ModalFeatureVC)
15 | }
16 |
17 | class ModalFeatureVC: CCBaseVC {
18 |
19 | weak var delegate: ModalFeatureVCDelegate?
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 | initView()
24 | }
25 |
26 | override func loadView() {
27 | self.view = UIView()
28 | self.view.backgroundColor = .red
29 | }
30 |
31 | private func initView() {
32 | let label = UILabel()
33 | label.text = "Modal"
34 | label.textAlignment = .center
35 | self.view.addSubview(label)
36 | label.snp.makeConstraints { (make) in
37 | make.width.equalTo(150)
38 | make.height.equalTo(30)
39 | make.center.equalTo(self.view)
40 | }
41 | let rightBarButton = UIBarButtonItem(title: "Close", style: .done, target: self, action: #selector(self.didClickClose))
42 | self.navigationItem.rightBarButtonItem = rightBarButton
43 | }
44 |
45 | @objc func didClickClose() {
46 | delegate?.wantsToClose(at: self)
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2Tests/CCFeature2Tests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCFeature2Tests.swift
3 | // CCFeature2Tests
4 | //
5 | // Created by Cyril Cermak on 20/2/18.
6 | // Copyright © 2018 CyrilCermak. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import CCFeature2
11 |
12 | class CCFeature2Tests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/CCFeature2/CCFeature2Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Carthage/Cartfile:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" ~> 4.0
2 |
--------------------------------------------------------------------------------
/Carthage/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" "4.1.2"
2 |
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/.RxSwift.version:
--------------------------------------------------------------------------------
1 | {
2 | "Mac" : [
3 | {
4 | "name" : "RxTest",
5 | "hash" : "d7f1f44220136d57a3f56c758e337b886e3ea5bf70d77598d06c6ce8f0aa3098"
6 | },
7 | {
8 | "name" : "RxCocoa",
9 | "hash" : "7b3d467d794a18f262c47edac5f108f18b3cebf3b9fca8ba64bded6c21e31a33"
10 | },
11 | {
12 | "name" : "RxBlocking",
13 | "hash" : "bdfe7f4aad5aa092ce541a8aedfb49d29fb7b6f2e62ab18ee2368880be1e278a"
14 | },
15 | {
16 | "name" : "RxSwift",
17 | "hash" : "9dd5bad22e9f39acc8f8f8f19491c34c126a4a96595f938f4148b288318024af"
18 | }
19 | ],
20 | "watchOS" : [
21 | {
22 | "name" : "RxBlocking",
23 | "hash" : "ef81c1d1c02e913a92f22dc929ba9d6f8f3831e105834ca938d7a43ff91f96f6"
24 | },
25 | {
26 | "name" : "RxCocoa",
27 | "hash" : "50c27e49ef3383c4121651fe567cb0148b02ba38e60d5da08ec7c5d8fa9a5c28"
28 | },
29 | {
30 | "name" : "RxSwift",
31 | "hash" : "60ea8dbb1609e804712cad3f00ac6a7ad11bea2cbfab4433ecee8093e99c1961"
32 | }
33 | ],
34 | "tvOS" : [
35 | {
36 | "name" : "RxBlocking",
37 | "hash" : "41f5c65c058f618189c9138af97b318d8a9be1cef57dc95dc76d35691fb3adfd"
38 | },
39 | {
40 | "name" : "RxTest",
41 | "hash" : "72e18213d9f5be35cf0617802e7ca5649e135147e724493d5eab1fa467777fbe"
42 | },
43 | {
44 | "name" : "RxCocoa",
45 | "hash" : "314e7df9d6768ab4ecb9f88e2af5ec31b1674808ebb0fb87b8475f2c4ef5a7f6"
46 | },
47 | {
48 | "name" : "RxSwift",
49 | "hash" : "cca56bd95474ed99eb90eadc4db2cba5df9031a66c9e0e87839c48f5e38cca63"
50 | }
51 | ],
52 | "commitish" : "4.1.2",
53 | "iOS" : [
54 | {
55 | "name" : "RxTest",
56 | "hash" : "40a38ccfd978e4c8986847f5c484780304250e06300cf939dc3f47721aa5eafa"
57 | },
58 | {
59 | "name" : "RxBlocking",
60 | "hash" : "83a0819fdb3780ad519ca4a5b809a045056bbe7e1389e18261efecc85f71cff5"
61 | },
62 | {
63 | "name" : "RxCocoa",
64 | "hash" : "d00789b943e390fb64e1ca6651545ee55cdf9fc49fac97668003b03c07851e6d"
65 | },
66 | {
67 | "name" : "RxSwift",
68 | "hash" : "b18004c878d64cc36b2e64f3895b35eaf67fd1b82cfff47d81731afd76532341"
69 | }
70 | ]
71 | }
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Headers/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Headers/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface _RXDelegateProxy : NSObject
14 |
15 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
16 |
17 | -(void)_setForwardToDelegate:(id __nullable)forwardToDelegate retainDelegate:(BOOL)retainDelegate NS_SWIFT_NAME(_setForwardToDelegate(_:retainDelegate:)) ;
18 |
19 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
20 | -(BOOL)voidDelegateMethodsContain:(SEL)selector;
21 |
22 | -(void)_sentMessage:(SEL)selector withArguments:(NSArray*)arguments;
23 | -(void)_methodInvoked:(SEL)selector withArguments:(NSArray*)arguments;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Headers/_RXKVOObserver.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXKVOObserver.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/11/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | ################################################################################
13 | This file is part of RX private API
14 | ################################################################################
15 | */
16 |
17 | // Exists because if written in Swift, reading unowned is disabled during dealloc process
18 | @interface _RXKVOObserver : NSObject
19 |
20 | -(instancetype)initWithTarget:(id)target
21 | retainTarget:(BOOL)retainTarget
22 | keyPath:(NSString*)keyPath
23 | options:(NSKeyValueObservingOptions)options
24 | callback:(void (^)(id))callback;
25 |
26 | -(void)dispose;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/i386.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/i386.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/i386.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/i386.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/RxCocoa.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module RxCocoa.Swift {
9 | header "RxCocoa-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxCocoa.framework/RxCocoa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxCocoa.framework/RxCocoa
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Info.plist
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/arm64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/i386.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/i386.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/i386.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/i386.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/x86_64.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/x86_64.swiftdoc
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/x86_64.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/RxSwift.swiftmodule/x86_64.swiftmodule
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | header "RxSwift-Swift.h"
3 | requires objc
4 | }
5 |
--------------------------------------------------------------------------------
/Carthage/Carthage/Build/iOS/RxSwift.framework/RxSwift:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freelancer/ios-modular-architecture/4d0591e2258c4d7fa88518f0ca63a85bd1816063/Carthage/Carthage/Build/iOS/RxSwift.framework/RxSwift
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # iOS Modular Architecture
2 |
3 | This repo is an example of a modular iOS architecture. It shows how to use Cocoa Touch Framework as a separate app module and how to use CocoaPods for multiple targets from different frameworks.
4 |
5 | The demo app uses CocoaPods and Carthage to link 3rd party dependencies. The repo has two already built libraries by Carthage so you do not have to run the Carthage command to install those libraries. However, it might be necessary to update them if you are running a different version of Swift. The app was created with Swift 4.1 and Xcode 9.4.
6 |
7 | This project was created as a demonstration of the modular architecture for this article:
8 |
9 | https://medium.com/freelancer-engineering/modular-architecture-on-ios-and-how-i-decreased-build-time-by-50-23c7666c6d2f
10 |
--------------------------------------------------------------------------------