├── .gitignore
├── .travis.yml
├── KoinSwift.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ └── IDEWorkspaceChecks.plist
├── KoinSwift
├── KoinSwift Tests
│ ├── BeanDefinition.swift
│ └── BeanRegistryTests.swift
├── KoinSwift iOS Tests
│ └── Info.plist
├── KoinSwift iOS
│ ├── Info.plist
│ └── KoinSwift.h
├── KoinSwift macOS Tests
│ └── Info.plist
├── KoinSwift macOS
│ ├── Info.plist
│ └── KoinSwift.h
├── KoinSwift tvOS Tests
│ └── Info.plist
├── KoinSwift tvOS
│ ├── Info.plist
│ └── KoinSwift.h
├── KoinSwift.xcodeproj
│ ├── project.pbxproj
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── KoinSwift iOS.xcscheme
│ │ ├── KoinSwift macOS.xcscheme
│ │ └── KoinSwift tvOS.xcscheme
└── KoinSwift
│ ├── Core
│ ├── Context
│ │ └── GlobalContext.swift
│ ├── Definition
│ │ ├── BeanDefinition.swift
│ │ ├── Definition.swift
│ │ ├── DefinitionFactory.swift
│ │ └── Kind.swift
│ ├── Error
│ │ └── KoinErrors.swift
│ ├── Koin.swift
│ ├── KoinInjectable.swift
│ ├── Module
│ │ ├── Module.swift
│ │ └── ModuleDeclaration.swift
│ ├── Qualifier
│ │ └── Qualifier.swift
│ └── Registry
│ │ └── BeanRegistry.swift
│ └── Dsl
│ ├── Dsl.swift
│ ├── KoinConfig.swift
│ └── ModuleExt.swift
├── KoinThermosiphon.playground
├── Contents.swift
├── contents.xcplayground
└── playground.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ └── IDEWorkspaceChecks.plist
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | ## Build generated
3 | build/
4 | DerivedData/
5 |
6 | ## Various Settings
7 | xcuserdata/
8 | *.pbxuser
9 | !default.pbxuser
10 |
11 | ## Obj-C/Swift specific
12 | *.hmap
13 | *.ipa
14 |
15 | ## Breakpoints
16 | Breakpoints_v2.xcbkptlist
17 |
18 | ## Other
19 | *.xccheckout
20 | *.xcuserdatad
21 | UserInterfaceState.xcuserstate
22 | .DS_Store
23 | ##*.xcworkspace
24 | ##!default.xcworkspace
25 | ##!Pulsar.xcworkspace/xcshareddata
26 | ##!Pulsar.xcodeproj/xcshareddata/xcschemes/*
27 | !*.xcschemes
28 |
29 | ## Carthage Folder
30 | Carthage/
31 | Cartfile.resolved
32 |
33 | ## Fastlane folder
34 | fastlane/screenshots/
35 | fastlane/report.xml
36 |
37 | KoinSwift.framework.zip
38 |
39 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: objective-c
2 | osx_image: xcode10.2
3 | xcode_workspace: KoinSwift.xcworkspace
4 | env:
5 | global:
6 | - IOS_FRAMEWORK_SCHEME="KoinSwift iOS"
7 | - TVOS_FRAMEWORK_SCHEME="KoinSwift tvOS"
8 | - MACOS_FRAMEWORK_SCHEME="KoinSwift macOS"
9 | matrix:
10 | - DESTINATION="platform=iOS Simulator,name=iPhone 6,OS=12.1" SCHEME="$IOS_FRAMEWORK_SCHEME"
11 | # - DESTINATION="platform=tvOS Simulator,name=Apple TV,OS=12.1" SCHEME="$TVOS_FRAMEWORK_SCHEME"
12 | - DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME"
13 | script:
14 | - set -o pipefail
15 | - xcodebuild -version
16 | - xcodebuild -workspace "$TRAVIS_XCODE_WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" clean build test | xcpretty
17 | before_deploy:
18 | - brew update
19 | - brew outdated carthage || brew upgrade carthage
20 | - carthage version
21 | - carthage build --no-skip-current --platform ios,tvos,mac
22 | - carthage archive KoinSwift
23 | deploy:
24 | provider: releases
25 | api_key:
26 | secure: MOHALhMbWh8Ng5ZFQfn/embALGu3YYKQ+337FFNwRyrIJ2j0vaakX16QVyMSDrFikJ/a4bf7HgOTy4+HNXlU4drdR4gjobg5QribkZWWodFfi5A0aYsaN0KtSMdx5fDAvs+BBNHoWdYn4j6fJFj6wFEoJHyF1X5+sfCV9dq6Vi8UBWBzq/Oxs3Xd6RU+0HgPEq/upm6o4BoQa5hx/3VWteiFd8wl5whbpEWqaHe/jG4MdebmfqYz3szd2IoFiArEkUewUwwhKaekiXYUhVPCF3YKoJnSYBBy9cH0bNf0Sn70XmWwq382N1kfrCRIAwjT/Y/NZ/YjlAuBK91Uq7FiQ6JJo65IuvXwVkbdA4IdzfDx2isvoW+GFK7w12ANUorFpF6qAwRtSebnJ3w7hEqm3DvtchjNbiBrh66UzlHrvHIl6Uehtk6hSIRN93E7Zw0elURFTSehnqZ6VsLjgQ+4jshdyMJlTM3hzmMQtVP52YgwiuRriPMzIbh48L0e8NunvF7ZsZM6LHb14fae6xwbkijZDVdTXOqfNnHjXG5XreSDmWgUqWZVYiDEM99Nes+wLc6hmnEzj6kao0gc+mMeq8kORrQ/nOn7bvvaDI1zSMGTH3Kh1XmYab+zfepI5kgaRehgRpOe1pqCEqvLreLZbtl/yJMFsC/pBbaFv/nMlOA=
27 | file: KoinSwift.framework.zip
28 | skip_cleanup: true
29 | on:
30 | repo: InsertKoinIO/koin-swift
31 | tags: true
32 |
--------------------------------------------------------------------------------
/KoinSwift.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/KoinSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift Tests/BeanDefinition.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BeanDefinition.swift
3 | // KoinSwift Tests
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | import XCTest
12 | @testable import KoinSwift
13 |
14 | class BeanDefinitionTests: XCTestCase {
15 |
16 | func testSingle() {
17 | let koin = MockKoin()
18 |
19 | let def1 = BeanDefinition(
20 | definition: { _ throws in "def1"},
21 | qualifier: nil,
22 | kind: .single
23 | )
24 | do {
25 | let value1 = try def1.resolveInstance(koin: koin)
26 | let value2 = try def1.resolveInstance(koin: koin)
27 | XCTAssertEqual(value1, value2, "\(value1) != \(value2)")
28 | } catch {
29 | XCTAssertTrue(false, "Exception throws: \(error)" )
30 | }
31 | }
32 |
33 | }
34 |
35 | class MockKoin: KoinInjectable {
36 | func get(qualifier: Qualifier? = nil) throws -> T {
37 | throw KoinErrors.notImplementedYet
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift Tests/BeanRegistryTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BeanRegistryTest.swift
3 | // KoinSwift Tests
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import KoinSwift
11 |
12 | class BeanRegistryTests: XCTestCase {
13 | func testDefinitionFound() {
14 | let beanRegistry = BeanRegistry()
15 | beanRegistry.definitions.insert(
16 | AnyHashable(BeanDefinition(definition: { _ in "" }))
17 | )
18 | XCTAssertNoThrow(try beanRegistry.retrieveDefinition() as BeanDefinition)
19 | }
20 | func testDefinitionNotFound() {
21 | let beanRegistry = BeanRegistry()
22 | XCTAssertThrowsError(try beanRegistry.retrieveDefinition() as BeanDefinition)
23 | }
24 | func testDefinitionWithQualifier() {
25 | let beanRegistry = BeanRegistry()
26 | let def1 = BeanDefinition(
27 | definition: { _ in "" }
28 | )
29 | let def2 = BeanDefinition(
30 | definition: { _ in "withQualifier" },
31 | qualifier: "withQualifier"
32 | )
33 | beanRegistry.definitions.insert(AnyHashable(def1))
34 | beanRegistry.definitions.insert(AnyHashable(def2))
35 | do {
36 | let definition: BeanDefinition = try beanRegistry.retrieveDefinition(withQualifier: "withQualifier")
37 | XCTAssertEqual(definition, def2, "")
38 | } catch {
39 | XCTAssertTrue(false, "Exception throws: \(error)" )
40 | }
41 | }
42 | func testOverrideDefinition() {
43 | let beanRegistry = BeanRegistry()
44 | let def1 = BeanDefinition(
45 | definition: { _ in "" }
46 | )
47 | let def2 = BeanDefinition(
48 | definition: { _ in "" }
49 | )
50 | XCTAssertNoThrow(try beanRegistry.insertDefinition(definition: def1))
51 | XCTAssertThrowsError(try beanRegistry.insertDefinition(definition: def2),
52 | "Should throw exception when try to override def")
53 | }
54 | func testInsertSameTypeButWithQualifierDefinition() {
55 | let beanRegistry = BeanRegistry()
56 | let def1 = BeanDefinition(
57 | definition: { _ in "withoutQualifier" }
58 | )
59 | let def2 = BeanDefinition(
60 | definition: { _ in "withQualifier" },
61 | qualifier: "withQualifier"
62 | )
63 | XCTAssertNoThrow(try beanRegistry.insertDefinition(definition: def1))
64 | XCTAssertNoThrow(try beanRegistry.insertDefinition(definition: def2),
65 | "Should not throw exception when try to insert def whith different qualifier")
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift iOS Tests/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 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift iOS/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 | $(LIBRARY_VERSION)
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | LSApplicationCategoryType
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift iOS/KoinSwift.h:
--------------------------------------------------------------------------------
1 | //
2 | // KoinSwiftIos.h
3 | // KoinSwiftIos
4 | //
5 | // Created by DE NADAI Julien on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for KoinSwiftIos.
12 | FOUNDATION_EXPORT double KoinSwiftIosVersionNumber;
13 |
14 | //! Project version string for KoinSwiftIos.
15 | FOUNDATION_EXPORT const unsigned char KoinSwiftIosVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift macOS Tests/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 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift macOS/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 | $(LIBRARY_VERSION)
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift macOS/KoinSwift.h:
--------------------------------------------------------------------------------
1 | //
2 | // KoinSwiftOsx.h
3 | // KoinSwiftOsx
4 | //
5 | // Created by DE NADAI Julien on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for KoinSwiftOsx.
12 | FOUNDATION_EXPORT double KoinSwiftOsxVersionNumber;
13 |
14 | //! Project version string for KoinSwiftOsx.
15 | FOUNDATION_EXPORT const unsigned char KoinSwiftOsxVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift tvOS Tests/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 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift tvOS/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 | $(LIBRARY_VERSION)
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift tvOS/KoinSwift.h:
--------------------------------------------------------------------------------
1 | //
2 | // KoinSwift_tvOS.h
3 | // KoinSwift tvOS
4 | //
5 | // Created by DE NADAI Julien on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for KoinSwift_tvOS.
12 | FOUNDATION_EXPORT double KoinSwift_tvOSVersionNumber;
13 |
14 | //! Project version string for KoinSwift_tvOS.
15 | FOUNDATION_EXPORT const unsigned char KoinSwift_tvOSVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 50;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | A3D0F19422784EE500DB6073 /* KoinSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D0F18A22784EE500DB6073 /* KoinSwift.framework */; };
11 | A3D0F19B22784EE500DB6073 /* KoinSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D0F18D22784EE500DB6073 /* KoinSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };
12 | A3D0F1B022784F0400DB6073 /* KoinSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D0F1A722784F0400DB6073 /* KoinSwift.framework */; };
13 | A3D0F1B722784F0400DB6073 /* KoinSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D0F1A922784F0400DB6073 /* KoinSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };
14 | A3D0F1F4227850A100DB6073 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E1227850A100DB6073 /* GlobalContext.swift */; };
15 | A3D0F1F5227850A100DB6073 /* Koin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E2227850A100DB6073 /* Koin.swift */; };
16 | A3D0F1F6227850A100DB6073 /* Qualifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E4227850A100DB6073 /* Qualifier.swift */; };
17 | A3D0F1F8227850A100DB6073 /* KoinInjectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E7227850A100DB6073 /* KoinInjectable.swift */; };
18 | A3D0F1F9227850A100DB6073 /* DefinitionFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E9227850A100DB6073 /* DefinitionFactory.swift */; };
19 | A3D0F1FA227850A100DB6073 /* Kind.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EA227850A100DB6073 /* Kind.swift */; };
20 | A3D0F1FB227850A100DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EB227850A100DB6073 /* BeanDefinition.swift */; };
21 | A3D0F1FC227850A100DB6073 /* Definition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EC227850A100DB6073 /* Definition.swift */; };
22 | A3D0F1FD227850A100DB6073 /* BeanRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EE227850A100DB6073 /* BeanRegistry.swift */; };
23 | A3D0F1FE227850A100DB6073 /* ModuleDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F0227850A100DB6073 /* ModuleDeclaration.swift */; };
24 | A3D0F1FF227850A100DB6073 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F1227850A100DB6073 /* Module.swift */; };
25 | A3D0F200227850A100DB6073 /* KoinErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F3227850A100DB6073 /* KoinErrors.swift */; };
26 | A3D0F205227850BC00DB6073 /* ModuleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F202227850BC00DB6073 /* ModuleExt.swift */; };
27 | A3D0F206227850BC00DB6073 /* KoinConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F203227850BC00DB6073 /* KoinConfig.swift */; };
28 | A3D0F207227850BC00DB6073 /* Dsl.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F204227850BC00DB6073 /* Dsl.swift */; };
29 | A3D0F2082278512200DB6073 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E1227850A100DB6073 /* GlobalContext.swift */; };
30 | A3D0F2092278512200DB6073 /* DefinitionFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E9227850A100DB6073 /* DefinitionFactory.swift */; };
31 | A3D0F20A2278512200DB6073 /* Kind.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EA227850A100DB6073 /* Kind.swift */; };
32 | A3D0F20B2278512200DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EB227850A100DB6073 /* BeanDefinition.swift */; };
33 | A3D0F20C2278512200DB6073 /* Definition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EC227850A100DB6073 /* Definition.swift */; };
34 | A3D0F20D2278512200DB6073 /* KoinErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F3227850A100DB6073 /* KoinErrors.swift */; };
35 | A3D0F20E2278512200DB6073 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F1227850A100DB6073 /* Module.swift */; };
36 | A3D0F20F2278512200DB6073 /* ModuleDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F0227850A100DB6073 /* ModuleDeclaration.swift */; };
37 | A3D0F2102278512200DB6073 /* Qualifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E4227850A100DB6073 /* Qualifier.swift */; };
38 | A3D0F2112278512200DB6073 /* BeanRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EE227850A100DB6073 /* BeanRegistry.swift */; };
39 | A3D0F2122278512200DB6073 /* Koin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E2227850A100DB6073 /* Koin.swift */; };
40 | A3D0F2132278512200DB6073 /* KoinInjectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E7227850A100DB6073 /* KoinInjectable.swift */; };
41 | A3D0F2142278512800DB6073 /* ModuleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F202227850BC00DB6073 /* ModuleExt.swift */; };
42 | A3D0F2152278512800DB6073 /* KoinConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F203227850BC00DB6073 /* KoinConfig.swift */; };
43 | A3D0F2162278512800DB6073 /* Dsl.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F204227850BC00DB6073 /* Dsl.swift */; };
44 | A3D0F23A22786FA300DB6073 /* KoinSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D0F23122786FA300DB6073 /* KoinSwift.framework */; };
45 | A3D0F24122786FA300DB6073 /* KoinSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D0F23322786FA300DB6073 /* KoinSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };
46 | A3D0F2552278742500DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2522278740900DB6073 /* BeanDefinition.swift */; };
47 | A3D0F2562278742500DB6073 /* BeanRegistryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2512278740900DB6073 /* BeanRegistryTests.swift */; };
48 | A3D0F2572278742600DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2522278740900DB6073 /* BeanDefinition.swift */; };
49 | A3D0F2582278742600DB6073 /* BeanRegistryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2512278740900DB6073 /* BeanRegistryTests.swift */; };
50 | A3D0F2592278742600DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2522278740900DB6073 /* BeanDefinition.swift */; };
51 | A3D0F25A2278742600DB6073 /* BeanRegistryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F2512278740900DB6073 /* BeanRegistryTests.swift */; };
52 | A3D0F25B2278743200DB6073 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E1227850A100DB6073 /* GlobalContext.swift */; };
53 | A3D0F25C2278743200DB6073 /* DefinitionFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E9227850A100DB6073 /* DefinitionFactory.swift */; };
54 | A3D0F25D2278743200DB6073 /* Kind.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EA227850A100DB6073 /* Kind.swift */; };
55 | A3D0F25E2278743200DB6073 /* BeanDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EB227850A100DB6073 /* BeanDefinition.swift */; };
56 | A3D0F25F2278743200DB6073 /* Definition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EC227850A100DB6073 /* Definition.swift */; };
57 | A3D0F2602278743200DB6073 /* KoinErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F3227850A100DB6073 /* KoinErrors.swift */; };
58 | A3D0F2612278743200DB6073 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F1227850A100DB6073 /* Module.swift */; };
59 | A3D0F2622278743200DB6073 /* ModuleDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1F0227850A100DB6073 /* ModuleDeclaration.swift */; };
60 | A3D0F2632278743200DB6073 /* Qualifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E4227850A100DB6073 /* Qualifier.swift */; };
61 | A3D0F2642278743200DB6073 /* BeanRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1EE227850A100DB6073 /* BeanRegistry.swift */; };
62 | A3D0F2652278743200DB6073 /* Koin.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E2227850A100DB6073 /* Koin.swift */; };
63 | A3D0F2662278743200DB6073 /* KoinInjectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F1E7227850A100DB6073 /* KoinInjectable.swift */; };
64 | A3D0F2672278743200DB6073 /* ModuleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F202227850BC00DB6073 /* ModuleExt.swift */; };
65 | A3D0F2682278743200DB6073 /* KoinConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F203227850BC00DB6073 /* KoinConfig.swift */; };
66 | A3D0F2692278743200DB6073 /* Dsl.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D0F204227850BC00DB6073 /* Dsl.swift */; };
67 | /* End PBXBuildFile section */
68 |
69 | /* Begin PBXContainerItemProxy section */
70 | A3D0F19522784EE500DB6073 /* PBXContainerItemProxy */ = {
71 | isa = PBXContainerItemProxy;
72 | containerPortal = A3D0F17F22784E9000DB6073 /* Project object */;
73 | proxyType = 1;
74 | remoteGlobalIDString = A3D0F18922784EE500DB6073;
75 | remoteInfo = KoinSwiftIos;
76 | };
77 | A3D0F1B122784F0400DB6073 /* PBXContainerItemProxy */ = {
78 | isa = PBXContainerItemProxy;
79 | containerPortal = A3D0F17F22784E9000DB6073 /* Project object */;
80 | proxyType = 1;
81 | remoteGlobalIDString = A3D0F1A622784F0400DB6073;
82 | remoteInfo = KoinSwiftOsx;
83 | };
84 | A3D0F23B22786FA300DB6073 /* PBXContainerItemProxy */ = {
85 | isa = PBXContainerItemProxy;
86 | containerPortal = A3D0F17F22784E9000DB6073 /* Project object */;
87 | proxyType = 1;
88 | remoteGlobalIDString = A3D0F23022786FA300DB6073;
89 | remoteInfo = "KoinSwift tvOS";
90 | };
91 | /* End PBXContainerItemProxy section */
92 |
93 | /* Begin PBXFileReference section */
94 | A3D0F18A22784EE500DB6073 /* KoinSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KoinSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
95 | A3D0F18D22784EE500DB6073 /* KoinSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KoinSwift.h; sourceTree = ""; };
96 | A3D0F18E22784EE500DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
97 | A3D0F19322784EE500DB6073 /* KoinSwift iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "KoinSwift iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
98 | A3D0F19A22784EE500DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
99 | A3D0F1A722784F0400DB6073 /* KoinSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KoinSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
100 | A3D0F1A922784F0400DB6073 /* KoinSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KoinSwift.h; sourceTree = ""; };
101 | A3D0F1AA22784F0400DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
102 | A3D0F1AF22784F0400DB6073 /* KoinSwift macOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "KoinSwift macOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
103 | A3D0F1B622784F0400DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
104 | A3D0F1E1227850A100DB6073 /* GlobalContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlobalContext.swift; sourceTree = ""; };
105 | A3D0F1E2227850A100DB6073 /* Koin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Koin.swift; sourceTree = ""; };
106 | A3D0F1E4227850A100DB6073 /* Qualifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Qualifier.swift; sourceTree = ""; };
107 | A3D0F1E7227850A100DB6073 /* KoinInjectable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KoinInjectable.swift; sourceTree = ""; };
108 | A3D0F1E9227850A100DB6073 /* DefinitionFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefinitionFactory.swift; sourceTree = ""; };
109 | A3D0F1EA227850A100DB6073 /* Kind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Kind.swift; sourceTree = ""; };
110 | A3D0F1EB227850A100DB6073 /* BeanDefinition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeanDefinition.swift; sourceTree = ""; };
111 | A3D0F1EC227850A100DB6073 /* Definition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Definition.swift; sourceTree = ""; };
112 | A3D0F1EE227850A100DB6073 /* BeanRegistry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeanRegistry.swift; sourceTree = ""; };
113 | A3D0F1F0227850A100DB6073 /* ModuleDeclaration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModuleDeclaration.swift; sourceTree = ""; };
114 | A3D0F1F1227850A100DB6073 /* Module.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; };
115 | A3D0F1F3227850A100DB6073 /* KoinErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KoinErrors.swift; sourceTree = ""; };
116 | A3D0F202227850BC00DB6073 /* ModuleExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModuleExt.swift; sourceTree = ""; };
117 | A3D0F203227850BC00DB6073 /* KoinConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KoinConfig.swift; sourceTree = ""; };
118 | A3D0F204227850BC00DB6073 /* Dsl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dsl.swift; sourceTree = ""; };
119 | A3D0F23122786FA300DB6073 /* KoinSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KoinSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
120 | A3D0F23322786FA300DB6073 /* KoinSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KoinSwift.h; sourceTree = ""; };
121 | A3D0F23422786FA300DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
122 | A3D0F23922786FA300DB6073 /* KoinSwift tvOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "KoinSwift tvOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
123 | A3D0F24022786FA300DB6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
124 | A3D0F2512278740900DB6073 /* BeanRegistryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeanRegistryTests.swift; sourceTree = ""; };
125 | A3D0F2522278740900DB6073 /* BeanDefinition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeanDefinition.swift; sourceTree = ""; };
126 | /* End PBXFileReference section */
127 |
128 | /* Begin PBXFrameworksBuildPhase section */
129 | A3D0F18722784EE500DB6073 /* Frameworks */ = {
130 | isa = PBXFrameworksBuildPhase;
131 | buildActionMask = 2147483647;
132 | files = (
133 | );
134 | runOnlyForDeploymentPostprocessing = 0;
135 | };
136 | A3D0F19022784EE500DB6073 /* Frameworks */ = {
137 | isa = PBXFrameworksBuildPhase;
138 | buildActionMask = 2147483647;
139 | files = (
140 | A3D0F19422784EE500DB6073 /* KoinSwift.framework in Frameworks */,
141 | );
142 | runOnlyForDeploymentPostprocessing = 0;
143 | };
144 | A3D0F1A422784F0400DB6073 /* Frameworks */ = {
145 | isa = PBXFrameworksBuildPhase;
146 | buildActionMask = 2147483647;
147 | files = (
148 | );
149 | runOnlyForDeploymentPostprocessing = 0;
150 | };
151 | A3D0F1AC22784F0400DB6073 /* Frameworks */ = {
152 | isa = PBXFrameworksBuildPhase;
153 | buildActionMask = 2147483647;
154 | files = (
155 | A3D0F1B022784F0400DB6073 /* KoinSwift.framework in Frameworks */,
156 | );
157 | runOnlyForDeploymentPostprocessing = 0;
158 | };
159 | A3D0F22E22786FA300DB6073 /* Frameworks */ = {
160 | isa = PBXFrameworksBuildPhase;
161 | buildActionMask = 2147483647;
162 | files = (
163 | );
164 | runOnlyForDeploymentPostprocessing = 0;
165 | };
166 | A3D0F23622786FA300DB6073 /* Frameworks */ = {
167 | isa = PBXFrameworksBuildPhase;
168 | buildActionMask = 2147483647;
169 | files = (
170 | A3D0F23A22786FA300DB6073 /* KoinSwift.framework in Frameworks */,
171 | );
172 | runOnlyForDeploymentPostprocessing = 0;
173 | };
174 | /* End PBXFrameworksBuildPhase section */
175 |
176 | /* Begin PBXGroup section */
177 | A3D0F17E22784E9000DB6073 = {
178 | isa = PBXGroup;
179 | children = (
180 | A3D0F1DB2278500E00DB6073 /* KoinSwift */,
181 | A3D0F18C22784EE500DB6073 /* KoinSwift iOS */,
182 | A3D0F23222786FA300DB6073 /* KoinSwift tvOS */,
183 | A3D0F1A822784F0400DB6073 /* KoinSwift macOS */,
184 | A3D0F250227873D500DB6073 /* KoinSwift Tests */,
185 | A3D0F19722784EE500DB6073 /* KoinSwift iOS Tests */,
186 | A3D0F23D22786FA300DB6073 /* KoinSwift tvOS Tests */,
187 | A3D0F1B322784F0400DB6073 /* KoinSwift macOS Tests */,
188 | A3D0F18B22784EE500DB6073 /* Products */,
189 | );
190 | sourceTree = "";
191 | };
192 | A3D0F18B22784EE500DB6073 /* Products */ = {
193 | isa = PBXGroup;
194 | children = (
195 | A3D0F18A22784EE500DB6073 /* KoinSwift.framework */,
196 | A3D0F19322784EE500DB6073 /* KoinSwift iOS Tests.xctest */,
197 | A3D0F1A722784F0400DB6073 /* KoinSwift.framework */,
198 | A3D0F1AF22784F0400DB6073 /* KoinSwift macOS Tests.xctest */,
199 | A3D0F23122786FA300DB6073 /* KoinSwift.framework */,
200 | A3D0F23922786FA300DB6073 /* KoinSwift tvOS Tests.xctest */,
201 | );
202 | name = Products;
203 | sourceTree = "";
204 | };
205 | A3D0F18C22784EE500DB6073 /* KoinSwift iOS */ = {
206 | isa = PBXGroup;
207 | children = (
208 | A3D0F18D22784EE500DB6073 /* KoinSwift.h */,
209 | A3D0F18E22784EE500DB6073 /* Info.plist */,
210 | );
211 | path = "KoinSwift iOS";
212 | sourceTree = "";
213 | };
214 | A3D0F19722784EE500DB6073 /* KoinSwift iOS Tests */ = {
215 | isa = PBXGroup;
216 | children = (
217 | A3D0F19A22784EE500DB6073 /* Info.plist */,
218 | );
219 | path = "KoinSwift iOS Tests";
220 | sourceTree = "";
221 | };
222 | A3D0F1A822784F0400DB6073 /* KoinSwift macOS */ = {
223 | isa = PBXGroup;
224 | children = (
225 | A3D0F1A922784F0400DB6073 /* KoinSwift.h */,
226 | A3D0F1AA22784F0400DB6073 /* Info.plist */,
227 | );
228 | path = "KoinSwift macOS";
229 | sourceTree = "";
230 | };
231 | A3D0F1B322784F0400DB6073 /* KoinSwift macOS Tests */ = {
232 | isa = PBXGroup;
233 | children = (
234 | A3D0F1B622784F0400DB6073 /* Info.plist */,
235 | );
236 | path = "KoinSwift macOS Tests";
237 | sourceTree = "";
238 | };
239 | A3D0F1DB2278500E00DB6073 /* KoinSwift */ = {
240 | isa = PBXGroup;
241 | children = (
242 | A3D0F1DF227850A100DB6073 /* Core */,
243 | A3D0F201227850BC00DB6073 /* Dsl */,
244 | );
245 | path = KoinSwift;
246 | sourceTree = "";
247 | };
248 | A3D0F1DF227850A100DB6073 /* Core */ = {
249 | isa = PBXGroup;
250 | children = (
251 | A3D0F1E0227850A100DB6073 /* Context */,
252 | A3D0F1E8227850A100DB6073 /* Definition */,
253 | A3D0F1F2227850A100DB6073 /* Error */,
254 | A3D0F1E5227850A100DB6073 /* Module */,
255 | A3D0F1E3227850A100DB6073 /* Qualifier */,
256 | A3D0F1ED227850A100DB6073 /* Registry */,
257 | A3D0F1E2227850A100DB6073 /* Koin.swift */,
258 | A3D0F1E7227850A100DB6073 /* KoinInjectable.swift */,
259 | );
260 | path = Core;
261 | sourceTree = "";
262 | };
263 | A3D0F1E0227850A100DB6073 /* Context */ = {
264 | isa = PBXGroup;
265 | children = (
266 | A3D0F1E1227850A100DB6073 /* GlobalContext.swift */,
267 | );
268 | path = Context;
269 | sourceTree = "";
270 | };
271 | A3D0F1E3227850A100DB6073 /* Qualifier */ = {
272 | isa = PBXGroup;
273 | children = (
274 | A3D0F1E4227850A100DB6073 /* Qualifier.swift */,
275 | );
276 | path = Qualifier;
277 | sourceTree = "";
278 | };
279 | A3D0F1E5227850A100DB6073 /* Module */ = {
280 | isa = PBXGroup;
281 | children = (
282 | A3D0F1F1227850A100DB6073 /* Module.swift */,
283 | A3D0F1F0227850A100DB6073 /* ModuleDeclaration.swift */,
284 | );
285 | path = Module;
286 | sourceTree = "";
287 | };
288 | A3D0F1E8227850A100DB6073 /* Definition */ = {
289 | isa = PBXGroup;
290 | children = (
291 | A3D0F1E9227850A100DB6073 /* DefinitionFactory.swift */,
292 | A3D0F1EA227850A100DB6073 /* Kind.swift */,
293 | A3D0F1EB227850A100DB6073 /* BeanDefinition.swift */,
294 | A3D0F1EC227850A100DB6073 /* Definition.swift */,
295 | );
296 | path = Definition;
297 | sourceTree = "";
298 | };
299 | A3D0F1ED227850A100DB6073 /* Registry */ = {
300 | isa = PBXGroup;
301 | children = (
302 | A3D0F1EE227850A100DB6073 /* BeanRegistry.swift */,
303 | );
304 | path = Registry;
305 | sourceTree = "";
306 | };
307 | A3D0F1F2227850A100DB6073 /* Error */ = {
308 | isa = PBXGroup;
309 | children = (
310 | A3D0F1F3227850A100DB6073 /* KoinErrors.swift */,
311 | );
312 | path = Error;
313 | sourceTree = "";
314 | };
315 | A3D0F201227850BC00DB6073 /* Dsl */ = {
316 | isa = PBXGroup;
317 | children = (
318 | A3D0F202227850BC00DB6073 /* ModuleExt.swift */,
319 | A3D0F203227850BC00DB6073 /* KoinConfig.swift */,
320 | A3D0F204227850BC00DB6073 /* Dsl.swift */,
321 | );
322 | path = Dsl;
323 | sourceTree = "";
324 | };
325 | A3D0F23222786FA300DB6073 /* KoinSwift tvOS */ = {
326 | isa = PBXGroup;
327 | children = (
328 | A3D0F23322786FA300DB6073 /* KoinSwift.h */,
329 | A3D0F23422786FA300DB6073 /* Info.plist */,
330 | );
331 | path = "KoinSwift tvOS";
332 | sourceTree = "";
333 | };
334 | A3D0F23D22786FA300DB6073 /* KoinSwift tvOS Tests */ = {
335 | isa = PBXGroup;
336 | children = (
337 | A3D0F24022786FA300DB6073 /* Info.plist */,
338 | );
339 | path = "KoinSwift tvOS Tests";
340 | sourceTree = "";
341 | };
342 | A3D0F250227873D500DB6073 /* KoinSwift Tests */ = {
343 | isa = PBXGroup;
344 | children = (
345 | A3D0F2522278740900DB6073 /* BeanDefinition.swift */,
346 | A3D0F2512278740900DB6073 /* BeanRegistryTests.swift */,
347 | );
348 | path = "KoinSwift Tests";
349 | sourceTree = "";
350 | };
351 | /* End PBXGroup section */
352 |
353 | /* Begin PBXHeadersBuildPhase section */
354 | A3D0F18522784EE500DB6073 /* Headers */ = {
355 | isa = PBXHeadersBuildPhase;
356 | buildActionMask = 2147483647;
357 | files = (
358 | A3D0F19B22784EE500DB6073 /* KoinSwift.h in Headers */,
359 | );
360 | runOnlyForDeploymentPostprocessing = 0;
361 | };
362 | A3D0F1A222784F0400DB6073 /* Headers */ = {
363 | isa = PBXHeadersBuildPhase;
364 | buildActionMask = 2147483647;
365 | files = (
366 | A3D0F1B722784F0400DB6073 /* KoinSwift.h in Headers */,
367 | );
368 | runOnlyForDeploymentPostprocessing = 0;
369 | };
370 | A3D0F22C22786FA300DB6073 /* Headers */ = {
371 | isa = PBXHeadersBuildPhase;
372 | buildActionMask = 2147483647;
373 | files = (
374 | A3D0F24122786FA300DB6073 /* KoinSwift.h in Headers */,
375 | );
376 | runOnlyForDeploymentPostprocessing = 0;
377 | };
378 | /* End PBXHeadersBuildPhase section */
379 |
380 | /* Begin PBXNativeTarget section */
381 | A3D0F18922784EE500DB6073 /* KoinSwift iOS */ = {
382 | isa = PBXNativeTarget;
383 | buildConfigurationList = A3D0F19C22784EE500DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift iOS" */;
384 | buildPhases = (
385 | A3D0F18522784EE500DB6073 /* Headers */,
386 | A3D0F18622784EE500DB6073 /* Sources */,
387 | A3D0F18722784EE500DB6073 /* Frameworks */,
388 | A3D0F18822784EE500DB6073 /* Resources */,
389 | A3C3796C228AEC8200A14618 /* Swiftlint */,
390 | );
391 | buildRules = (
392 | );
393 | dependencies = (
394 | );
395 | name = "KoinSwift iOS";
396 | productName = KoinSwiftIos;
397 | productReference = A3D0F18A22784EE500DB6073 /* KoinSwift.framework */;
398 | productType = "com.apple.product-type.framework";
399 | };
400 | A3D0F19222784EE500DB6073 /* KoinSwift iOS Tests */ = {
401 | isa = PBXNativeTarget;
402 | buildConfigurationList = A3D0F19F22784EE500DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift iOS Tests" */;
403 | buildPhases = (
404 | A3D0F18F22784EE500DB6073 /* Sources */,
405 | A3D0F19022784EE500DB6073 /* Frameworks */,
406 | A3D0F19122784EE500DB6073 /* Resources */,
407 | );
408 | buildRules = (
409 | );
410 | dependencies = (
411 | A3D0F19622784EE500DB6073 /* PBXTargetDependency */,
412 | );
413 | name = "KoinSwift iOS Tests";
414 | productName = KoinSwiftIosTests;
415 | productReference = A3D0F19322784EE500DB6073 /* KoinSwift iOS Tests.xctest */;
416 | productType = "com.apple.product-type.bundle.unit-test";
417 | };
418 | A3D0F1A622784F0400DB6073 /* KoinSwift macOS */ = {
419 | isa = PBXNativeTarget;
420 | buildConfigurationList = A3D0F1B822784F0400DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift macOS" */;
421 | buildPhases = (
422 | A3D0F1A222784F0400DB6073 /* Headers */,
423 | A3D0F1A322784F0400DB6073 /* Sources */,
424 | A3D0F1A422784F0400DB6073 /* Frameworks */,
425 | A3D0F1A522784F0400DB6073 /* Resources */,
426 | A3C37969228AEC5500A14618 /* Swiftlint */,
427 | );
428 | buildRules = (
429 | );
430 | dependencies = (
431 | );
432 | name = "KoinSwift macOS";
433 | productName = KoinSwiftOsx;
434 | productReference = A3D0F1A722784F0400DB6073 /* KoinSwift.framework */;
435 | productType = "com.apple.product-type.framework";
436 | };
437 | A3D0F1AE22784F0400DB6073 /* KoinSwift macOS Tests */ = {
438 | isa = PBXNativeTarget;
439 | buildConfigurationList = A3D0F1BB22784F0400DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift macOS Tests" */;
440 | buildPhases = (
441 | A3D0F1AB22784F0400DB6073 /* Sources */,
442 | A3D0F1AC22784F0400DB6073 /* Frameworks */,
443 | A3D0F1AD22784F0400DB6073 /* Resources */,
444 | );
445 | buildRules = (
446 | );
447 | dependencies = (
448 | A3D0F1B222784F0400DB6073 /* PBXTargetDependency */,
449 | );
450 | name = "KoinSwift macOS Tests";
451 | productName = KoinSwiftOsxTests;
452 | productReference = A3D0F1AF22784F0400DB6073 /* KoinSwift macOS Tests.xctest */;
453 | productType = "com.apple.product-type.bundle.unit-test";
454 | };
455 | A3D0F23022786FA300DB6073 /* KoinSwift tvOS */ = {
456 | isa = PBXNativeTarget;
457 | buildConfigurationList = A3D0F24222786FA300DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift tvOS" */;
458 | buildPhases = (
459 | A3D0F22C22786FA300DB6073 /* Headers */,
460 | A3D0F22D22786FA300DB6073 /* Sources */,
461 | A3D0F22E22786FA300DB6073 /* Frameworks */,
462 | A3D0F22F22786FA300DB6073 /* Resources */,
463 | A3C3796B228AEC7400A14618 /* Swiftlint */,
464 | );
465 | buildRules = (
466 | );
467 | dependencies = (
468 | );
469 | name = "KoinSwift tvOS";
470 | productName = "KoinSwift tvOS";
471 | productReference = A3D0F23122786FA300DB6073 /* KoinSwift.framework */;
472 | productType = "com.apple.product-type.framework";
473 | };
474 | A3D0F23822786FA300DB6073 /* KoinSwift tvOS Tests */ = {
475 | isa = PBXNativeTarget;
476 | buildConfigurationList = A3D0F24522786FA300DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift tvOS Tests" */;
477 | buildPhases = (
478 | A3D0F23522786FA300DB6073 /* Sources */,
479 | A3D0F23622786FA300DB6073 /* Frameworks */,
480 | A3D0F23722786FA300DB6073 /* Resources */,
481 | );
482 | buildRules = (
483 | );
484 | dependencies = (
485 | A3D0F23C22786FA300DB6073 /* PBXTargetDependency */,
486 | );
487 | name = "KoinSwift tvOS Tests";
488 | productName = "KoinSwift tvOSTests";
489 | productReference = A3D0F23922786FA300DB6073 /* KoinSwift tvOS Tests.xctest */;
490 | productType = "com.apple.product-type.bundle.unit-test";
491 | };
492 | /* End PBXNativeTarget section */
493 |
494 | /* Begin PBXProject section */
495 | A3D0F17F22784E9000DB6073 /* Project object */ = {
496 | isa = PBXProject;
497 | attributes = {
498 | LastSwiftUpdateCheck = 1010;
499 | LastUpgradeCheck = 1010;
500 | TargetAttributes = {
501 | A3D0F18922784EE500DB6073 = {
502 | CreatedOnToolsVersion = 10.1;
503 | };
504 | A3D0F19222784EE500DB6073 = {
505 | CreatedOnToolsVersion = 10.1;
506 | };
507 | A3D0F1A622784F0400DB6073 = {
508 | CreatedOnToolsVersion = 10.1;
509 | };
510 | A3D0F1AE22784F0400DB6073 = {
511 | CreatedOnToolsVersion = 10.1;
512 | };
513 | A3D0F23022786FA300DB6073 = {
514 | CreatedOnToolsVersion = 10.1;
515 | };
516 | A3D0F23822786FA300DB6073 = {
517 | CreatedOnToolsVersion = 10.1;
518 | };
519 | };
520 | };
521 | buildConfigurationList = A3D0F18222784E9000DB6073 /* Build configuration list for PBXProject "KoinSwift" */;
522 | compatibilityVersion = "Xcode 9.3";
523 | developmentRegion = en;
524 | hasScannedForEncodings = 0;
525 | knownRegions = (
526 | en,
527 | );
528 | mainGroup = A3D0F17E22784E9000DB6073;
529 | productRefGroup = A3D0F18B22784EE500DB6073 /* Products */;
530 | projectDirPath = "";
531 | projectRoot = "";
532 | targets = (
533 | A3D0F18922784EE500DB6073 /* KoinSwift iOS */,
534 | A3D0F23022786FA300DB6073 /* KoinSwift tvOS */,
535 | A3D0F1A622784F0400DB6073 /* KoinSwift macOS */,
536 | A3D0F19222784EE500DB6073 /* KoinSwift iOS Tests */,
537 | A3D0F23822786FA300DB6073 /* KoinSwift tvOS Tests */,
538 | A3D0F1AE22784F0400DB6073 /* KoinSwift macOS Tests */,
539 | );
540 | };
541 | /* End PBXProject section */
542 |
543 | /* Begin PBXResourcesBuildPhase section */
544 | A3D0F18822784EE500DB6073 /* Resources */ = {
545 | isa = PBXResourcesBuildPhase;
546 | buildActionMask = 2147483647;
547 | files = (
548 | );
549 | runOnlyForDeploymentPostprocessing = 0;
550 | };
551 | A3D0F19122784EE500DB6073 /* Resources */ = {
552 | isa = PBXResourcesBuildPhase;
553 | buildActionMask = 2147483647;
554 | files = (
555 | );
556 | runOnlyForDeploymentPostprocessing = 0;
557 | };
558 | A3D0F1A522784F0400DB6073 /* Resources */ = {
559 | isa = PBXResourcesBuildPhase;
560 | buildActionMask = 2147483647;
561 | files = (
562 | );
563 | runOnlyForDeploymentPostprocessing = 0;
564 | };
565 | A3D0F1AD22784F0400DB6073 /* Resources */ = {
566 | isa = PBXResourcesBuildPhase;
567 | buildActionMask = 2147483647;
568 | files = (
569 | );
570 | runOnlyForDeploymentPostprocessing = 0;
571 | };
572 | A3D0F22F22786FA300DB6073 /* Resources */ = {
573 | isa = PBXResourcesBuildPhase;
574 | buildActionMask = 2147483647;
575 | files = (
576 | );
577 | runOnlyForDeploymentPostprocessing = 0;
578 | };
579 | A3D0F23722786FA300DB6073 /* Resources */ = {
580 | isa = PBXResourcesBuildPhase;
581 | buildActionMask = 2147483647;
582 | files = (
583 | );
584 | runOnlyForDeploymentPostprocessing = 0;
585 | };
586 | /* End PBXResourcesBuildPhase section */
587 |
588 | /* Begin PBXShellScriptBuildPhase section */
589 | A3C37969228AEC5500A14618 /* Swiftlint */ = {
590 | isa = PBXShellScriptBuildPhase;
591 | buildActionMask = 2147483647;
592 | files = (
593 | );
594 | inputFileListPaths = (
595 | );
596 | inputPaths = (
597 | );
598 | name = Swiftlint;
599 | outputFileListPaths = (
600 | );
601 | outputPaths = (
602 | );
603 | runOnlyForDeploymentPostprocessing = 0;
604 | shellPath = /bin/sh;
605 | shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
606 | };
607 | A3C3796B228AEC7400A14618 /* Swiftlint */ = {
608 | isa = PBXShellScriptBuildPhase;
609 | buildActionMask = 2147483647;
610 | files = (
611 | );
612 | inputFileListPaths = (
613 | );
614 | inputPaths = (
615 | );
616 | name = Swiftlint;
617 | outputFileListPaths = (
618 | );
619 | outputPaths = (
620 | );
621 | runOnlyForDeploymentPostprocessing = 0;
622 | shellPath = /bin/sh;
623 | shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
624 | };
625 | A3C3796C228AEC8200A14618 /* Swiftlint */ = {
626 | isa = PBXShellScriptBuildPhase;
627 | buildActionMask = 2147483647;
628 | files = (
629 | );
630 | inputFileListPaths = (
631 | );
632 | inputPaths = (
633 | );
634 | name = Swiftlint;
635 | outputFileListPaths = (
636 | );
637 | outputPaths = (
638 | );
639 | runOnlyForDeploymentPostprocessing = 0;
640 | shellPath = /bin/sh;
641 | shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
642 | };
643 | /* End PBXShellScriptBuildPhase section */
644 |
645 | /* Begin PBXSourcesBuildPhase section */
646 | A3D0F18622784EE500DB6073 /* Sources */ = {
647 | isa = PBXSourcesBuildPhase;
648 | buildActionMask = 2147483647;
649 | files = (
650 | A3D0F1F5227850A100DB6073 /* Koin.swift in Sources */,
651 | A3D0F205227850BC00DB6073 /* ModuleExt.swift in Sources */,
652 | A3D0F206227850BC00DB6073 /* KoinConfig.swift in Sources */,
653 | A3D0F1FC227850A100DB6073 /* Definition.swift in Sources */,
654 | A3D0F1FD227850A100DB6073 /* BeanRegistry.swift in Sources */,
655 | A3D0F1FA227850A100DB6073 /* Kind.swift in Sources */,
656 | A3D0F1F9227850A100DB6073 /* DefinitionFactory.swift in Sources */,
657 | A3D0F207227850BC00DB6073 /* Dsl.swift in Sources */,
658 | A3D0F1FF227850A100DB6073 /* Module.swift in Sources */,
659 | A3D0F200227850A100DB6073 /* KoinErrors.swift in Sources */,
660 | A3D0F1F8227850A100DB6073 /* KoinInjectable.swift in Sources */,
661 | A3D0F1F6227850A100DB6073 /* Qualifier.swift in Sources */,
662 | A3D0F1FB227850A100DB6073 /* BeanDefinition.swift in Sources */,
663 | A3D0F1F4227850A100DB6073 /* GlobalContext.swift in Sources */,
664 | A3D0F1FE227850A100DB6073 /* ModuleDeclaration.swift in Sources */,
665 | );
666 | runOnlyForDeploymentPostprocessing = 0;
667 | };
668 | A3D0F18F22784EE500DB6073 /* Sources */ = {
669 | isa = PBXSourcesBuildPhase;
670 | buildActionMask = 2147483647;
671 | files = (
672 | A3D0F2562278742500DB6073 /* BeanRegistryTests.swift in Sources */,
673 | A3D0F2552278742500DB6073 /* BeanDefinition.swift in Sources */,
674 | );
675 | runOnlyForDeploymentPostprocessing = 0;
676 | };
677 | A3D0F1A322784F0400DB6073 /* Sources */ = {
678 | isa = PBXSourcesBuildPhase;
679 | buildActionMask = 2147483647;
680 | files = (
681 | A3D0F2082278512200DB6073 /* GlobalContext.swift in Sources */,
682 | A3D0F2092278512200DB6073 /* DefinitionFactory.swift in Sources */,
683 | A3D0F2112278512200DB6073 /* BeanRegistry.swift in Sources */,
684 | A3D0F20C2278512200DB6073 /* Definition.swift in Sources */,
685 | A3D0F20B2278512200DB6073 /* BeanDefinition.swift in Sources */,
686 | A3D0F2102278512200DB6073 /* Qualifier.swift in Sources */,
687 | A3D0F2122278512200DB6073 /* Koin.swift in Sources */,
688 | A3D0F20E2278512200DB6073 /* Module.swift in Sources */,
689 | A3D0F2162278512800DB6073 /* Dsl.swift in Sources */,
690 | A3D0F2142278512800DB6073 /* ModuleExt.swift in Sources */,
691 | A3D0F20A2278512200DB6073 /* Kind.swift in Sources */,
692 | A3D0F2152278512800DB6073 /* KoinConfig.swift in Sources */,
693 | A3D0F2132278512200DB6073 /* KoinInjectable.swift in Sources */,
694 | A3D0F20F2278512200DB6073 /* ModuleDeclaration.swift in Sources */,
695 | A3D0F20D2278512200DB6073 /* KoinErrors.swift in Sources */,
696 | );
697 | runOnlyForDeploymentPostprocessing = 0;
698 | };
699 | A3D0F1AB22784F0400DB6073 /* Sources */ = {
700 | isa = PBXSourcesBuildPhase;
701 | buildActionMask = 2147483647;
702 | files = (
703 | A3D0F25A2278742600DB6073 /* BeanRegistryTests.swift in Sources */,
704 | A3D0F2592278742600DB6073 /* BeanDefinition.swift in Sources */,
705 | );
706 | runOnlyForDeploymentPostprocessing = 0;
707 | };
708 | A3D0F22D22786FA300DB6073 /* Sources */ = {
709 | isa = PBXSourcesBuildPhase;
710 | buildActionMask = 2147483647;
711 | files = (
712 | A3D0F25B2278743200DB6073 /* GlobalContext.swift in Sources */,
713 | A3D0F25C2278743200DB6073 /* DefinitionFactory.swift in Sources */,
714 | A3D0F2642278743200DB6073 /* BeanRegistry.swift in Sources */,
715 | A3D0F25F2278743200DB6073 /* Definition.swift in Sources */,
716 | A3D0F25E2278743200DB6073 /* BeanDefinition.swift in Sources */,
717 | A3D0F2632278743200DB6073 /* Qualifier.swift in Sources */,
718 | A3D0F2652278743200DB6073 /* Koin.swift in Sources */,
719 | A3D0F2612278743200DB6073 /* Module.swift in Sources */,
720 | A3D0F2692278743200DB6073 /* Dsl.swift in Sources */,
721 | A3D0F2672278743200DB6073 /* ModuleExt.swift in Sources */,
722 | A3D0F25D2278743200DB6073 /* Kind.swift in Sources */,
723 | A3D0F2682278743200DB6073 /* KoinConfig.swift in Sources */,
724 | A3D0F2662278743200DB6073 /* KoinInjectable.swift in Sources */,
725 | A3D0F2622278743200DB6073 /* ModuleDeclaration.swift in Sources */,
726 | A3D0F2602278743200DB6073 /* KoinErrors.swift in Sources */,
727 | );
728 | runOnlyForDeploymentPostprocessing = 0;
729 | };
730 | A3D0F23522786FA300DB6073 /* Sources */ = {
731 | isa = PBXSourcesBuildPhase;
732 | buildActionMask = 2147483647;
733 | files = (
734 | A3D0F2582278742600DB6073 /* BeanRegistryTests.swift in Sources */,
735 | A3D0F2572278742600DB6073 /* BeanDefinition.swift in Sources */,
736 | );
737 | runOnlyForDeploymentPostprocessing = 0;
738 | };
739 | /* End PBXSourcesBuildPhase section */
740 |
741 | /* Begin PBXTargetDependency section */
742 | A3D0F19622784EE500DB6073 /* PBXTargetDependency */ = {
743 | isa = PBXTargetDependency;
744 | target = A3D0F18922784EE500DB6073 /* KoinSwift iOS */;
745 | targetProxy = A3D0F19522784EE500DB6073 /* PBXContainerItemProxy */;
746 | };
747 | A3D0F1B222784F0400DB6073 /* PBXTargetDependency */ = {
748 | isa = PBXTargetDependency;
749 | target = A3D0F1A622784F0400DB6073 /* KoinSwift macOS */;
750 | targetProxy = A3D0F1B122784F0400DB6073 /* PBXContainerItemProxy */;
751 | };
752 | A3D0F23C22786FA300DB6073 /* PBXTargetDependency */ = {
753 | isa = PBXTargetDependency;
754 | target = A3D0F23022786FA300DB6073 /* KoinSwift tvOS */;
755 | targetProxy = A3D0F23B22786FA300DB6073 /* PBXContainerItemProxy */;
756 | };
757 | /* End PBXTargetDependency section */
758 |
759 | /* Begin XCBuildConfiguration section */
760 | A3D0F18322784E9000DB6073 /* Debug */ = {
761 | isa = XCBuildConfiguration;
762 | buildSettings = {
763 | LIBRARY_VERSION = 0.1;
764 | PRODUCT_NAME = KoinSwift;
765 | };
766 | name = Debug;
767 | };
768 | A3D0F18422784E9000DB6073 /* Release */ = {
769 | isa = XCBuildConfiguration;
770 | buildSettings = {
771 | LIBRARY_VERSION = 0.1;
772 | PRODUCT_NAME = KoinSwift;
773 | };
774 | name = Release;
775 | };
776 | A3D0F19D22784EE500DB6073 /* Debug */ = {
777 | isa = XCBuildConfiguration;
778 | buildSettings = {
779 | ALWAYS_SEARCH_USER_PATHS = NO;
780 | CLANG_ANALYZER_NONNULL = YES;
781 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
782 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
783 | CLANG_CXX_LIBRARY = "libc++";
784 | CLANG_ENABLE_MODULES = YES;
785 | CLANG_ENABLE_OBJC_ARC = YES;
786 | CLANG_ENABLE_OBJC_WEAK = YES;
787 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
788 | CLANG_WARN_BOOL_CONVERSION = YES;
789 | CLANG_WARN_COMMA = YES;
790 | CLANG_WARN_CONSTANT_CONVERSION = YES;
791 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
792 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
793 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
794 | CLANG_WARN_EMPTY_BODY = YES;
795 | CLANG_WARN_ENUM_CONVERSION = YES;
796 | CLANG_WARN_INFINITE_RECURSION = YES;
797 | CLANG_WARN_INT_CONVERSION = YES;
798 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
799 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
800 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
801 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
802 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
803 | CLANG_WARN_STRICT_PROTOTYPES = YES;
804 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
805 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
806 | CLANG_WARN_UNREACHABLE_CODE = YES;
807 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
808 | CODE_SIGN_IDENTITY = "iPhone Developer";
809 | CODE_SIGN_STYLE = Automatic;
810 | COPY_PHASE_STRIP = NO;
811 | CURRENT_PROJECT_VERSION = 1;
812 | DEBUG_INFORMATION_FORMAT = dwarf;
813 | DEFINES_MODULE = YES;
814 | DYLIB_COMPATIBILITY_VERSION = 1;
815 | DYLIB_CURRENT_VERSION = 1;
816 | DYLIB_INSTALL_NAME_BASE = "@rpath";
817 | ENABLE_STRICT_OBJC_MSGSEND = YES;
818 | ENABLE_TESTABILITY = YES;
819 | GCC_C_LANGUAGE_STANDARD = gnu11;
820 | GCC_DYNAMIC_NO_PIC = NO;
821 | GCC_NO_COMMON_BLOCKS = YES;
822 | GCC_OPTIMIZATION_LEVEL = 0;
823 | GCC_PREPROCESSOR_DEFINITIONS = (
824 | "DEBUG=1",
825 | "$(inherited)",
826 | );
827 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
828 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
829 | GCC_WARN_UNDECLARED_SELECTOR = YES;
830 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
831 | GCC_WARN_UNUSED_FUNCTION = YES;
832 | GCC_WARN_UNUSED_VARIABLE = YES;
833 | INFOPLIST_FILE = "KoinSwift iOS/Info.plist";
834 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
835 | IPHONEOS_DEPLOYMENT_TARGET = 12.1;
836 | LD_RUNPATH_SEARCH_PATHS = (
837 | "$(inherited)",
838 | "@executable_path/Frameworks",
839 | "@loader_path/Frameworks",
840 | );
841 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
842 | MTL_FAST_MATH = YES;
843 | ONLY_ACTIVE_ARCH = YES;
844 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
845 | SDKROOT = iphoneos;
846 | SKIP_INSTALL = YES;
847 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
848 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
849 | SWIFT_VERSION = 4.2;
850 | TARGETED_DEVICE_FAMILY = "1,2";
851 | VERSIONING_SYSTEM = "apple-generic";
852 | VERSION_INFO_PREFIX = "";
853 | };
854 | name = Debug;
855 | };
856 | A3D0F19E22784EE500DB6073 /* Release */ = {
857 | isa = XCBuildConfiguration;
858 | buildSettings = {
859 | ALWAYS_SEARCH_USER_PATHS = NO;
860 | CLANG_ANALYZER_NONNULL = YES;
861 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
862 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
863 | CLANG_CXX_LIBRARY = "libc++";
864 | CLANG_ENABLE_MODULES = YES;
865 | CLANG_ENABLE_OBJC_ARC = YES;
866 | CLANG_ENABLE_OBJC_WEAK = YES;
867 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
868 | CLANG_WARN_BOOL_CONVERSION = YES;
869 | CLANG_WARN_COMMA = YES;
870 | CLANG_WARN_CONSTANT_CONVERSION = YES;
871 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
872 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
873 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
874 | CLANG_WARN_EMPTY_BODY = YES;
875 | CLANG_WARN_ENUM_CONVERSION = YES;
876 | CLANG_WARN_INFINITE_RECURSION = YES;
877 | CLANG_WARN_INT_CONVERSION = YES;
878 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
879 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
880 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
881 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
882 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
883 | CLANG_WARN_STRICT_PROTOTYPES = YES;
884 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
885 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
886 | CLANG_WARN_UNREACHABLE_CODE = YES;
887 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
888 | CODE_SIGN_IDENTITY = "iPhone Developer";
889 | CODE_SIGN_STYLE = Automatic;
890 | COPY_PHASE_STRIP = NO;
891 | CURRENT_PROJECT_VERSION = 1;
892 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
893 | DEFINES_MODULE = YES;
894 | DYLIB_COMPATIBILITY_VERSION = 1;
895 | DYLIB_CURRENT_VERSION = 1;
896 | DYLIB_INSTALL_NAME_BASE = "@rpath";
897 | ENABLE_NS_ASSERTIONS = NO;
898 | ENABLE_STRICT_OBJC_MSGSEND = YES;
899 | GCC_C_LANGUAGE_STANDARD = gnu11;
900 | GCC_NO_COMMON_BLOCKS = YES;
901 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
902 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
903 | GCC_WARN_UNDECLARED_SELECTOR = YES;
904 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
905 | GCC_WARN_UNUSED_FUNCTION = YES;
906 | GCC_WARN_UNUSED_VARIABLE = YES;
907 | INFOPLIST_FILE = "KoinSwift iOS/Info.plist";
908 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
909 | IPHONEOS_DEPLOYMENT_TARGET = 12.1;
910 | LD_RUNPATH_SEARCH_PATHS = (
911 | "$(inherited)",
912 | "@executable_path/Frameworks",
913 | "@loader_path/Frameworks",
914 | );
915 | MTL_ENABLE_DEBUG_INFO = NO;
916 | MTL_FAST_MATH = YES;
917 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
918 | SDKROOT = iphoneos;
919 | SKIP_INSTALL = YES;
920 | SWIFT_COMPILATION_MODE = wholemodule;
921 | SWIFT_OPTIMIZATION_LEVEL = "-O";
922 | SWIFT_VERSION = 4.2;
923 | TARGETED_DEVICE_FAMILY = "1,2";
924 | VALIDATE_PRODUCT = YES;
925 | VERSIONING_SYSTEM = "apple-generic";
926 | VERSION_INFO_PREFIX = "";
927 | };
928 | name = Release;
929 | };
930 | A3D0F1A022784EE500DB6073 /* Debug */ = {
931 | isa = XCBuildConfiguration;
932 | buildSettings = {
933 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
934 | ALWAYS_SEARCH_USER_PATHS = NO;
935 | CLANG_ANALYZER_NONNULL = YES;
936 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
937 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
938 | CLANG_CXX_LIBRARY = "libc++";
939 | CLANG_ENABLE_MODULES = YES;
940 | CLANG_ENABLE_OBJC_ARC = YES;
941 | CLANG_ENABLE_OBJC_WEAK = YES;
942 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
943 | CLANG_WARN_BOOL_CONVERSION = YES;
944 | CLANG_WARN_COMMA = YES;
945 | CLANG_WARN_CONSTANT_CONVERSION = YES;
946 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
947 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
948 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
949 | CLANG_WARN_EMPTY_BODY = YES;
950 | CLANG_WARN_ENUM_CONVERSION = YES;
951 | CLANG_WARN_INFINITE_RECURSION = YES;
952 | CLANG_WARN_INT_CONVERSION = YES;
953 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
954 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
955 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
956 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
957 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
958 | CLANG_WARN_STRICT_PROTOTYPES = YES;
959 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
960 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
961 | CLANG_WARN_UNREACHABLE_CODE = YES;
962 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
963 | CODE_SIGN_IDENTITY = "iPhone Developer";
964 | CODE_SIGN_STYLE = Automatic;
965 | COPY_PHASE_STRIP = NO;
966 | DEBUG_INFORMATION_FORMAT = dwarf;
967 | ENABLE_STRICT_OBJC_MSGSEND = YES;
968 | ENABLE_TESTABILITY = YES;
969 | GCC_C_LANGUAGE_STANDARD = gnu11;
970 | GCC_DYNAMIC_NO_PIC = NO;
971 | GCC_NO_COMMON_BLOCKS = YES;
972 | GCC_OPTIMIZATION_LEVEL = 0;
973 | GCC_PREPROCESSOR_DEFINITIONS = (
974 | "DEBUG=1",
975 | "$(inherited)",
976 | );
977 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
978 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
979 | GCC_WARN_UNDECLARED_SELECTOR = YES;
980 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
981 | GCC_WARN_UNUSED_FUNCTION = YES;
982 | GCC_WARN_UNUSED_VARIABLE = YES;
983 | INFOPLIST_FILE = "KoinSwift iOS Tests/Info.plist";
984 | IPHONEOS_DEPLOYMENT_TARGET = 12.1;
985 | LD_RUNPATH_SEARCH_PATHS = (
986 | "$(inherited)",
987 | "@executable_path/Frameworks",
988 | "@loader_path/Frameworks",
989 | );
990 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
991 | MTL_FAST_MATH = YES;
992 | ONLY_ACTIVE_ARCH = YES;
993 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.ios.KoinSwiftIosTests;
994 | PRODUCT_NAME = "$(TARGET_NAME)";
995 | SDKROOT = iphoneos;
996 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
997 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
998 | SWIFT_VERSION = 4.2;
999 | TARGETED_DEVICE_FAMILY = "1,2";
1000 | };
1001 | name = Debug;
1002 | };
1003 | A3D0F1A122784EE500DB6073 /* Release */ = {
1004 | isa = XCBuildConfiguration;
1005 | buildSettings = {
1006 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
1007 | ALWAYS_SEARCH_USER_PATHS = NO;
1008 | CLANG_ANALYZER_NONNULL = YES;
1009 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1010 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1011 | CLANG_CXX_LIBRARY = "libc++";
1012 | CLANG_ENABLE_MODULES = YES;
1013 | CLANG_ENABLE_OBJC_ARC = YES;
1014 | CLANG_ENABLE_OBJC_WEAK = YES;
1015 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1016 | CLANG_WARN_BOOL_CONVERSION = YES;
1017 | CLANG_WARN_COMMA = YES;
1018 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1019 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1020 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1021 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1022 | CLANG_WARN_EMPTY_BODY = YES;
1023 | CLANG_WARN_ENUM_CONVERSION = YES;
1024 | CLANG_WARN_INFINITE_RECURSION = YES;
1025 | CLANG_WARN_INT_CONVERSION = YES;
1026 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1027 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1028 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1029 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1030 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1031 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1032 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1033 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1034 | CLANG_WARN_UNREACHABLE_CODE = YES;
1035 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1036 | CODE_SIGN_IDENTITY = "iPhone Developer";
1037 | CODE_SIGN_STYLE = Automatic;
1038 | COPY_PHASE_STRIP = NO;
1039 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1040 | ENABLE_NS_ASSERTIONS = NO;
1041 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1042 | GCC_C_LANGUAGE_STANDARD = gnu11;
1043 | GCC_NO_COMMON_BLOCKS = YES;
1044 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1045 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1046 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1047 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1048 | GCC_WARN_UNUSED_FUNCTION = YES;
1049 | GCC_WARN_UNUSED_VARIABLE = YES;
1050 | INFOPLIST_FILE = "KoinSwift iOS Tests/Info.plist";
1051 | IPHONEOS_DEPLOYMENT_TARGET = 12.1;
1052 | LD_RUNPATH_SEARCH_PATHS = (
1053 | "$(inherited)",
1054 | "@executable_path/Frameworks",
1055 | "@loader_path/Frameworks",
1056 | );
1057 | MTL_ENABLE_DEBUG_INFO = NO;
1058 | MTL_FAST_MATH = YES;
1059 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.ios.KoinSwiftIosTests;
1060 | PRODUCT_NAME = "$(TARGET_NAME)";
1061 | SDKROOT = iphoneos;
1062 | SWIFT_COMPILATION_MODE = wholemodule;
1063 | SWIFT_OPTIMIZATION_LEVEL = "-O";
1064 | SWIFT_VERSION = 4.2;
1065 | TARGETED_DEVICE_FAMILY = "1,2";
1066 | VALIDATE_PRODUCT = YES;
1067 | };
1068 | name = Release;
1069 | };
1070 | A3D0F1B922784F0400DB6073 /* Debug */ = {
1071 | isa = XCBuildConfiguration;
1072 | buildSettings = {
1073 | ALWAYS_SEARCH_USER_PATHS = NO;
1074 | CLANG_ANALYZER_NONNULL = YES;
1075 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1076 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1077 | CLANG_CXX_LIBRARY = "libc++";
1078 | CLANG_ENABLE_MODULES = YES;
1079 | CLANG_ENABLE_OBJC_ARC = YES;
1080 | CLANG_ENABLE_OBJC_WEAK = YES;
1081 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1082 | CLANG_WARN_BOOL_CONVERSION = YES;
1083 | CLANG_WARN_COMMA = YES;
1084 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1085 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1086 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1087 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1088 | CLANG_WARN_EMPTY_BODY = YES;
1089 | CLANG_WARN_ENUM_CONVERSION = YES;
1090 | CLANG_WARN_INFINITE_RECURSION = YES;
1091 | CLANG_WARN_INT_CONVERSION = YES;
1092 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1093 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1094 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1095 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1096 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1097 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1098 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1099 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1100 | CLANG_WARN_UNREACHABLE_CODE = YES;
1101 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1102 | CODE_SIGN_IDENTITY = "-";
1103 | CODE_SIGN_STYLE = Automatic;
1104 | COMBINE_HIDPI_IMAGES = YES;
1105 | COPY_PHASE_STRIP = NO;
1106 | CURRENT_PROJECT_VERSION = 1;
1107 | DEBUG_INFORMATION_FORMAT = dwarf;
1108 | DEFINES_MODULE = YES;
1109 | DYLIB_COMPATIBILITY_VERSION = 1;
1110 | DYLIB_CURRENT_VERSION = 1;
1111 | DYLIB_INSTALL_NAME_BASE = "@rpath";
1112 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1113 | ENABLE_TESTABILITY = YES;
1114 | FRAMEWORK_VERSION = A;
1115 | GCC_C_LANGUAGE_STANDARD = gnu11;
1116 | GCC_DYNAMIC_NO_PIC = NO;
1117 | GCC_NO_COMMON_BLOCKS = YES;
1118 | GCC_OPTIMIZATION_LEVEL = 0;
1119 | GCC_PREPROCESSOR_DEFINITIONS = (
1120 | "DEBUG=1",
1121 | "$(inherited)",
1122 | );
1123 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1124 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1125 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1126 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1127 | GCC_WARN_UNUSED_FUNCTION = YES;
1128 | GCC_WARN_UNUSED_VARIABLE = YES;
1129 | INFOPLIST_FILE = "KoinSwift macOS/Info.plist";
1130 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1131 | LD_RUNPATH_SEARCH_PATHS = (
1132 | "$(inherited)",
1133 | "@executable_path/../Frameworks",
1134 | "@loader_path/Frameworks",
1135 | );
1136 | MACOSX_DEPLOYMENT_TARGET = 10.13;
1137 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
1138 | MTL_FAST_MATH = YES;
1139 | ONLY_ACTIVE_ARCH = YES;
1140 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
1141 | SDKROOT = macosx;
1142 | SKIP_INSTALL = YES;
1143 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
1144 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1145 | SWIFT_VERSION = 4.2;
1146 | VERSIONING_SYSTEM = "apple-generic";
1147 | VERSION_INFO_PREFIX = "";
1148 | };
1149 | name = Debug;
1150 | };
1151 | A3D0F1BA22784F0400DB6073 /* Release */ = {
1152 | isa = XCBuildConfiguration;
1153 | buildSettings = {
1154 | ALWAYS_SEARCH_USER_PATHS = NO;
1155 | CLANG_ANALYZER_NONNULL = YES;
1156 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1157 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1158 | CLANG_CXX_LIBRARY = "libc++";
1159 | CLANG_ENABLE_MODULES = YES;
1160 | CLANG_ENABLE_OBJC_ARC = YES;
1161 | CLANG_ENABLE_OBJC_WEAK = YES;
1162 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1163 | CLANG_WARN_BOOL_CONVERSION = YES;
1164 | CLANG_WARN_COMMA = YES;
1165 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1166 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1167 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1168 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1169 | CLANG_WARN_EMPTY_BODY = YES;
1170 | CLANG_WARN_ENUM_CONVERSION = YES;
1171 | CLANG_WARN_INFINITE_RECURSION = YES;
1172 | CLANG_WARN_INT_CONVERSION = YES;
1173 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1174 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1175 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1176 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1177 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1178 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1179 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1180 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1181 | CLANG_WARN_UNREACHABLE_CODE = YES;
1182 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1183 | CODE_SIGN_IDENTITY = "-";
1184 | CODE_SIGN_STYLE = Automatic;
1185 | COMBINE_HIDPI_IMAGES = YES;
1186 | COPY_PHASE_STRIP = NO;
1187 | CURRENT_PROJECT_VERSION = 1;
1188 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1189 | DEFINES_MODULE = YES;
1190 | DYLIB_COMPATIBILITY_VERSION = 1;
1191 | DYLIB_CURRENT_VERSION = 1;
1192 | DYLIB_INSTALL_NAME_BASE = "@rpath";
1193 | ENABLE_NS_ASSERTIONS = NO;
1194 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1195 | FRAMEWORK_VERSION = A;
1196 | GCC_C_LANGUAGE_STANDARD = gnu11;
1197 | GCC_NO_COMMON_BLOCKS = YES;
1198 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1199 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1200 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1201 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1202 | GCC_WARN_UNUSED_FUNCTION = YES;
1203 | GCC_WARN_UNUSED_VARIABLE = YES;
1204 | INFOPLIST_FILE = "KoinSwift macOS/Info.plist";
1205 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1206 | LD_RUNPATH_SEARCH_PATHS = (
1207 | "$(inherited)",
1208 | "@executable_path/../Frameworks",
1209 | "@loader_path/Frameworks",
1210 | );
1211 | MACOSX_DEPLOYMENT_TARGET = 10.13;
1212 | MTL_ENABLE_DEBUG_INFO = NO;
1213 | MTL_FAST_MATH = YES;
1214 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
1215 | SDKROOT = macosx;
1216 | SKIP_INSTALL = YES;
1217 | SWIFT_COMPILATION_MODE = wholemodule;
1218 | SWIFT_OPTIMIZATION_LEVEL = "-O";
1219 | SWIFT_VERSION = 4.2;
1220 | VERSIONING_SYSTEM = "apple-generic";
1221 | VERSION_INFO_PREFIX = "";
1222 | };
1223 | name = Release;
1224 | };
1225 | A3D0F1BC22784F0400DB6073 /* Debug */ = {
1226 | isa = XCBuildConfiguration;
1227 | buildSettings = {
1228 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
1229 | ALWAYS_SEARCH_USER_PATHS = NO;
1230 | CLANG_ANALYZER_NONNULL = YES;
1231 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1232 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1233 | CLANG_CXX_LIBRARY = "libc++";
1234 | CLANG_ENABLE_MODULES = YES;
1235 | CLANG_ENABLE_OBJC_ARC = YES;
1236 | CLANG_ENABLE_OBJC_WEAK = YES;
1237 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1238 | CLANG_WARN_BOOL_CONVERSION = YES;
1239 | CLANG_WARN_COMMA = YES;
1240 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1241 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1242 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1243 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1244 | CLANG_WARN_EMPTY_BODY = YES;
1245 | CLANG_WARN_ENUM_CONVERSION = YES;
1246 | CLANG_WARN_INFINITE_RECURSION = YES;
1247 | CLANG_WARN_INT_CONVERSION = YES;
1248 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1249 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1250 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1251 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1252 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1253 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1254 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1255 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1256 | CLANG_WARN_UNREACHABLE_CODE = YES;
1257 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1258 | CODE_SIGN_IDENTITY = "-";
1259 | CODE_SIGN_STYLE = Automatic;
1260 | COMBINE_HIDPI_IMAGES = YES;
1261 | COPY_PHASE_STRIP = NO;
1262 | DEBUG_INFORMATION_FORMAT = dwarf;
1263 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1264 | ENABLE_TESTABILITY = YES;
1265 | GCC_C_LANGUAGE_STANDARD = gnu11;
1266 | GCC_DYNAMIC_NO_PIC = NO;
1267 | GCC_NO_COMMON_BLOCKS = YES;
1268 | GCC_OPTIMIZATION_LEVEL = 0;
1269 | GCC_PREPROCESSOR_DEFINITIONS = (
1270 | "DEBUG=1",
1271 | "$(inherited)",
1272 | );
1273 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1274 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1275 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1276 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1277 | GCC_WARN_UNUSED_FUNCTION = YES;
1278 | GCC_WARN_UNUSED_VARIABLE = YES;
1279 | INFOPLIST_FILE = "KoinSwift macOS Tests/Info.plist";
1280 | LD_RUNPATH_SEARCH_PATHS = (
1281 | "$(inherited)",
1282 | "@executable_path/../Frameworks",
1283 | "@loader_path/../Frameworks",
1284 | );
1285 | MACOSX_DEPLOYMENT_TARGET = 10.13;
1286 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
1287 | MTL_FAST_MATH = YES;
1288 | ONLY_ACTIVE_ARCH = YES;
1289 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.ios.KoinSwiftOsxTests;
1290 | PRODUCT_NAME = "$(TARGET_NAME)";
1291 | SDKROOT = macosx;
1292 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
1293 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1294 | SWIFT_VERSION = 4.2;
1295 | };
1296 | name = Debug;
1297 | };
1298 | A3D0F1BD22784F0400DB6073 /* Release */ = {
1299 | isa = XCBuildConfiguration;
1300 | buildSettings = {
1301 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
1302 | ALWAYS_SEARCH_USER_PATHS = NO;
1303 | CLANG_ANALYZER_NONNULL = YES;
1304 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1305 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1306 | CLANG_CXX_LIBRARY = "libc++";
1307 | CLANG_ENABLE_MODULES = YES;
1308 | CLANG_ENABLE_OBJC_ARC = YES;
1309 | CLANG_ENABLE_OBJC_WEAK = YES;
1310 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1311 | CLANG_WARN_BOOL_CONVERSION = YES;
1312 | CLANG_WARN_COMMA = YES;
1313 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1314 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1315 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1316 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1317 | CLANG_WARN_EMPTY_BODY = YES;
1318 | CLANG_WARN_ENUM_CONVERSION = YES;
1319 | CLANG_WARN_INFINITE_RECURSION = YES;
1320 | CLANG_WARN_INT_CONVERSION = YES;
1321 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1322 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1323 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1324 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1325 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1326 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1327 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1328 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1329 | CLANG_WARN_UNREACHABLE_CODE = YES;
1330 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1331 | CODE_SIGN_IDENTITY = "-";
1332 | CODE_SIGN_STYLE = Automatic;
1333 | COMBINE_HIDPI_IMAGES = YES;
1334 | COPY_PHASE_STRIP = NO;
1335 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1336 | ENABLE_NS_ASSERTIONS = NO;
1337 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1338 | GCC_C_LANGUAGE_STANDARD = gnu11;
1339 | GCC_NO_COMMON_BLOCKS = YES;
1340 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1341 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1342 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1343 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1344 | GCC_WARN_UNUSED_FUNCTION = YES;
1345 | GCC_WARN_UNUSED_VARIABLE = YES;
1346 | INFOPLIST_FILE = "KoinSwift macOS Tests/Info.plist";
1347 | LD_RUNPATH_SEARCH_PATHS = (
1348 | "$(inherited)",
1349 | "@executable_path/../Frameworks",
1350 | "@loader_path/../Frameworks",
1351 | );
1352 | MACOSX_DEPLOYMENT_TARGET = 10.13;
1353 | MTL_ENABLE_DEBUG_INFO = NO;
1354 | MTL_FAST_MATH = YES;
1355 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.ios.KoinSwiftOsxTests;
1356 | PRODUCT_NAME = "$(TARGET_NAME)";
1357 | SDKROOT = macosx;
1358 | SWIFT_COMPILATION_MODE = wholemodule;
1359 | SWIFT_OPTIMIZATION_LEVEL = "-O";
1360 | SWIFT_VERSION = 4.2;
1361 | };
1362 | name = Release;
1363 | };
1364 | A3D0F24322786FA300DB6073 /* Debug */ = {
1365 | isa = XCBuildConfiguration;
1366 | buildSettings = {
1367 | ALWAYS_SEARCH_USER_PATHS = NO;
1368 | CLANG_ANALYZER_NONNULL = YES;
1369 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1370 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1371 | CLANG_CXX_LIBRARY = "libc++";
1372 | CLANG_ENABLE_MODULES = YES;
1373 | CLANG_ENABLE_OBJC_ARC = YES;
1374 | CLANG_ENABLE_OBJC_WEAK = YES;
1375 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1376 | CLANG_WARN_BOOL_CONVERSION = YES;
1377 | CLANG_WARN_COMMA = YES;
1378 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1379 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1380 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1381 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1382 | CLANG_WARN_EMPTY_BODY = YES;
1383 | CLANG_WARN_ENUM_CONVERSION = YES;
1384 | CLANG_WARN_INFINITE_RECURSION = YES;
1385 | CLANG_WARN_INT_CONVERSION = YES;
1386 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1387 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1388 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1389 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1390 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1391 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1392 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1393 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1394 | CLANG_WARN_UNREACHABLE_CODE = YES;
1395 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1396 | CODE_SIGN_IDENTITY = "";
1397 | CODE_SIGN_STYLE = Automatic;
1398 | COPY_PHASE_STRIP = NO;
1399 | CURRENT_PROJECT_VERSION = 1;
1400 | DEBUG_INFORMATION_FORMAT = dwarf;
1401 | DEFINES_MODULE = YES;
1402 | DYLIB_COMPATIBILITY_VERSION = 1;
1403 | DYLIB_CURRENT_VERSION = 1;
1404 | DYLIB_INSTALL_NAME_BASE = "@rpath";
1405 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1406 | ENABLE_TESTABILITY = YES;
1407 | GCC_C_LANGUAGE_STANDARD = gnu11;
1408 | GCC_DYNAMIC_NO_PIC = NO;
1409 | GCC_NO_COMMON_BLOCKS = YES;
1410 | GCC_OPTIMIZATION_LEVEL = 0;
1411 | GCC_PREPROCESSOR_DEFINITIONS = (
1412 | "DEBUG=1",
1413 | "$(inherited)",
1414 | );
1415 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1416 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1417 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1418 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1419 | GCC_WARN_UNUSED_FUNCTION = YES;
1420 | GCC_WARN_UNUSED_VARIABLE = YES;
1421 | INFOPLIST_FILE = "KoinSwift tvOS/Info.plist";
1422 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1423 | LD_RUNPATH_SEARCH_PATHS = (
1424 | "$(inherited)",
1425 | "@executable_path/Frameworks",
1426 | "@loader_path/Frameworks",
1427 | );
1428 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
1429 | MTL_FAST_MATH = YES;
1430 | ONLY_ACTIVE_ARCH = YES;
1431 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
1432 | SDKROOT = appletvos;
1433 | SKIP_INSTALL = YES;
1434 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
1435 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1436 | SWIFT_VERSION = 4.2;
1437 | TARGETED_DEVICE_FAMILY = 3;
1438 | TVOS_DEPLOYMENT_TARGET = 12.1;
1439 | VERSIONING_SYSTEM = "apple-generic";
1440 | VERSION_INFO_PREFIX = "";
1441 | };
1442 | name = Debug;
1443 | };
1444 | A3D0F24422786FA300DB6073 /* Release */ = {
1445 | isa = XCBuildConfiguration;
1446 | buildSettings = {
1447 | ALWAYS_SEARCH_USER_PATHS = NO;
1448 | CLANG_ANALYZER_NONNULL = YES;
1449 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1450 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1451 | CLANG_CXX_LIBRARY = "libc++";
1452 | CLANG_ENABLE_MODULES = YES;
1453 | CLANG_ENABLE_OBJC_ARC = YES;
1454 | CLANG_ENABLE_OBJC_WEAK = YES;
1455 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1456 | CLANG_WARN_BOOL_CONVERSION = YES;
1457 | CLANG_WARN_COMMA = YES;
1458 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1459 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1460 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1461 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1462 | CLANG_WARN_EMPTY_BODY = YES;
1463 | CLANG_WARN_ENUM_CONVERSION = YES;
1464 | CLANG_WARN_INFINITE_RECURSION = YES;
1465 | CLANG_WARN_INT_CONVERSION = YES;
1466 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1467 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1468 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1469 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1470 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1471 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1472 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1473 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1474 | CLANG_WARN_UNREACHABLE_CODE = YES;
1475 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1476 | CODE_SIGN_IDENTITY = "";
1477 | CODE_SIGN_STYLE = Automatic;
1478 | COPY_PHASE_STRIP = NO;
1479 | CURRENT_PROJECT_VERSION = 1;
1480 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1481 | DEFINES_MODULE = YES;
1482 | DYLIB_COMPATIBILITY_VERSION = 1;
1483 | DYLIB_CURRENT_VERSION = 1;
1484 | DYLIB_INSTALL_NAME_BASE = "@rpath";
1485 | ENABLE_NS_ASSERTIONS = NO;
1486 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1487 | GCC_C_LANGUAGE_STANDARD = gnu11;
1488 | GCC_NO_COMMON_BLOCKS = YES;
1489 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1490 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1491 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1492 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1493 | GCC_WARN_UNUSED_FUNCTION = YES;
1494 | GCC_WARN_UNUSED_VARIABLE = YES;
1495 | INFOPLIST_FILE = "KoinSwift tvOS/Info.plist";
1496 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1497 | LD_RUNPATH_SEARCH_PATHS = (
1498 | "$(inherited)",
1499 | "@executable_path/Frameworks",
1500 | "@loader_path/Frameworks",
1501 | );
1502 | MTL_ENABLE_DEBUG_INFO = NO;
1503 | MTL_FAST_MATH = YES;
1504 | PRODUCT_BUNDLE_IDENTIFIER = io.insertkoin.swift;
1505 | SDKROOT = appletvos;
1506 | SKIP_INSTALL = YES;
1507 | SWIFT_COMPILATION_MODE = wholemodule;
1508 | SWIFT_OPTIMIZATION_LEVEL = "-O";
1509 | SWIFT_VERSION = 4.2;
1510 | TARGETED_DEVICE_FAMILY = 3;
1511 | TVOS_DEPLOYMENT_TARGET = 12.1;
1512 | VALIDATE_PRODUCT = YES;
1513 | VERSIONING_SYSTEM = "apple-generic";
1514 | VERSION_INFO_PREFIX = "";
1515 | };
1516 | name = Release;
1517 | };
1518 | A3D0F24622786FA300DB6073 /* Debug */ = {
1519 | isa = XCBuildConfiguration;
1520 | buildSettings = {
1521 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
1522 | ALWAYS_SEARCH_USER_PATHS = NO;
1523 | CLANG_ANALYZER_NONNULL = YES;
1524 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1525 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1526 | CLANG_CXX_LIBRARY = "libc++";
1527 | CLANG_ENABLE_MODULES = YES;
1528 | CLANG_ENABLE_OBJC_ARC = YES;
1529 | CLANG_ENABLE_OBJC_WEAK = YES;
1530 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1531 | CLANG_WARN_BOOL_CONVERSION = YES;
1532 | CLANG_WARN_COMMA = YES;
1533 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1534 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1535 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1536 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1537 | CLANG_WARN_EMPTY_BODY = YES;
1538 | CLANG_WARN_ENUM_CONVERSION = YES;
1539 | CLANG_WARN_INFINITE_RECURSION = YES;
1540 | CLANG_WARN_INT_CONVERSION = YES;
1541 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1542 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1543 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1544 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1545 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1546 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1547 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1548 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1549 | CLANG_WARN_UNREACHABLE_CODE = YES;
1550 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1551 | CODE_SIGN_STYLE = Automatic;
1552 | COPY_PHASE_STRIP = NO;
1553 | DEBUG_INFORMATION_FORMAT = dwarf;
1554 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1555 | ENABLE_TESTABILITY = YES;
1556 | GCC_C_LANGUAGE_STANDARD = gnu11;
1557 | GCC_DYNAMIC_NO_PIC = NO;
1558 | GCC_NO_COMMON_BLOCKS = YES;
1559 | GCC_OPTIMIZATION_LEVEL = 0;
1560 | GCC_PREPROCESSOR_DEFINITIONS = (
1561 | "DEBUG=1",
1562 | "$(inherited)",
1563 | );
1564 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1565 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1566 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1567 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1568 | GCC_WARN_UNUSED_FUNCTION = YES;
1569 | GCC_WARN_UNUSED_VARIABLE = YES;
1570 | INFOPLIST_FILE = "KoinSwift tvOS Tests/Info.plist";
1571 | LD_RUNPATH_SEARCH_PATHS = (
1572 | "$(inherited)",
1573 | "@executable_path/Frameworks",
1574 | "@loader_path/Frameworks",
1575 | );
1576 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
1577 | MTL_FAST_MATH = YES;
1578 | ONLY_ACTIVE_ARCH = YES;
1579 | PRODUCT_BUNDLE_IDENTIFIER = "io.insertkoin.ios.KoinSwift-tvOSTests";
1580 | PRODUCT_NAME = "$(TARGET_NAME)";
1581 | SDKROOT = appletvos;
1582 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
1583 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1584 | SWIFT_VERSION = 4.2;
1585 | TARGETED_DEVICE_FAMILY = 3;
1586 | TVOS_DEPLOYMENT_TARGET = 12.1;
1587 | };
1588 | name = Debug;
1589 | };
1590 | A3D0F24722786FA300DB6073 /* Release */ = {
1591 | isa = XCBuildConfiguration;
1592 | buildSettings = {
1593 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
1594 | ALWAYS_SEARCH_USER_PATHS = NO;
1595 | CLANG_ANALYZER_NONNULL = YES;
1596 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
1597 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
1598 | CLANG_CXX_LIBRARY = "libc++";
1599 | CLANG_ENABLE_MODULES = YES;
1600 | CLANG_ENABLE_OBJC_ARC = YES;
1601 | CLANG_ENABLE_OBJC_WEAK = YES;
1602 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1603 | CLANG_WARN_BOOL_CONVERSION = YES;
1604 | CLANG_WARN_COMMA = YES;
1605 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1606 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1607 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1608 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1609 | CLANG_WARN_EMPTY_BODY = YES;
1610 | CLANG_WARN_ENUM_CONVERSION = YES;
1611 | CLANG_WARN_INFINITE_RECURSION = YES;
1612 | CLANG_WARN_INT_CONVERSION = YES;
1613 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1614 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1615 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1616 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1617 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1618 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1619 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1620 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
1621 | CLANG_WARN_UNREACHABLE_CODE = YES;
1622 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1623 | CODE_SIGN_STYLE = Automatic;
1624 | COPY_PHASE_STRIP = NO;
1625 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1626 | ENABLE_NS_ASSERTIONS = NO;
1627 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1628 | GCC_C_LANGUAGE_STANDARD = gnu11;
1629 | GCC_NO_COMMON_BLOCKS = YES;
1630 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1631 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1632 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1633 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1634 | GCC_WARN_UNUSED_FUNCTION = YES;
1635 | GCC_WARN_UNUSED_VARIABLE = YES;
1636 | INFOPLIST_FILE = "KoinSwift tvOS Tests/Info.plist";
1637 | LD_RUNPATH_SEARCH_PATHS = (
1638 | "$(inherited)",
1639 | "@executable_path/Frameworks",
1640 | "@loader_path/Frameworks",
1641 | );
1642 | MTL_ENABLE_DEBUG_INFO = NO;
1643 | MTL_FAST_MATH = YES;
1644 | PRODUCT_BUNDLE_IDENTIFIER = "io.insertkoin.ios.KoinSwift-tvOSTests";
1645 | PRODUCT_NAME = "$(TARGET_NAME)";
1646 | SDKROOT = appletvos;
1647 | SWIFT_COMPILATION_MODE = wholemodule;
1648 | SWIFT_OPTIMIZATION_LEVEL = "-O";
1649 | SWIFT_VERSION = 4.2;
1650 | TARGETED_DEVICE_FAMILY = 3;
1651 | TVOS_DEPLOYMENT_TARGET = 12.1;
1652 | VALIDATE_PRODUCT = YES;
1653 | };
1654 | name = Release;
1655 | };
1656 | /* End XCBuildConfiguration section */
1657 |
1658 | /* Begin XCConfigurationList section */
1659 | A3D0F18222784E9000DB6073 /* Build configuration list for PBXProject "KoinSwift" */ = {
1660 | isa = XCConfigurationList;
1661 | buildConfigurations = (
1662 | A3D0F18322784E9000DB6073 /* Debug */,
1663 | A3D0F18422784E9000DB6073 /* Release */,
1664 | );
1665 | defaultConfigurationIsVisible = 0;
1666 | defaultConfigurationName = Release;
1667 | };
1668 | A3D0F19C22784EE500DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift iOS" */ = {
1669 | isa = XCConfigurationList;
1670 | buildConfigurations = (
1671 | A3D0F19D22784EE500DB6073 /* Debug */,
1672 | A3D0F19E22784EE500DB6073 /* Release */,
1673 | );
1674 | defaultConfigurationIsVisible = 0;
1675 | defaultConfigurationName = Release;
1676 | };
1677 | A3D0F19F22784EE500DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift iOS Tests" */ = {
1678 | isa = XCConfigurationList;
1679 | buildConfigurations = (
1680 | A3D0F1A022784EE500DB6073 /* Debug */,
1681 | A3D0F1A122784EE500DB6073 /* Release */,
1682 | );
1683 | defaultConfigurationIsVisible = 0;
1684 | defaultConfigurationName = Release;
1685 | };
1686 | A3D0F1B822784F0400DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift macOS" */ = {
1687 | isa = XCConfigurationList;
1688 | buildConfigurations = (
1689 | A3D0F1B922784F0400DB6073 /* Debug */,
1690 | A3D0F1BA22784F0400DB6073 /* Release */,
1691 | );
1692 | defaultConfigurationIsVisible = 0;
1693 | defaultConfigurationName = Release;
1694 | };
1695 | A3D0F1BB22784F0400DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift macOS Tests" */ = {
1696 | isa = XCConfigurationList;
1697 | buildConfigurations = (
1698 | A3D0F1BC22784F0400DB6073 /* Debug */,
1699 | A3D0F1BD22784F0400DB6073 /* Release */,
1700 | );
1701 | defaultConfigurationIsVisible = 0;
1702 | defaultConfigurationName = Release;
1703 | };
1704 | A3D0F24222786FA300DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift tvOS" */ = {
1705 | isa = XCConfigurationList;
1706 | buildConfigurations = (
1707 | A3D0F24322786FA300DB6073 /* Debug */,
1708 | A3D0F24422786FA300DB6073 /* Release */,
1709 | );
1710 | defaultConfigurationIsVisible = 0;
1711 | defaultConfigurationName = Release;
1712 | };
1713 | A3D0F24522786FA300DB6073 /* Build configuration list for PBXNativeTarget "KoinSwift tvOS Tests" */ = {
1714 | isa = XCConfigurationList;
1715 | buildConfigurations = (
1716 | A3D0F24622786FA300DB6073 /* Debug */,
1717 | A3D0F24722786FA300DB6073 /* Release */,
1718 | );
1719 | defaultConfigurationIsVisible = 0;
1720 | defaultConfigurationName = Release;
1721 | };
1722 | /* End XCConfigurationList section */
1723 | };
1724 | rootObject = A3D0F17F22784E9000DB6073 /* Project object */;
1725 | }
1726 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift.xcodeproj/xcshareddata/xcschemes/KoinSwift iOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
65 |
71 |
72 |
73 |
74 |
75 |
76 |
82 |
83 |
89 |
90 |
91 |
92 |
94 |
95 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift.xcodeproj/xcshareddata/xcschemes/KoinSwift macOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
65 |
71 |
72 |
73 |
74 |
75 |
76 |
82 |
83 |
89 |
90 |
91 |
92 |
94 |
95 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift.xcodeproj/xcshareddata/xcschemes/KoinSwift tvOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
65 |
71 |
72 |
73 |
74 |
75 |
76 |
82 |
83 |
89 |
90 |
91 |
92 |
94 |
95 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Context/GlobalContext.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GlobalContext.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien (i-BP - INFOTEL) on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public class GlobalContext {
12 | static let shared: GlobalContext = GlobalContext()
13 | func start(koin: Koin) throws {
14 | guard app == nil else {
15 | throw KoinErrors.alreadyInitialized
16 | }
17 | app = koin
18 | }
19 | func stop() throws {
20 | throw KoinErrors.notImplementedYet
21 | }
22 | var app: Koin?
23 | private init() {}
24 | }
25 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Definition/BeanDefinition.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BeanDefinition.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class BeanDefinition : Hashable {
12 | let definition: Definition
13 | let qualifier: Qualifier?
14 | let kind: Kind
15 | private var instance: T?
16 | init(definition: @escaping Definition, qualifier: Qualifier? = nil, kind: Kind = .single) {
17 | self.definition = definition
18 | self.qualifier = qualifier
19 | self.kind = kind
20 | }
21 | func resolveInstance(koin: KoinInjectable) throws -> T {
22 | switch kind {
23 | case .factory: return try definition(koin)
24 | case .single: return try single(koin: koin)
25 | }
26 | }
27 | func single(koin: KoinInjectable) throws -> T {
28 | if let instance = instance {
29 | return instance
30 | } else {
31 | let value = try definition(koin)
32 | instance = value
33 | return value
34 | }
35 | }
36 | public func hash(into hasher: inout Hasher) {
37 | hasher.combine("\(T.self)")
38 | hasher.combine(qualifier)
39 | }
40 | public static func == (lhs: BeanDefinition, rhs: BeanDefinition) -> Bool {
41 | return "\(T.self)-\(lhs.qualifier ?? "##NoQualifier##")" == "\(R.self)-\(rhs.qualifier ?? "##NoQualifier##")"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Definition/Definition.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Definition.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public typealias Definition = (KoinInjectable) throws -> T
12 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Definition/DefinitionFactory.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DefinitionFactory.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | func createSingleton(qualifier: String?, definition: @escaping Definition) -> BeanDefinition {
12 | return createDefinition(qualifier: qualifier, definition: definition, kind: Kind.single)
13 | }
14 |
15 | func createFactory(qualifier: String?, definition: @escaping Definition) -> BeanDefinition {
16 | return createDefinition(qualifier: qualifier, definition: definition, kind: Kind.factory)
17 | }
18 |
19 | private func createDefinition(
20 | qualifier: String?,
21 | definition: @escaping Definition,
22 | kind: Kind = Kind.single
23 | ) -> BeanDefinition {
24 | let beanDefinition: BeanDefinition = BeanDefinition(definition: definition, qualifier: qualifier, kind: kind)
25 | return beanDefinition
26 | }
27 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Definition/Kind.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Kind.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Kind {
12 | case single
13 | case factory
14 | }
15 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Error/KoinErrors.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Errors.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public enum KoinErrors: Error {
12 | case notImplementedYet
13 | case definitionNotFound
14 | case alreadyDefined
15 | case alreadyInitialized
16 | case notInitialized
17 | }
18 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Koin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // File.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Koin: KoinInjectable {
12 | let beanRegistry = BeanRegistry()
13 | func get() throws -> T {
14 | let definition: BeanDefinition = try beanRegistry.retrieveDefinition()
15 | return try definition.resolveInstance(koin: self)
16 | }
17 | func get(withQualifier: Qualifier? = nil) throws -> T {
18 | let definition: BeanDefinition = try beanRegistry.retrieveDefinition(withQualifier: withQualifier)
19 | return try definition.resolveInstance(koin: self)
20 | }
21 | func insert(definition: AnyHashable) throws {
22 | try beanRegistry.insertDefinition(definition: definition)
23 | }
24 | func apply(with config: KoinConfig) throws {
25 | try config.modules.forEach { module in
26 | try module.definitions.forEach { definition in
27 | try insert(definition: definition)
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/KoinInjectable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KoinInjectable.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 22/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol KoinInjectable {}
12 |
13 | public extension KoinInjectable {
14 | func get(withQualifier: Qualifier? = nil) throws -> T {
15 | guard let koin = GlobalContext.shared.app else {
16 | throw KoinErrors.notInitialized
17 | }
18 | return try koin.get(withQualifier: withQualifier)
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Module/Module.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Module.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public class Module {
12 | var definitions: [AnyHashable] = []
13 | }
14 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Module/ModuleDeclaration.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ModuleDeclaration.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public typealias ModuleDeclaration = (Module) -> Void
12 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Qualifier/Qualifier.swift:
--------------------------------------------------------------------------------
1 | //
2 | // File.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public typealias Qualifier = String
12 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Core/Registry/BeanRegistry.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BeanRegistry.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class BeanRegistry {
12 | var definitions: Set = []
13 | func insertDefinition(definition: AnyHashable) throws {
14 | let (state, _) = definitions.insert(definition)
15 | guard state else {
16 | throw KoinErrors.alreadyDefined
17 | }
18 | }
19 | func retrieveDefinition(withQualifier: Qualifier? = nil) throws -> BeanDefinition {
20 | let base = definitions
21 | .map { $0.base }
22 | .first { (base) -> Bool in
23 | guard let definition = base as? BeanDefinition else {
24 | return false
25 | }
26 | return withQualifier == nil || definition.qualifier == withQualifier
27 | }
28 | guard let definition = base as? BeanDefinition else {
29 | throw KoinErrors.definitionNotFound
30 | }
31 | return definition
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Dsl/Dsl.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Dsl.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 12/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public func module(_ closure: ModuleDeclaration) -> Module {
12 | let module = Module()
13 | closure(module)
14 | return module
15 | }
16 |
17 | public func registerKoinModule(_ modules: Module...) throws {
18 | try modules.forEach({ module throws in
19 | try module.definitions.forEach({ definition throws in
20 | guard let koin = GlobalContext.shared.app else {
21 | throw KoinErrors.notInitialized
22 | }
23 | try koin.insert(definition: definition)
24 | })
25 | })
26 | }
27 |
28 | public func inject(withQualifier: Qualifier? = nil) throws -> T {
29 | guard let koin = GlobalContext.shared.app else {
30 | throw KoinErrors.notInitialized
31 | }
32 | return try koin.get(withQualifier: withQualifier)
33 | }
34 |
35 | public func startKoin(_ configure: (KoinConfig) -> Void) throws {
36 | let koin = Koin()
37 | let koinConfig = KoinConfig()
38 | configure(koinConfig)
39 | try koin.apply(with: koinConfig)
40 | try GlobalContext.shared.start(koin: koin)
41 | }
42 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Dsl/KoinConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KoinConfig.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public class KoinConfig {
12 | var modules = [Module]()
13 | public func modules(_ modules: Module...) {
14 | self.modules += modules
15 | }
16 | init() {}
17 | }
18 |
--------------------------------------------------------------------------------
/KoinSwift/KoinSwift/Dsl/ModuleExt.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ModuleExt.swift
3 | // KoinSwift
4 | //
5 | // Created by DE NADAI Julien (i-BP - INFOTEL) on 30/04/2019.
6 | // Copyright © 2019 insertkoin.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public extension Module {
12 | func factory(qualifier: String? = nil, _ definition: @escaping Definition) {
13 | let beanDefinition = createFactory(qualifier: qualifier, definition: definition)
14 | definitions.append(AnyHashable(beanDefinition))
15 | }
16 | func single(qualifier: String? = nil, _ definition: @escaping Definition) {
17 | let beanDefinition = createSingleton(qualifier: qualifier, definition: definition)
18 | definitions.append(AnyHashable(beanDefinition))
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/KoinThermosiphon.playground/Contents.swift:
--------------------------------------------------------------------------------
1 | import KoinSwift
2 |
3 | protocol Pump {
4 | func pump()
5 | }
6 |
7 | protocol Heater {
8 | func on()
9 | func off()
10 | func isHot() -> Bool
11 | }
12 |
13 | protocol CoffeeMaker {
14 | func brew()
15 | }
16 |
17 | class ElectricHeater : Heater {
18 |
19 | private var heating: Bool = false
20 |
21 | func on() {
22 | print("~ ~ ~ heating ~ ~ ~")
23 | heating = true
24 | }
25 |
26 | func off() {
27 | heating = false
28 | }
29 |
30 | func isHot() -> Bool {
31 | return heating
32 | }
33 |
34 | }
35 |
36 | struct Thermosiphon : Pump {
37 | let heater : Heater
38 |
39 | func pump() {
40 | if (heater.isHot()) {
41 | print("=> => pumping => =>")
42 | }
43 | }
44 | }
45 |
46 | struct StandardCoffeeMaker : CoffeeMaker {
47 |
48 | let heater : Heater
49 | let pump : Pump
50 |
51 | func brew() {
52 | heater.on()
53 | pump.pump()
54 | print(" [_]P coffee! [_]P")
55 | heater.off()
56 | }
57 | }
58 |
59 | struct CoffeeShop {
60 | let maker: CoffeeMaker = try! inject()
61 | }
62 |
63 | let coffeModule = module {
64 | $0.single { _ -> Heater in
65 | return ElectricHeater()
66 | }
67 | $0.single { i -> Pump in
68 | return Thermosiphon(heater: try i.get())
69 | }
70 | $0.single { i -> CoffeeMaker in
71 | return StandardCoffeeMaker(heater: try i.get(), pump: try i.get())
72 | }
73 | }
74 |
75 | try! startKoin {
76 | $0.modules(coffeModule)
77 | }
78 |
79 | let coffeeShop = CoffeeShop()
80 |
81 | coffeeShop.maker.brew()
82 |
--------------------------------------------------------------------------------
/KoinThermosiphon.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/KoinThermosiphon.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/KoinThermosiphon.playground/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Koin-Swift
2 |
--------------------------------------------------------------------------------