From e4233cdd0d313b22ab9119ac8b8730134069deb9 Mon Sep 17 00:00:00 2001 From: Jens Nerup Date: Tue, 5 Jan 2021 19:29:22 +0100 Subject: [PATCH] Add Swift Package Manager support to ConfigCat SDK for the Apple platforms (#11) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial support for Swift Package Manager * Consolidate all targets into two targets * Restore ConfigCat Coverage scheme * Update ConfigCat.podspec Updated the source_files property in the podspec to match the location of the source code. * Update Travis configuration Updated the Travis configuration to use the shared ConfigCat scheme * Remove processing of resources from Package.swift * Change version to a constant Changed the version to be a constant as infoDictionary?["CFBundleShortVersionString"] isn’t available when working with the Swift Package Manager as of Swift 5.3. Additionally updated the deployment documentation. * Run tests in parallel and random order Improve the tests by running them in parallel and random order. * Bump version Bumped the version to 7.2.0 to match the description in the README.md. * Update TravisCI macOS image Updated the TravisCI macOS image to use Xcode 12.2. Updated all xcodebuild accordingly to support the change of Xcode. * Fix cmdline compile failure Fixed cmdline compilation due to missing dependecy from test target to framework target. --- .travis.yml | 18 +- Assets/Info-macOS.plist | 24 - Assets/Info-tvOS.plist | 24 - Assets/Info-watchOS.plist | 24 - ConfigCat.podspec | 4 +- ConfigCat.xcconfig | 47 + ConfigCat.xcodeproj/project.pbxproj | 1753 +++-------------- .../xcschemes/ConfigCat Coverage.xcscheme | 64 +- .../xcschemes/ConfigCat iOS.xcscheme | 115 -- .../xcschemes/ConfigCat macOS.xcscheme | 95 - .../xcschemes/ConfigCat tvOS.xcscheme | 99 - ...at watchOS.xcscheme => ConfigCat.xcscheme} | 35 +- DEPLOY.md | 2 +- Package.swift | 42 + README.md | 14 + Sources/{ => ConfigCat}/AsyncResult.swift | 0 .../{ => ConfigCat}/AutoPollingPolicy.swift | 0 Sources/{ => ConfigCat}/Config.swift | 0 Sources/{ => ConfigCat}/ConfigCache.swift | 0 Sources/{ => ConfigCat}/ConfigCatClient.swift | 0 .../ConfigCatClientProtocol.swift | 0 Sources/{ => ConfigCat}/ConfigCatUser.swift | 0 Sources/{ => ConfigCat}/ConfigFetcher.swift | 2 +- Sources/{ => ConfigCat}/ConfigParser.swift | 0 Sources/{ => ConfigCat}/KeyValue.swift | 0 .../{ => ConfigCat}/LazyLoadingPolicy.swift | 0 Sources/{ => ConfigCat}/Log.swift | 0 .../{ => ConfigCat}/ManualPollingPolicy.swift | 0 Sources/{ => ConfigCat}/PollingMode.swift | 0 Sources/{ => ConfigCat}/PollingModes.swift | 0 Sources/{ => ConfigCat}/RefreshPolicy.swift | 0 .../ConfigCat/Resources}/ConfigCat.h | 0 .../ConfigCat/Resources/Info.plist | 2 +- .../{ => ConfigCat}/RolloutEvaluator.swift | 4 + Sources/{ => ConfigCat}/Synced.swift | 0 {Version => Sources/Version}/LICENSE | 0 .../Version}/Version+Codable.swift | 0 .../Version}/Version+Comparable.swift | 0 .../Version}/Version+Foundation.swift | 0 .../Version}/Version+Range.swift | 0 {Version => Sources/Version}/Version.swift | 0 {Version => Sources/Version}/version.txt | 0 .../AutoPollingTests.swift | 2 +- .../ConfigCatClientTests.swift | 2 +- .../ConfigFetcherTests.swift | 2 +- .../DataGovernanceTests.swift | 2 +- .../LazyLoadingAsyncTests.swift | 2 +- .../LazyLoadingSyncTests.swift | 2 +- .../ManualPollingTests.swift | 2 +- Tests/{ => ConfigCatTests}/Mock.swift | 2 +- .../Resources/Info.plist} | 0 .../Resources}/testmatrix.csv | 0 .../Resources}/testmatrix_number.csv | 0 .../Resources}/testmatrix_semantic.csv | 0 .../Resources}/testmatrix_semantic_2.csv | 0 .../Resources}/testmatrix_sensitive.csv | 0 .../Resources}/testmatrix_variationId.csv | 0 .../RolloutIntegrationTests.swift | 8 +- .../VariationIdTests.swift | 2 +- Tests/Info-macOS.plist | 22 - Tests/Info-tvOS.plist | 22 - 61 files changed, 385 insertions(+), 2053 deletions(-) delete mode 100755 Assets/Info-macOS.plist delete mode 100755 Assets/Info-tvOS.plist delete mode 100755 Assets/Info-watchOS.plist create mode 100644 ConfigCat.xcconfig delete mode 100644 ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat iOS.xcscheme delete mode 100644 ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat macOS.xcscheme delete mode 100644 ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat tvOS.xcscheme rename ConfigCat.xcodeproj/xcshareddata/xcschemes/{ConfigCat watchOS.xcscheme => ConfigCat.xcscheme} (73%) create mode 100644 Package.swift rename Sources/{ => ConfigCat}/AsyncResult.swift (100%) rename Sources/{ => ConfigCat}/AutoPollingPolicy.swift (100%) rename Sources/{ => ConfigCat}/Config.swift (100%) rename Sources/{ => ConfigCat}/ConfigCache.swift (100%) rename Sources/{ => ConfigCat}/ConfigCatClient.swift (100%) rename Sources/{ => ConfigCat}/ConfigCatClientProtocol.swift (100%) rename Sources/{ => ConfigCat}/ConfigCatUser.swift (100%) rename Sources/{ => ConfigCat}/ConfigFetcher.swift (98%) rename Sources/{ => ConfigCat}/ConfigParser.swift (100%) rename Sources/{ => ConfigCat}/KeyValue.swift (100%) rename Sources/{ => ConfigCat}/LazyLoadingPolicy.swift (100%) rename Sources/{ => ConfigCat}/Log.swift (100%) rename Sources/{ => ConfigCat}/ManualPollingPolicy.swift (100%) rename Sources/{ => ConfigCat}/PollingMode.swift (100%) rename Sources/{ => ConfigCat}/PollingModes.swift (100%) rename Sources/{ => ConfigCat}/RefreshPolicy.swift (100%) rename {Assets => Sources/ConfigCat/Resources}/ConfigCat.h (100%) rename Assets/Info-iOS.plist => Sources/ConfigCat/Resources/Info.plist (95%) rename Sources/{ => ConfigCat}/RolloutEvaluator.swift (99%) rename Sources/{ => ConfigCat}/Synced.swift (100%) rename {Version => Sources/Version}/LICENSE (100%) rename {Version => Sources/Version}/Version+Codable.swift (100%) rename {Version => Sources/Version}/Version+Comparable.swift (100%) rename {Version => Sources/Version}/Version+Foundation.swift (100%) rename {Version => Sources/Version}/Version+Range.swift (100%) rename {Version => Sources/Version}/Version.swift (100%) rename {Version => Sources/Version}/version.txt (100%) rename Tests/{ => ConfigCatTests}/AutoPollingTests.swift (99%) rename Tests/{ => ConfigCatTests}/ConfigCatClientTests.swift (99%) rename Tests/{ => ConfigCatTests}/ConfigFetcherTests.swift (98%) rename Tests/{ => ConfigCatTests}/DataGovernanceTests.swift (99%) rename Tests/{ => ConfigCatTests}/LazyLoadingAsyncTests.swift (98%) rename Tests/{ => ConfigCatTests}/LazyLoadingSyncTests.swift (99%) rename Tests/{ => ConfigCatTests}/ManualPollingTests.swift (98%) rename Tests/{ => ConfigCatTests}/Mock.swift (98%) rename Tests/{Info-iOS.plist => ConfigCatTests/Resources/Info.plist} (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix.csv (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix_number.csv (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix_semantic.csv (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix_semantic_2.csv (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix_sensitive.csv (100%) rename Tests/{ => ConfigCatTests/Resources}/testmatrix_variationId.csv (100%) rename Tests/{ => ConfigCatTests}/RolloutIntegrationTests.swift (97%) rename Tests/{ => ConfigCatTests}/VariationIdTests.swift (99%) delete mode 100755 Tests/Info-macOS.plist delete mode 100755 Tests/Info-tvOS.plist diff --git a/.travis.yml b/.travis.yml index 568020e..03bf029 100755 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -osx_image: xcode10 +osx_image: xcode12.2 stages: - test @@ -19,20 +19,20 @@ jobs: - stage: test script: - set -o pipefail - - xcodebuild build-for-testing -sdk iphonesimulator12.0 -project ConfigCat.xcodeproj -scheme "ConfigCat iOS" -destination "OS=12.0,name=iPhone 8" CODE_SIGNING_REQUIRED=NO -quiet - - travis_retry xcodebuild test-without-building -sdk iphonesimulator12.0 -project ConfigCat.xcodeproj -scheme "ConfigCat iOS" -destination "OS=12.0,name=iPhone 8" CODE_SIGNING_REQUIRED=NO -quiet + - xcodebuild build-for-testing -sdk iphonesimulator14.2 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "OS=14.2,name=iPhone 8" CODE_SIGNING_REQUIRED=NO -quiet + - travis_retry xcodebuild test-without-building -sdk iphonesimulator14.2 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "OS=14.2,name=iPhone 8" CODE_SIGNING_REQUIRED=NO -quiet - - xcodebuild build-for-testing -sdk appletvsimulator12.0 -project ConfigCat.xcodeproj -scheme "ConfigCat tvOS" -destination "OS=12.0,name=Apple TV 4K (at 1080p)" CODE_SIGNING_REQUIRED=NO -quiet - - travis_retry xcodebuild test-without-building -sdk appletvsimulator12.0 -project ConfigCat.xcodeproj -scheme "ConfigCat tvOS" -destination "OS=12.0,name=Apple TV 4K (at 1080p)" CODE_SIGNING_REQUIRED=NO -quiet + - xcodebuild build-for-testing -sdk appletvsimulator14.2 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "OS=14.2,name=Apple TV 4K (at 1080p)" CODE_SIGNING_REQUIRED=NO -quiet + - travis_retry xcodebuild test-without-building -sdk appletvsimulator14.2 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "OS=14.2,name=Apple TV 4K (at 1080p)" CODE_SIGNING_REQUIRED=NO -quiet - - xcodebuild build-for-testing -sdk macosx10.14 -project ConfigCat.xcodeproj -scheme "ConfigCat macOS" -destination "arch=x86_64" -quiet - - travis_retry xcodebuild test-without-building -sdk macosx10.14 -project ConfigCat.xcodeproj -scheme "ConfigCat macOS" -destination "arch=x86_64" -quiet + - xcodebuild build-for-testing -sdk macosx11.0 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "arch=x86_64" -quiet + - travis_retry xcodebuild test-without-building -sdk macosx11.0 -project ConfigCat.xcodeproj -scheme "ConfigCat" -destination "arch=x86_64" -quiet - stage: coverage script: - set -o pipefail - - xcodebuild build-for-testing -sdk macosx10.14 -project ConfigCat.xcodeproj -scheme "ConfigCat Coverage" -destination "arch=x86_64" -quiet - - xcodebuild test-without-building -sdk macosx10.14 -project ConfigCat.xcodeproj -scheme "ConfigCat Coverage" -destination "arch=x86_64" -quiet + - xcodebuild build-for-testing -sdk macosx11.0 -project ConfigCat.xcodeproj -scheme "ConfigCat Coverage" -destination "arch=x86_64" -quiet + - xcodebuild test-without-building -sdk macosx11.0 -project ConfigCat.xcodeproj -scheme "ConfigCat Coverage" -destination "arch=x86_64" -quiet - slather - bash <(curl -s https://codecov.io/bash) -f ./cobertura.xml diff --git a/Assets/Info-macOS.plist b/Assets/Info-macOS.plist deleted file mode 100755 index 1007fd9..0000000 --- a/Assets/Info-macOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Assets/Info-tvOS.plist b/Assets/Info-tvOS.plist deleted file mode 100755 index 1007fd9..0000000 --- a/Assets/Info-tvOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Assets/Info-watchOS.plist b/Assets/Info-watchOS.plist deleted file mode 100755 index 1007fd9..0000000 --- a/Assets/Info-watchOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/ConfigCat.podspec b/ConfigCat.podspec index afbe51a..3205d79 100755 --- a/ConfigCat.podspec +++ b/ConfigCat.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |spec| spec.name = "ConfigCat" - spec.version = "7.1.0" + spec.version = "7.2.0" spec.summary = "ConfigCat Swift SDK" spec.swift_version = "4.2" @@ -16,7 +16,7 @@ Pod::Spec.new do |spec| spec.osx.deployment_target = '10.12' spec.source = { :git => "https://github.com/configcat/swift-sdk.git", :tag => spec.version } - spec.source_files = "Sources/*.swift", "Version/*.swift" + spec.source_files = "Sources/ConfigCat/*.swift", "Sources/Version/*.swift" spec.requires_arc = true spec.module_name = "ConfigCat" spec.documentation_url = "https://configcat.com/docs/sdk-reference/ios" diff --git a/ConfigCat.xcconfig b/ConfigCat.xcconfig new file mode 100644 index 0000000..0b9137b --- /dev/null +++ b/ConfigCat.xcconfig @@ -0,0 +1,47 @@ +// Targeted Device Families +// +// The build system uses the selected device to set the correct value for the +// `UIDeviceFamily` key it adds to the target's `Info.plist` file. This also drives the +// --target-device flag to actool, which determines the idioms selected during catalog +// compilation. +TARGETED_DEVICE_FAMILY = 1,2,3,4 + +IPHONEOS_DEPLOYMENT_TARGET = 10.0 +MACOSX_DEPLOYMENT_TARGET = 10.12 +TVOS_DEPLOYMENT_TARGET = 10.0 +WATCHOS_DEPLOYMENT_TARGET = 3.0 + +// Product Bundle Identifier +// +// A string that uniquely identifies the bundle. The string should be in reverse DNS +// format using only alphanumeric characters (`A-Z`, `a-z`, `0-9`), the dot (`.`), and +// the hyphen (`-`). This value is used as the `CFBundleIdentifier` in the `Info.plist` +// of the built bundle. +PRODUCT_BUNDLE_IDENTIFIER[sdk=appletvos*] = com.configcat.tvOS.client +PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*] = com.configcat.iOS.client +PRODUCT_BUNDLE_IDENTIFIER[sdk=macosx*] = com.configcat.macOS.client +PRODUCT_BUNDLE_IDENTIFIER[sdk=watchos*] = com.configcat.watchOS.client + +// Base SDK +// +// The name or path of the base SDK being used during the build. The product will be +// built against the headers and libraries located inside the indicated SDK. This path +// will be prepended to all search paths, and will be passed through the environment to +// the compiler and linker. Additional SDKs can be specified in the `ADDITIONAL_SDKS` +// setting. +SDKROOT[sdk=macosx*] = macosx +SDKROOT[sdk=iphoneos*] = iphoneos +SDKROOT[sdk=watchos*] = watchos +SDKROOT[sdk=appletvos*] = appletvos + +// Supported Platforms +// +// The list of supported platforms from which a base SDK can be used. This setting is +// used if the product can be built for multiple platforms using different SDKs. +SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator appletvos appletvsimulator + +// Swift Language Version +SWIFT_VERSION = 4.2 + +// ConfigCat SDK version +MARKETING_VERSION = 7.2.0 diff --git a/ConfigCat.xcodeproj/project.pbxproj b/ConfigCat.xcodeproj/project.pbxproj index 9e54016..5b2f4b2 100755 --- a/ConfigCat.xcodeproj/project.pbxproj +++ b/ConfigCat.xcodeproj/project.pbxproj @@ -7,280 +7,100 @@ objects = { /* Begin PBXBuildFile section */ - 1A3B096723909055002A3A62 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 1A3B096823909056002A3A62 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 1A3B096923909056002A3A62 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 1A3B096A23909056002A3A62 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 1A65477F23A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */; }; - 1A65478023A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */; }; - 1A65478123A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */; }; - 1A65478623A511E300EA53B8 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 1A65478723A511E300EA53B8 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 1A65478823A511E300EA53B8 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 1A65478923A511E300EA53B8 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 1A65478A23A511E300EA53B8 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 1A65478B23A511E300EA53B8 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 1A65478C23A511E300EA53B8 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 1A65478D23A511E300EA53B8 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 1A65478E23A511E300EA53B8 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 1A65478F23A511E300EA53B8 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 1A65479023A511E300EA53B8 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 1A65479123A511E300EA53B8 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 1A65479223A511E300EA53B8 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 1A65479323A511E300EA53B8 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 1A65479423A511E300EA53B8 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 1A65479523A511E300EA53B8 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 1A92102324030C7F0059B111 /* testmatrix_sensitive.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */; }; - 1A92102424030C7F0059B111 /* testmatrix_sensitive.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */; }; - 1A92102524030C7F0059B111 /* testmatrix_sensitive.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */; }; - 1AEDBE8323876064008803E7 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 1AEDBE8423876064008803E7 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 1AEDBE8523876064008803E7 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 1AEDBE8623876064008803E7 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 1AEDBE9B238761BA008803E7 /* testmatrix_semantic.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */; }; - 1AEDBE9D238761BA008803E7 /* testmatrix_semantic.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */; }; - 1AEDBE9F238761BA008803E7 /* testmatrix_semantic.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */; }; - 1AEDBEA2238761BA008803E7 /* testmatrix_number.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */; }; - 1AEDBEA4238761BA008803E7 /* testmatrix_number.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */; }; - 1AEDBEA6238761BA008803E7 /* testmatrix_number.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */; }; - 3F1F2C6123E103C600AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C6223E103C600AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C6323E103C600AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C6423E103C600AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C6623E10BF300AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2C6723E10BF300AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2C6823E10BF300AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2C6923E10BF300AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2C6A23E1187800AFA7D2 /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F1F2C6B23E1187900AFA7D2 /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F1F2C6C23E1187B00AFA7D2 /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F1F2C7023E1192400AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C7123E1192500AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C7223E1192600AFA7D2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; - 3F1F2C7323E1197B00AFA7D2 /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F1F2C7423E1197C00AFA7D2 /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F1F2C7523E1197C00AFA7D2 /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F1F2C7623E119B200AFA7D2 /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F1F2C7723E119B300AFA7D2 /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F1F2C7823E119B300AFA7D2 /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F1F2C7C23E1218500AFA7D2 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 3F1F2C7D23E1218500AFA7D2 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F1F2C7E23E1218500AFA7D2 /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F1F2C7F23E1218500AFA7D2 /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F1F2C8023E1218500AFA7D2 /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F1F2C8123E1218500AFA7D2 /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F1F2C8223E1218500AFA7D2 /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F1F2C8423E1218500AFA7D2 /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - 3F1F2C8523E1218500AFA7D2 /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - 3F1F2C8623E1218600AFA7D2 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 3F1F2C8723E1218600AFA7D2 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F1F2C8823E1218600AFA7D2 /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F1F2C8923E1218600AFA7D2 /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F1F2C8A23E1218600AFA7D2 /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F1F2C8B23E1218600AFA7D2 /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F1F2C8C23E1218600AFA7D2 /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F1F2C8E23E1218600AFA7D2 /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - 3F1F2C8F23E1218600AFA7D2 /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - 3F1F2C9023E1218700AFA7D2 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; - 3F1F2C9123E1218700AFA7D2 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F1F2C9223E1218700AFA7D2 /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F1F2C9323E1218700AFA7D2 /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F1F2C9423E1218700AFA7D2 /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F1F2C9523E1218700AFA7D2 /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F1F2C9623E1218700AFA7D2 /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F1F2C9823E1218700AFA7D2 /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - 3F1F2C9923E1218700AFA7D2 /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - 3F1F2C9A23E1227E00AFA7D2 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 3F1F2C9B23E1227E00AFA7D2 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 3F1F2C9C23E1227E00AFA7D2 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 3F1F2C9D23E1227E00AFA7D2 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 3F1F2C9E23E1227E00AFA7D2 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 3F1F2C9F23E1227E00AFA7D2 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 3F1F2CA023E1227E00AFA7D2 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 3F1F2CA123E1227E00AFA7D2 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 3F1F2CA223E1227E00AFA7D2 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 3F1F2CA323E1227E00AFA7D2 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 3F1F2CA423E1227F00AFA7D2 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; - 3F1F2CA523E1227F00AFA7D2 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; - 3F1F2CA623E1227F00AFA7D2 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; - 3F1F2CA723E1227F00AFA7D2 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; - 3F1F2CA823E1227F00AFA7D2 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; - 3F1F2CA923E1290E00AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2CAA23E1290F00AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2CAB23E1291000AFA7D2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; - 3F1F2CAC23E1291400AFA7D2 /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F1F2CAD23E1291500AFA7D2 /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F1F2CAE23E1291600AFA7D2 /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F1F2CAF23E1291900AFA7D2 /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F1F2CB023E1291A00AFA7D2 /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F1F2CB123E1291A00AFA7D2 /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F36F5392083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */; }; - 3F36F53A2083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */; }; - 3F36F53B2083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */; }; - 3F36F53D2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F53C2083DA3600949B8F /* LazyLoadingAsyncTests.swift */; }; - 3F36F53E2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F53C2083DA3600949B8F /* LazyLoadingAsyncTests.swift */; }; - 3F36F53F2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F53C2083DA3600949B8F /* LazyLoadingAsyncTests.swift */; }; - 3F4D40C5207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */; }; - 3F4D40C6207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */; }; - 3F4D40C7207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */; }; - 3F4D40C8207EC20400BBAEC6 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F029E89207EB3BD0019942F /* Mock.swift */; }; - 3F4D40C9207EC20500BBAEC6 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F029E89207EB3BD0019942F /* Mock.swift */; }; - 3F4D40CA207EC20500BBAEC6 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F029E89207EB3BD0019942F /* Mock.swift */; }; - 3F880A33207BE8F000087A6B /* ConfigCat.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F880A2A207BE8F000087A6B /* ConfigCat.framework */; }; - 3F880A3A207BE8F000087A6B /* ConfigCat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F880A2C207BE8F000087A6B /* ConfigCat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F880A52207BECB100087A6B /* ConfigCat.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F880A49207BECB100087A6B /* ConfigCat.framework */; }; - 3F880A61207BED8200087A6B /* ConfigCat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F880A2C207BE8F000087A6B /* ConfigCat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F880A7D207BEEEB00087A6B /* ConfigCat.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F880A74207BEEEB00087A6B /* ConfigCat.framework */; }; - 3F880A8C207BEF7300087A6B /* ConfigCat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F880A2C207BE8F000087A6B /* ConfigCat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F880A9A207BF09400087A6B /* ConfigCat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F880A2C207BE8F000087A6B /* ConfigCat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F880AA3207BF1B100087A6B /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F880AA4207BF1B100087A6B /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F880AA5207BF1B100087A6B /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F880AA6207BF1B100087A6B /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F880AA7207BF1B100087A6B /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F880AA8207BF1B100087A6B /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F880AA9207BF1B100087A6B /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F880AAA207BF1B100087A6B /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F880AAB207BF2A100087A6B /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F880AAC207BF2A100087A6B /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F880AAD207BF2A100087A6B /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F880AAE207BF2A100087A6B /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F880AAF207BF2A100087A6B /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F880AB0207BF2A100087A6B /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F880AB1207BF2A100087A6B /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F880AB2207BF2A100087A6B /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F880AB3207BF2A200087A6B /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F880AB4207BF2A200087A6B /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F880AB5207BF2A200087A6B /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F880AB6207BF2A200087A6B /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F880AB7207BF2A200087A6B /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F880AB8207BF2A200087A6B /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F880AB9207BF2A200087A6B /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F880ABA207BF2A200087A6B /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F880ABB207BF2A300087A6B /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; - 3F880ABC207BF2A300087A6B /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; - 3F880ABD207BF2A300087A6B /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; - 3F880ABE207BF2A300087A6B /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; - 3F880ABF207BF2A300087A6B /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; - 3F880AC0207BF2A300087A6B /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; - 3F880AC1207BF2A300087A6B /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; - 3F880AC2207BF2A300087A6B /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; - 3F880AC4207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F880AC5207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F880AC6207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F880AC7207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; - 3F880AC9207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F880ACA207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F880ACB207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F880ACC207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; - 3F880ACE207C072400087A6B /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F880ACF207C072400087A6B /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F880AD0207C072400087A6B /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F880AD1207C072400087A6B /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; - 3F8EDF9820840FE900906339 /* ManualPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9720840FE900906339 /* ManualPollingTests.swift */; }; - 3F8EDF9920840FE900906339 /* ManualPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9720840FE900906339 /* ManualPollingTests.swift */; }; - 3F8EDF9A20840FE900906339 /* ManualPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9720840FE900906339 /* ManualPollingTests.swift */; }; - 3F8EDF9C208415FC00906339 /* AutoPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9B208415FC00906339 /* AutoPollingTests.swift */; }; - 3F8EDF9D208415FC00906339 /* AutoPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9B208415FC00906339 /* AutoPollingTests.swift */; }; - 3F8EDF9E208415FC00906339 /* AutoPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9B208415FC00906339 /* AutoPollingTests.swift */; }; - 3F8EDFA02084194700906339 /* ConfigCatClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9F2084194700906339 /* ConfigCatClientTests.swift */; }; - 3F8EDFA12084194700906339 /* ConfigCatClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9F2084194700906339 /* ConfigCatClientTests.swift */; }; - 3F8EDFA22084194700906339 /* ConfigCatClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9F2084194700906339 /* ConfigCatClientTests.swift */; }; - C41F8AB424AD38F70004CF03 /* VariationIdTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41F8AB324AD38F70004CF03 /* VariationIdTests.swift */; }; - C41F8AB524AD38F70004CF03 /* VariationIdTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41F8AB324AD38F70004CF03 /* VariationIdTests.swift */; }; - C41F8AB624AD38F70004CF03 /* VariationIdTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41F8AB324AD38F70004CF03 /* VariationIdTests.swift */; }; - C45414AF24AF2BF2004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B024AF2BF2004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B124AF2BF3004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B224AF2BF3004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B324AF2BF3004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B424AF2BF3004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C45414B524AF2BF3004E66E0 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; - C4D34D3B249B6F2900908D76 /* testmatrix_variationId.csv in Resources */ = {isa = PBXBuildFile; fileRef = C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */; }; - C4D34D3C249B6F2900908D76 /* testmatrix_variationId.csv in Resources */ = {isa = PBXBuildFile; fileRef = C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */; }; - C4D34D3D249B6F2900908D76 /* testmatrix_variationId.csv in Resources */ = {isa = PBXBuildFile; fileRef = C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */; }; - F10F787E2528950D0021F468 /* DataGovernanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10F787D2528950D0021F468 /* DataGovernanceTests.swift */; }; - F10F787F2528950D0021F468 /* DataGovernanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10F787D2528950D0021F468 /* DataGovernanceTests.swift */; }; - F10F78802528950D0021F468 /* DataGovernanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10F787D2528950D0021F468 /* DataGovernanceTests.swift */; }; - F15F9AF72169176A00F490CD /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - F15F9AF82169176A00F490CD /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - F15F9AF92169176A00F490CD /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - F15F9AFA2169176A00F490CD /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; - F15F9AFC216922F000F490CD /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - F15F9AFD216922F000F490CD /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - F15F9AFE216922F000F490CD /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - F15F9AFF216922F000F490CD /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; - F15F9B132169738100F490CD /* testmatrix.csv in Resources */ = {isa = PBXBuildFile; fileRef = F15F9B122169738100F490CD /* testmatrix.csv */; }; - F15F9B142169738100F490CD /* testmatrix.csv in Resources */ = {isa = PBXBuildFile; fileRef = F15F9B122169738100F490CD /* testmatrix.csv */; }; - F15F9B152169738100F490CD /* testmatrix.csv in Resources */ = {isa = PBXBuildFile; fileRef = F15F9B122169738100F490CD /* testmatrix.csv */; }; - F15F9B17216973B000F490CD /* RolloutIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */; }; - F15F9B18216973B000F490CD /* RolloutIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */; }; - F15F9B19216973B000F490CD /* RolloutIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */; }; - F1E1180B257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E1180C257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E1180D257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E1180E257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E1180F257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E11810257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; - F1E11811257532D700DA245A /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; + B4BD2AB0258CA6FF007371E2 /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; + B4BD2AB1258CA6FF007371E2 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; + B4BD2AB2258CA6FF007371E2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; + B4BD2AB3258CA6FF007371E2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; + B4BD2AB4258CA6FF007371E2 /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; + B4BD2AB5258CA6FF007371E2 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; + B4BD2AB6258CA6FF007371E2 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; + B4BD2AB7258CA6FF007371E2 /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; + B4BD2AB8258CA6FF007371E2 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; + B4BD2AB9258CA6FF007371E2 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; + B4BD2ABA258CA6FF007371E2 /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; + B4BD2ABB258CA6FF007371E2 /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; + B4BD2ABC258CA6FF007371E2 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; + B4BD2ABD258CA6FF007371E2 /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; + B4BD2ABE258CA6FF007371E2 /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; + B4BD2ABF258CA6FF007371E2 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; + B4BD2AC0258CA6FF007371E2 /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; + B4BD2AC1258CA6FF007371E2 /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; + B4BD2AC2258CA6FF007371E2 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; + B4BD2AC3258CA6FF007371E2 /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; + B4BD2AC4258CA6FF007371E2 /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; + B4BD2AC5258CA6FF007371E2 /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; + B4BD2AC6258CA6FF007371E2 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; + B4BD2AC9258CA6FF007371E2 /* ConfigCat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F880A2C207BE8F000087A6B /* ConfigCat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4BD2AE4258CA7DF007371E2 /* Version+Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478223A511E300EA53B8 /* Version+Range.swift */; }; + B4BD2AE5258CA7DF007371E2 /* ManualPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC3207BFA4A00087A6B /* ManualPollingPolicy.swift */; }; + B4BD2AE6258CA7DF007371E2 /* ConfigFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9F207BF1B100087A6B /* ConfigFetcher.swift */; }; + B4BD2AE7258CA7DF007371E2 /* RolloutIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */; }; + B4BD2AE8258CA7DF007371E2 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEDBE8223876064008803E7 /* Config.swift */; }; + B4BD2AE9258CA7DF007371E2 /* Version+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478523A511E300EA53B8 /* Version+Codable.swift */; }; + B4BD2AEA258CA7DF007371E2 /* RefreshPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */; }; + B4BD2AEB258CA7DF007371E2 /* Version+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478423A511E300EA53B8 /* Version+Foundation.swift */; }; + B4BD2AEC258CA7DF007371E2 /* ConfigFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */; }; + B4BD2AED258CA7DF007371E2 /* DataGovernanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10F787D2528950D0021F468 /* DataGovernanceTests.swift */; }; + B4BD2AEE258CA7DF007371E2 /* PollingMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */; }; + B4BD2AEF258CA7DF007371E2 /* ConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA1207BF1B100087A6B /* ConfigCache.swift */; }; + B4BD2AF0258CA7DF007371E2 /* AutoPollingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA0207BF1B100087A6B /* AutoPollingPolicy.swift */; }; + B4BD2AF1258CA7DF007371E2 /* Version+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A65478323A511E300EA53B8 /* Version+Comparable.swift */; }; + B4BD2AF2258CA7DF007371E2 /* LazyLoadingSyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */; }; + B4BD2AF3258CA7DF007371E2 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A3B096423909055002A3A62 /* Version.swift */; }; + B4BD2AF4258CA7DF007371E2 /* KeyValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45414AE24AF2BF2004E66E0 /* KeyValue.swift */; }; + B4BD2AF5258CA7DF007371E2 /* AsyncResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9E207BF1B100087A6B /* AsyncResult.swift */; }; + B4BD2AF6258CA7DF007371E2 /* RolloutEvaluator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */; }; + B4BD2AF7258CA7DF007371E2 /* PollingModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */; }; + B4BD2AF8258CA7DF007371E2 /* ConfigCatClientTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9F2084194700906339 /* ConfigCatClientTests.swift */; }; + B4BD2AF9258CA7DF007371E2 /* ConfigCatClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880ACD207C072400087A6B /* ConfigCatClient.swift */; }; + B4BD2AFA258CA7DF007371E2 /* ConfigCatClientProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AC8207BFFA400087A6B /* ConfigCatClientProtocol.swift */; }; + B4BD2AFB258CA7DF007371E2 /* Synced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880AA2207BF1B100087A6B /* Synced.swift */; }; + B4BD2AFC258CA7DF007371E2 /* AutoPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9B208415FC00906339 /* AutoPollingTests.swift */; }; + B4BD2AFD258CA7DF007371E2 /* LazyLoadingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */; }; + B4BD2AFE258CA7DF007371E2 /* ConfigParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F880A9B207BF1B100087A6B /* ConfigParser.swift */; }; + B4BD2AFF258CA7DF007371E2 /* VariationIdTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41F8AB324AD38F70004CF03 /* VariationIdTests.swift */; }; + B4BD2B00258CA7DF007371E2 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F029E89207EB3BD0019942F /* Mock.swift */; }; + B4BD2B01258CA7DF007371E2 /* LazyLoadingAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F36F53C2083DA3600949B8F /* LazyLoadingAsyncTests.swift */; }; + B4BD2B02258CA7DF007371E2 /* ManualPollingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8EDF9720840FE900906339 /* ManualPollingTests.swift */; }; + B4BD2B03258CA7DF007371E2 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E1180A257532D700DA245A /* Log.swift */; }; + B4BD2B04258CA7DF007371E2 /* ConfigCatUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F15F9AF62169176A00F490CD /* ConfigCatUser.swift */; }; + B4BD2B08258CA7DF007371E2 /* testmatrix_variationId.csv in Resources */ = {isa = PBXBuildFile; fileRef = C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */; }; + B4BD2B09258CA7DF007371E2 /* testmatrix_semantic_2.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */; }; + B4BD2B0A258CA7DF007371E2 /* testmatrix_sensitive.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */; }; + B4BD2B0B258CA7DF007371E2 /* testmatrix.csv in Resources */ = {isa = PBXBuildFile; fileRef = F15F9B122169738100F490CD /* testmatrix.csv */; }; + B4BD2B0C258CA7DF007371E2 /* testmatrix_number.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */; }; + B4BD2B0D258CA7DF007371E2 /* testmatrix_semantic.csv in Resources */ = {isa = PBXBuildFile; fileRef = 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3F880A34207BE8F000087A6B /* PBXContainerItemProxy */ = { + B46F8B9925A4DA860059CF95 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 3F8809CC207BE3F100087A6B /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F880A29207BE8F000087A6B; - remoteInfo = "ConfigCat iOS"; - }; - 3F880A53207BECB100087A6B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 3F8809CC207BE3F100087A6B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3F880A48207BECB100087A6B; - remoteInfo = "ConfigCat macOS"; - }; - 3F880A7E207BEEEB00087A6B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 3F8809CC207BE3F100087A6B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3F880A73207BEEEB00087A6B; - remoteInfo = "ConfigCat tvOS"; + remoteGlobalIDString = B4BD2AAE258CA6FF007371E2; + remoteInfo = ConfigCat; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 1A3B096423909055002A3A62 /* Version.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Version.swift; path = Version/Version.swift; sourceTree = SOURCE_ROOT; }; - 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix_semantic_2.csv; sourceTree = ""; }; - 1A65478223A511E300EA53B8 /* Version+Range.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Version+Range.swift"; path = "Version/Version+Range.swift"; sourceTree = SOURCE_ROOT; }; - 1A65478323A511E300EA53B8 /* Version+Comparable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Version+Comparable.swift"; path = "Version/Version+Comparable.swift"; sourceTree = SOURCE_ROOT; }; - 1A65478423A511E300EA53B8 /* Version+Foundation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Version+Foundation.swift"; path = "Version/Version+Foundation.swift"; sourceTree = SOURCE_ROOT; }; - 1A65478523A511E300EA53B8 /* Version+Codable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Version+Codable.swift"; path = "Version/Version+Codable.swift"; sourceTree = SOURCE_ROOT; }; - 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix_sensitive.csv; sourceTree = ""; }; + 1A3B096423909055002A3A62 /* Version.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; + 1A65477E23A450A700EA53B8 /* testmatrix_semantic_2.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix_semantic_2.csv; path = Resources/testmatrix_semantic_2.csv; sourceTree = ""; }; + 1A65478223A511E300EA53B8 /* Version+Range.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Version+Range.swift"; sourceTree = ""; }; + 1A65478323A511E300EA53B8 /* Version+Comparable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Version+Comparable.swift"; sourceTree = ""; }; + 1A65478423A511E300EA53B8 /* Version+Foundation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Version+Foundation.swift"; sourceTree = ""; }; + 1A65478523A511E300EA53B8 /* Version+Codable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Version+Codable.swift"; sourceTree = ""; }; + 1A92102224030C7F0059B111 /* testmatrix_sensitive.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix_sensitive.csv; path = Resources/testmatrix_sensitive.csv; sourceTree = ""; }; 1AEDBE8223876064008803E7 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; - 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix_semantic.csv; sourceTree = ""; }; - 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix_number.csv; sourceTree = ""; }; + 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix_semantic.csv; path = Resources/testmatrix_semantic.csv; sourceTree = ""; }; + 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix_number.csv; path = Resources/testmatrix_number.csv; sourceTree = ""; }; 3F029E89207EB3BD0019942F /* Mock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mock.swift; sourceTree = ""; }; 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollingMode.swift; sourceTree = ""; }; 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollingModes.swift; sourceTree = ""; }; 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyLoadingSyncTests.swift; sourceTree = ""; }; 3F36F53C2083DA3600949B8F /* LazyLoadingAsyncTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyLoadingAsyncTests.swift; sourceTree = ""; }; 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigFetcherTests.swift; sourceTree = ""; }; - 3F880A2A207BE8F000087A6B /* ConfigCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ConfigCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3F880A2C207BE8F000087A6B /* ConfigCat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConfigCat.h; sourceTree = ""; }; - 3F880A2D207BE8F000087A6B /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; - 3F880A32207BE8F000087A6B /* ConfigCat iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ConfigCat iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A39207BE8F000087A6B /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; - 3F880A49207BECB100087A6B /* ConfigCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ConfigCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A4C207BECB100087A6B /* Info-macOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; - 3F880A51207BECB100087A6B /* ConfigCat macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ConfigCat macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A58207BECB100087A6B /* Info-macOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; - 3F880A74207BEEEB00087A6B /* ConfigCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ConfigCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A77207BEEEB00087A6B /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; - 3F880A7C207BEEEB00087A6B /* ConfigCat tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ConfigCat tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A83207BEEEB00087A6B /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; - 3F880A92207BF05400087A6B /* ConfigCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ConfigCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3F880A95207BF05400087A6B /* Info-watchOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-watchOS.plist"; sourceTree = ""; }; + 3F880A39207BE8F000087A6B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = ""; }; 3F880A9B207BF1B100087A6B /* ConfigParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigParser.swift; sourceTree = ""; }; 3F880A9C207BF1B100087A6B /* LazyLoadingPolicy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LazyLoadingPolicy.swift; sourceTree = ""; }; 3F880A9D207BF1B100087A6B /* RefreshPolicy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshPolicy.swift; sourceTree = ""; }; @@ -295,64 +115,30 @@ 3F8EDF9720840FE900906339 /* ManualPollingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualPollingTests.swift; sourceTree = ""; }; 3F8EDF9B208415FC00906339 /* AutoPollingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoPollingTests.swift; sourceTree = ""; }; 3F8EDF9F2084194700906339 /* ConfigCatClientTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigCatClientTests.swift; sourceTree = ""; }; + B4BD2ACE258CA6FF007371E2 /* ConfigCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ConfigCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B4BD2B11258CA7DF007371E2 /* ConfigCat Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ConfigCat Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + B4BD2B64258CA9A2007371E2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B4BD2C13258CB452007371E2 /* ConfigCat.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigCat.xcconfig; sourceTree = ""; }; C41F8AB324AD38F70004CF03 /* VariationIdTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VariationIdTests.swift; sourceTree = ""; }; C45414AE24AF2BF2004E66E0 /* KeyValue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyValue.swift; sourceTree = ""; }; - C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix_variationId.csv; sourceTree = ""; }; + C4D34D3A249B6F2900908D76 /* testmatrix_variationId.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix_variationId.csv; path = Resources/testmatrix_variationId.csv; sourceTree = ""; }; F10F787D2528950D0021F468 /* DataGovernanceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataGovernanceTests.swift; sourceTree = ""; }; F15F9AF62169176A00F490CD /* ConfigCatUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigCatUser.swift; sourceTree = ""; }; F15F9AFB216922F000F490CD /* RolloutEvaluator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RolloutEvaluator.swift; sourceTree = ""; }; - F15F9B122169738100F490CD /* testmatrix.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = testmatrix.csv; sourceTree = ""; }; + F15F9B122169738100F490CD /* testmatrix.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = testmatrix.csv; path = Resources/testmatrix.csv; sourceTree = ""; }; F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RolloutIntegrationTests.swift; sourceTree = ""; }; F1E1180A257532D700DA245A /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3F880A26207BE8F000087A6B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A2F207BE8F000087A6B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A33207BE8F000087A6B /* ConfigCat.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A45207BECB100087A6B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A4E207BECB100087A6B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A52207BECB100087A6B /* ConfigCat.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A70207BEEEB00087A6B /* Frameworks */ = { + B4BD2AC7258CA6FF007371E2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 3F880A79207BEEEB00087A6B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A7D207BEEEB00087A6B /* ConfigCat.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A8E207BF05400087A6B /* Frameworks */ = { + B4BD2B05258CA7DF007371E2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -372,16 +158,16 @@ 1A3B096423909055002A3A62 /* Version.swift */, ); name = Version; - path = Sources; + path = Sources/Version; sourceTree = ""; }; 3F8809CB207BE3F100087A6B = { isa = PBXGroup; children = ( + B4BD2C13258CB452007371E2 /* ConfigCat.xcconfig */, 1AEDBE97238760A4008803E7 /* Version */, 3F880A43207BE92000087A6B /* Tests */, 3F880A42207BE91900087A6B /* Sources */, - 3F880A41207BE91300087A6B /* Assets */, 3F8809D8207BE4FB00087A6B /* Products */, ); sourceTree = ""; @@ -389,27 +175,19 @@ 3F8809D8207BE4FB00087A6B /* Products */ = { isa = PBXGroup; children = ( - 3F880A2A207BE8F000087A6B /* ConfigCat.framework */, - 3F880A32207BE8F000087A6B /* ConfigCat iOSTests.xctest */, - 3F880A49207BECB100087A6B /* ConfigCat.framework */, - 3F880A51207BECB100087A6B /* ConfigCat macOSTests.xctest */, - 3F880A74207BEEEB00087A6B /* ConfigCat.framework */, - 3F880A7C207BEEEB00087A6B /* ConfigCat tvOSTests.xctest */, - 3F880A92207BF05400087A6B /* ConfigCat.framework */, + B4BD2ACE258CA6FF007371E2 /* ConfigCat.framework */, + B4BD2B11258CA7DF007371E2 /* ConfigCat Tests.xctest */, ); name = Products; sourceTree = ""; }; - 3F880A41207BE91300087A6B /* Assets */ = { + 3F880A41207BE91300087A6B /* Resources */ = { isa = PBXGroup; children = ( - 3F880A95207BF05400087A6B /* Info-watchOS.plist */, - 3F880A77207BEEEB00087A6B /* Info-tvOS.plist */, - 3F880A4C207BECB100087A6B /* Info-macOS.plist */, + B4BD2B64258CA9A2007371E2 /* Info.plist */, 3F880A2C207BE8F000087A6B /* ConfigCat.h */, - 3F880A2D207BE8F000087A6B /* Info-iOS.plist */, ); - path = Assets; + path = Resources; sourceTree = ""; }; 3F880A42207BE91900087A6B /* Sources */ = { @@ -433,8 +211,10 @@ 3F1F2C6023E103C600AFA7D2 /* PollingMode.swift */, 3F1F2C6523E10BF300AFA7D2 /* PollingModes.swift */, F1E1180A257532D700DA245A /* Log.swift */, + 3F880A41207BE91300087A6B /* Resources */, ); - path = Sources; + name = Sources; + path = Sources/ConfigCat; sourceTree = ""; }; 3F880A43207BE92000087A6B /* Tests */ = { @@ -447,9 +227,7 @@ 1AEDBE99238761BA008803E7 /* testmatrix_number.csv */, 1AEDBE98238761BA008803E7 /* testmatrix_semantic.csv */, F15F9B122169738100F490CD /* testmatrix.csv */, - 3F880A83207BEEEB00087A6B /* Info-tvOS.plist */, - 3F880A58207BECB100087A6B /* Info-macOS.plist */, - 3F880A39207BE8F000087A6B /* Info-iOS.plist */, + 3F880A39207BE8F000087A6B /* Info.plist */, 3F029E89207EB3BD0019942F /* Mock.swift */, 3F4D40C4207EC17000BBAEC6 /* ConfigFetcherTests.swift */, 3F36F5382083D5C400949B8F /* LazyLoadingSyncTests.swift */, @@ -460,173 +238,60 @@ F15F9B16216973B000F490CD /* RolloutIntegrationTests.swift */, F10F787D2528950D0021F468 /* DataGovernanceTests.swift */, ); - path = Tests; + name = Tests; + path = Tests/ConfigCatTests; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3F880A27207BE8F000087A6B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A3A207BE8F000087A6B /* ConfigCat.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A46207BECB100087A6B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A61207BED8200087A6B /* ConfigCat.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A71207BEEEB00087A6B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880A8C207BEF7300087A6B /* ConfigCat.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A8F207BF05400087A6B /* Headers */ = { + B4BD2AC8258CA6FF007371E2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3F880A9A207BF09400087A6B /* ConfigCat.h in Headers */, + B4BD2AC9258CA6FF007371E2 /* ConfigCat.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3F880A29207BE8F000087A6B /* ConfigCat iOS */ = { + B4BD2AAE258CA6FF007371E2 /* ConfigCat */ = { isa = PBXNativeTarget; - buildConfigurationList = 3F880A3B207BE8F000087A6B /* Build configuration list for PBXNativeTarget "ConfigCat iOS" */; + buildConfigurationList = B4BD2ACB258CA6FF007371E2 /* Build configuration list for PBXNativeTarget "ConfigCat" */; buildPhases = ( - 3F880A25207BE8F000087A6B /* Sources */, - 3F880A26207BE8F000087A6B /* Frameworks */, - 3F880A27207BE8F000087A6B /* Headers */, - 3F880A28207BE8F000087A6B /* Resources */, + B4BD2AAF258CA6FF007371E2 /* Sources */, + B4BD2AC7258CA6FF007371E2 /* Frameworks */, + B4BD2AC8258CA6FF007371E2 /* Headers */, + B4BD2ACA258CA6FF007371E2 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = "ConfigCat iOS"; + name = ConfigCat; productName = "ConfigCat iOS"; - productReference = 3F880A2A207BE8F000087A6B /* ConfigCat.framework */; + productReference = B4BD2ACE258CA6FF007371E2 /* ConfigCat.framework */; productType = "com.apple.product-type.framework"; }; - 3F880A31207BE8F000087A6B /* ConfigCat iOSTests */ = { + B4BD2AE0258CA7DF007371E2 /* ConfigCat Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3F880A3E207BE8F000087A6B /* Build configuration list for PBXNativeTarget "ConfigCat iOSTests" */; + buildConfigurationList = B4BD2B0E258CA7DF007371E2 /* Build configuration list for PBXNativeTarget "ConfigCat Tests" */; buildPhases = ( - 3F880A2E207BE8F000087A6B /* Sources */, - 3F880A2F207BE8F000087A6B /* Frameworks */, - 3F880A30207BE8F000087A6B /* Resources */, + B4BD2AE3258CA7DF007371E2 /* Sources */, + B4BD2B05258CA7DF007371E2 /* Frameworks */, + B4BD2B07258CA7DF007371E2 /* Resources */, ); buildRules = ( ); dependencies = ( - 3F880A35207BE8F000087A6B /* PBXTargetDependency */, + B46F8B9A25A4DA860059CF95 /* PBXTargetDependency */, ); - name = "ConfigCat iOSTests"; + name = "ConfigCat Tests"; productName = "ConfigCat iOSTests"; - productReference = 3F880A32207BE8F000087A6B /* ConfigCat iOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 3F880A48207BECB100087A6B /* ConfigCat macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F880A5A207BECB100087A6B /* Build configuration list for PBXNativeTarget "ConfigCat macOS" */; - buildPhases = ( - 3F880A44207BECB100087A6B /* Sources */, - 3F880A45207BECB100087A6B /* Frameworks */, - 3F880A46207BECB100087A6B /* Headers */, - 3F880A47207BECB100087A6B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ConfigCat macOS"; - productName = "ConfigCat macOS"; - productReference = 3F880A49207BECB100087A6B /* ConfigCat.framework */; - productType = "com.apple.product-type.framework"; - }; - 3F880A50207BECB100087A6B /* ConfigCat macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F880A5D207BECB100087A6B /* Build configuration list for PBXNativeTarget "ConfigCat macOSTests" */; - buildPhases = ( - 3F880A4D207BECB100087A6B /* Sources */, - 3F880A4E207BECB100087A6B /* Frameworks */, - 3F880A4F207BECB100087A6B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 3F880A54207BECB100087A6B /* PBXTargetDependency */, - ); - name = "ConfigCat macOSTests"; - productName = "ConfigCat macOSTests"; - productReference = 3F880A51207BECB100087A6B /* ConfigCat macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 3F880A73207BEEEB00087A6B /* ConfigCat tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F880A85207BEEEB00087A6B /* Build configuration list for PBXNativeTarget "ConfigCat tvOS" */; - buildPhases = ( - 3F880A6F207BEEEB00087A6B /* Sources */, - 3F880A70207BEEEB00087A6B /* Frameworks */, - 3F880A71207BEEEB00087A6B /* Headers */, - 3F880A72207BEEEB00087A6B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ConfigCat tvOS"; - productName = "ConfigCat tvOS"; - productReference = 3F880A74207BEEEB00087A6B /* ConfigCat.framework */; - productType = "com.apple.product-type.framework"; - }; - 3F880A7B207BEEEB00087A6B /* ConfigCat tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F880A88207BEEEB00087A6B /* Build configuration list for PBXNativeTarget "ConfigCat tvOSTests" */; - buildPhases = ( - 3F880A78207BEEEB00087A6B /* Sources */, - 3F880A79207BEEEB00087A6B /* Frameworks */, - 3F880A7A207BEEEB00087A6B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 3F880A7F207BEEEB00087A6B /* PBXTargetDependency */, - ); - name = "ConfigCat tvOSTests"; - productName = "ConfigCat tvOSTests"; - productReference = 3F880A7C207BEEEB00087A6B /* ConfigCat tvOSTests.xctest */; + productReference = B4BD2B11258CA7DF007371E2 /* ConfigCat Tests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 3F880A91207BF05400087A6B /* ConfigCat watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F880A97207BF05400087A6B /* Build configuration list for PBXNativeTarget "ConfigCat watchOS" */; - buildPhases = ( - 3F880A8D207BF05400087A6B /* Sources */, - 3F880A8E207BF05400087A6B /* Frameworks */, - 3F880A8F207BF05400087A6B /* Headers */, - 3F880A90207BF05400087A6B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ConfigCat watchOS"; - productName = "ConfigCat watchOS"; - productReference = 3F880A92207BF05400087A6B /* ConfigCat.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -634,37 +299,12 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1220; TargetAttributes = { - 3F880A29207BE8F000087A6B = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 0920; - ProvisioningStyle = Automatic; - }; - 3F880A31207BE8F000087A6B = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - 3F880A48207BECB100087A6B = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - 3F880A50207BECB100087A6B = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - 3F880A73207BEEEB00087A6B = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - 3F880A7B207BEEEB00087A6B = { - CreatedOnToolsVersion = 9.2; + B4BD2AAE258CA6FF007371E2 = { ProvisioningStyle = Automatic; }; - 3F880A91207BF05400087A6B = { - CreatedOnToolsVersion = 9.2; + B4BD2AE0258CA7DF007371E2 = { ProvisioningStyle = Automatic; }; }; @@ -675,357 +315,127 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 3F8809CB207BE3F100087A6B; productRefGroup = 3F8809D8207BE4FB00087A6B /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3F880A29207BE8F000087A6B /* ConfigCat iOS */, - 3F880A31207BE8F000087A6B /* ConfigCat iOSTests */, - 3F880A48207BECB100087A6B /* ConfigCat macOS */, - 3F880A50207BECB100087A6B /* ConfigCat macOSTests */, - 3F880A73207BEEEB00087A6B /* ConfigCat tvOS */, - 3F880A7B207BEEEB00087A6B /* ConfigCat tvOSTests */, - 3F880A91207BF05400087A6B /* ConfigCat watchOS */, + B4BD2AAE258CA6FF007371E2 /* ConfigCat */, + B4BD2AE0258CA7DF007371E2 /* ConfigCat Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3F880A28207BE8F000087A6B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A30207BE8F000087A6B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C4D34D3B249B6F2900908D76 /* testmatrix_variationId.csv in Resources */, - 1A65477F23A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */, - 1A92102324030C7F0059B111 /* testmatrix_sensitive.csv in Resources */, - F15F9B132169738100F490CD /* testmatrix.csv in Resources */, - 1AEDBEA2238761BA008803E7 /* testmatrix_number.csv in Resources */, - 1AEDBE9B238761BA008803E7 /* testmatrix_semantic.csv in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A47207BECB100087A6B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A4F207BECB100087A6B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C4D34D3C249B6F2900908D76 /* testmatrix_variationId.csv in Resources */, - 1A65478023A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */, - 1A92102424030C7F0059B111 /* testmatrix_sensitive.csv in Resources */, - F15F9B142169738100F490CD /* testmatrix.csv in Resources */, - 1AEDBEA4238761BA008803E7 /* testmatrix_number.csv in Resources */, - 1AEDBE9D238761BA008803E7 /* testmatrix_semantic.csv in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A72207BEEEB00087A6B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A7A207BEEEB00087A6B /* Resources */ = { + B4BD2ACA258CA6FF007371E2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C4D34D3D249B6F2900908D76 /* testmatrix_variationId.csv in Resources */, - 1A65478123A450A700EA53B8 /* testmatrix_semantic_2.csv in Resources */, - 1A92102524030C7F0059B111 /* testmatrix_sensitive.csv in Resources */, - F15F9B152169738100F490CD /* testmatrix.csv in Resources */, - 1AEDBEA6238761BA008803E7 /* testmatrix_number.csv in Resources */, - 1AEDBE9F238761BA008803E7 /* testmatrix_semantic.csv in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F880A90207BF05400087A6B /* Resources */ = { + B4BD2B07258CA7DF007371E2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B4BD2B08258CA7DF007371E2 /* testmatrix_variationId.csv in Resources */, + B4BD2B09258CA7DF007371E2 /* testmatrix_semantic_2.csv in Resources */, + B4BD2B0A258CA7DF007371E2 /* testmatrix_sensitive.csv in Resources */, + B4BD2B0B258CA7DF007371E2 /* testmatrix.csv in Resources */, + B4BD2B0C258CA7DF007371E2 /* testmatrix_number.csv in Resources */, + B4BD2B0D258CA7DF007371E2 /* testmatrix_semantic.csv in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3F880A25207BE8F000087A6B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880ACE207C072400087A6B /* ConfigCatClient.swift in Sources */, - 1A3B096723909055002A3A62 /* Version.swift in Sources */, - 3F1F2C6623E10BF300AFA7D2 /* PollingModes.swift in Sources */, - 3F1F2C6123E103C600AFA7D2 /* PollingMode.swift in Sources */, - 3F880AA7207BF1B100087A6B /* ConfigFetcher.swift in Sources */, - 1A65478A23A511E300EA53B8 /* Version+Comparable.swift in Sources */, - F1E1180B257532D700DA245A /* Log.swift in Sources */, - 3F880AA4207BF1B100087A6B /* LazyLoadingPolicy.swift in Sources */, - C45414AF24AF2BF2004E66E0 /* KeyValue.swift in Sources */, - 1AEDBE8323876064008803E7 /* Config.swift in Sources */, - F15F9AFC216922F000F490CD /* RolloutEvaluator.swift in Sources */, - 3F880AA8207BF1B100087A6B /* AutoPollingPolicy.swift in Sources */, - 3F880AA6207BF1B100087A6B /* AsyncResult.swift in Sources */, - 3F880AA5207BF1B100087A6B /* RefreshPolicy.swift in Sources */, - 3F880AAA207BF1B100087A6B /* Synced.swift in Sources */, - 1A65479223A511E300EA53B8 /* Version+Codable.swift in Sources */, - 3F880AC4207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */, - F15F9AF72169176A00F490CD /* ConfigCatUser.swift in Sources */, - 1A65478623A511E300EA53B8 /* Version+Range.swift in Sources */, - 3F880AC9207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */, - 3F880AA3207BF1B100087A6B /* ConfigParser.swift in Sources */, - 3F880AA9207BF1B100087A6B /* ConfigCache.swift in Sources */, - 1A65478E23A511E300EA53B8 /* Version+Foundation.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A2E207BE8F000087A6B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F1F2C9D23E1227E00AFA7D2 /* Version+Range.swift in Sources */, - 3F1F2C8223E1218500AFA7D2 /* ManualPollingPolicy.swift in Sources */, - 3F1F2C6A23E1187800AFA7D2 /* ConfigFetcher.swift in Sources */, - F15F9B17216973B000F490CD /* RolloutIntegrationTests.swift in Sources */, - 3F1F2C7C23E1218500AFA7D2 /* Config.swift in Sources */, - 3F1F2C9A23E1227E00AFA7D2 /* Version+Codable.swift in Sources */, - 3F1F2C8023E1218500AFA7D2 /* RefreshPolicy.swift in Sources */, - 3F1F2C9C23E1227E00AFA7D2 /* Version+Foundation.swift in Sources */, - 3F4D40C5207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */, - F10F787E2528950D0021F468 /* DataGovernanceTests.swift in Sources */, - 3F1F2C7023E1192400AFA7D2 /* PollingMode.swift in Sources */, - 3F1F2C7623E119B200AFA7D2 /* ConfigCache.swift in Sources */, - 3F1F2C7E23E1218500AFA7D2 /* AutoPollingPolicy.swift in Sources */, - 3F1F2C9B23E1227E00AFA7D2 /* Version+Comparable.swift in Sources */, - 3F36F5392083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */, - 3F1F2C9E23E1227E00AFA7D2 /* Version.swift in Sources */, - C45414B024AF2BF2004E66E0 /* KeyValue.swift in Sources */, - 3F1F2C7D23E1218500AFA7D2 /* AsyncResult.swift in Sources */, - 3F1F2C8523E1218500AFA7D2 /* RolloutEvaluator.swift in Sources */, - 3F1F2CAB23E1291000AFA7D2 /* PollingModes.swift in Sources */, - 3F8EDFA02084194700906339 /* ConfigCatClientTests.swift in Sources */, - 3F1F2CB123E1291A00AFA7D2 /* ConfigCatClient.swift in Sources */, - 3F1F2CAC23E1291400AFA7D2 /* ConfigCatClientProtocol.swift in Sources */, - 3F1F2C8123E1218500AFA7D2 /* Synced.swift in Sources */, - 3F8EDF9C208415FC00906339 /* AutoPollingTests.swift in Sources */, - 3F1F2C7323E1197B00AFA7D2 /* LazyLoadingPolicy.swift in Sources */, - 3F1F2C7F23E1218500AFA7D2 /* ConfigParser.swift in Sources */, - C41F8AB424AD38F70004CF03 /* VariationIdTests.swift in Sources */, - 3F4D40CA207EC20500BBAEC6 /* Mock.swift in Sources */, - 3F36F53D2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */, - 3F8EDF9820840FE900906339 /* ManualPollingTests.swift in Sources */, - F1E1180C257532D700DA245A /* Log.swift in Sources */, - 3F1F2C8423E1218500AFA7D2 /* ConfigCatUser.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A44207BECB100087A6B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880ACF207C072400087A6B /* ConfigCatClient.swift in Sources */, - 1A3B096823909056002A3A62 /* Version.swift in Sources */, - 3F1F2C6723E10BF300AFA7D2 /* PollingModes.swift in Sources */, - 3F1F2C6223E103C600AFA7D2 /* PollingMode.swift in Sources */, - 3F880AB0207BF2A100087A6B /* LazyLoadingPolicy.swift in Sources */, - 1A65478B23A511E300EA53B8 /* Version+Comparable.swift in Sources */, - F1E1180D257532D700DA245A /* Log.swift in Sources */, - 3F880AB1207BF2A100087A6B /* RefreshPolicy.swift in Sources */, - C45414B124AF2BF3004E66E0 /* KeyValue.swift in Sources */, - 1AEDBE8423876064008803E7 /* Config.swift in Sources */, - F15F9AFD216922F000F490CD /* RolloutEvaluator.swift in Sources */, - 3F880AAC207BF2A100087A6B /* AutoPollingPolicy.swift in Sources */, - 3F880AAE207BF2A100087A6B /* ConfigFetcher.swift in Sources */, - 3F880AAD207BF2A100087A6B /* ConfigCache.swift in Sources */, - 3F880AB2207BF2A100087A6B /* Synced.swift in Sources */, - 1A65479323A511E300EA53B8 /* Version+Codable.swift in Sources */, - 3F880AC5207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */, - F15F9AF82169176A00F490CD /* ConfigCatUser.swift in Sources */, - 1A65478723A511E300EA53B8 /* Version+Range.swift in Sources */, - 3F880ACA207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */, - 3F880AAB207BF2A100087A6B /* AsyncResult.swift in Sources */, - 3F880AAF207BF2A100087A6B /* ConfigParser.swift in Sources */, - 1A65478F23A511E300EA53B8 /* Version+Foundation.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A4D207BECB100087A6B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F1F2CA223E1227E00AFA7D2 /* Version+Range.swift in Sources */, - 3F1F2C8C23E1218600AFA7D2 /* ManualPollingPolicy.swift in Sources */, - 3F1F2C6B23E1187900AFA7D2 /* ConfigFetcher.swift in Sources */, - F15F9B18216973B000F490CD /* RolloutIntegrationTests.swift in Sources */, - 3F1F2C8623E1218600AFA7D2 /* Config.swift in Sources */, - 3F1F2C9F23E1227E00AFA7D2 /* Version+Codable.swift in Sources */, - 3F1F2C8A23E1218600AFA7D2 /* RefreshPolicy.swift in Sources */, - 3F1F2CA123E1227E00AFA7D2 /* Version+Foundation.swift in Sources */, - 3F4D40C6207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */, - F10F787F2528950D0021F468 /* DataGovernanceTests.swift in Sources */, - 3F1F2C7123E1192500AFA7D2 /* PollingMode.swift in Sources */, - 3F1F2C7723E119B300AFA7D2 /* ConfigCache.swift in Sources */, - 3F1F2C8823E1218600AFA7D2 /* AutoPollingPolicy.swift in Sources */, - 3F1F2CA023E1227E00AFA7D2 /* Version+Comparable.swift in Sources */, - 3F36F53A2083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */, - 3F1F2CA323E1227E00AFA7D2 /* Version.swift in Sources */, - C45414B224AF2BF3004E66E0 /* KeyValue.swift in Sources */, - 3F1F2C8723E1218600AFA7D2 /* AsyncResult.swift in Sources */, - 3F1F2C8F23E1218600AFA7D2 /* RolloutEvaluator.swift in Sources */, - 3F1F2CAA23E1290F00AFA7D2 /* PollingModes.swift in Sources */, - 3F8EDFA12084194700906339 /* ConfigCatClientTests.swift in Sources */, - 3F1F2CB023E1291A00AFA7D2 /* ConfigCatClient.swift in Sources */, - 3F1F2CAD23E1291500AFA7D2 /* ConfigCatClientProtocol.swift in Sources */, - 3F1F2C8B23E1218600AFA7D2 /* Synced.swift in Sources */, - 3F8EDF9D208415FC00906339 /* AutoPollingTests.swift in Sources */, - 3F1F2C7423E1197C00AFA7D2 /* LazyLoadingPolicy.swift in Sources */, - 3F1F2C8923E1218600AFA7D2 /* ConfigParser.swift in Sources */, - C41F8AB524AD38F70004CF03 /* VariationIdTests.swift in Sources */, - 3F4D40C9207EC20500BBAEC6 /* Mock.swift in Sources */, - 3F36F53E2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */, - 3F8EDF9920840FE900906339 /* ManualPollingTests.swift in Sources */, - F1E1180E257532D700DA245A /* Log.swift in Sources */, - 3F1F2C8E23E1218600AFA7D2 /* ConfigCatUser.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A6F207BEEEB00087A6B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F880AD0207C072400087A6B /* ConfigCatClient.swift in Sources */, - 1A3B096923909056002A3A62 /* Version.swift in Sources */, - 3F1F2C6823E10BF300AFA7D2 /* PollingModes.swift in Sources */, - 3F1F2C6323E103C600AFA7D2 /* PollingMode.swift in Sources */, - 3F880AB8207BF2A200087A6B /* LazyLoadingPolicy.swift in Sources */, - 1A65478C23A511E300EA53B8 /* Version+Comparable.swift in Sources */, - F1E1180F257532D700DA245A /* Log.swift in Sources */, - 3F880AB9207BF2A200087A6B /* RefreshPolicy.swift in Sources */, - C45414B324AF2BF3004E66E0 /* KeyValue.swift in Sources */, - 1AEDBE8523876064008803E7 /* Config.swift in Sources */, - F15F9AFE216922F000F490CD /* RolloutEvaluator.swift in Sources */, - 3F880AB4207BF2A200087A6B /* AutoPollingPolicy.swift in Sources */, - 3F880AB6207BF2A200087A6B /* ConfigFetcher.swift in Sources */, - 3F880AB5207BF2A200087A6B /* ConfigCache.swift in Sources */, - 3F880ABA207BF2A200087A6B /* Synced.swift in Sources */, - 1A65479423A511E300EA53B8 /* Version+Codable.swift in Sources */, - 3F880AC6207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */, - F15F9AF92169176A00F490CD /* ConfigCatUser.swift in Sources */, - 1A65478823A511E300EA53B8 /* Version+Range.swift in Sources */, - 3F880ACB207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */, - 3F880AB3207BF2A200087A6B /* AsyncResult.swift in Sources */, - 3F880AB7207BF2A200087A6B /* ConfigParser.swift in Sources */, - 1A65479023A511E300EA53B8 /* Version+Foundation.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3F880A78207BEEEB00087A6B /* Sources */ = { + B4BD2AAF258CA6FF007371E2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3F1F2CA723E1227F00AFA7D2 /* Version+Range.swift in Sources */, - 3F1F2C9623E1218700AFA7D2 /* ManualPollingPolicy.swift in Sources */, - 3F1F2C6C23E1187B00AFA7D2 /* ConfigFetcher.swift in Sources */, - F15F9B19216973B000F490CD /* RolloutIntegrationTests.swift in Sources */, - 3F1F2C9023E1218700AFA7D2 /* Config.swift in Sources */, - 3F1F2CA423E1227F00AFA7D2 /* Version+Codable.swift in Sources */, - 3F1F2C9423E1218700AFA7D2 /* RefreshPolicy.swift in Sources */, - 3F1F2CA623E1227F00AFA7D2 /* Version+Foundation.swift in Sources */, - 3F4D40C7207EC17000BBAEC6 /* ConfigFetcherTests.swift in Sources */, - F10F78802528950D0021F468 /* DataGovernanceTests.swift in Sources */, - 3F1F2C7223E1192600AFA7D2 /* PollingMode.swift in Sources */, - 3F1F2C7823E119B300AFA7D2 /* ConfigCache.swift in Sources */, - 3F1F2C9223E1218700AFA7D2 /* AutoPollingPolicy.swift in Sources */, - 3F1F2CA523E1227F00AFA7D2 /* Version+Comparable.swift in Sources */, - 3F36F53B2083D5C400949B8F /* LazyLoadingSyncTests.swift in Sources */, - 3F1F2CA823E1227F00AFA7D2 /* Version.swift in Sources */, - C45414B424AF2BF3004E66E0 /* KeyValue.swift in Sources */, - 3F1F2C9123E1218700AFA7D2 /* AsyncResult.swift in Sources */, - 3F1F2C9923E1218700AFA7D2 /* RolloutEvaluator.swift in Sources */, - 3F1F2CA923E1290E00AFA7D2 /* PollingModes.swift in Sources */, - 3F8EDFA22084194700906339 /* ConfigCatClientTests.swift in Sources */, - 3F1F2CAF23E1291900AFA7D2 /* ConfigCatClient.swift in Sources */, - 3F1F2CAE23E1291600AFA7D2 /* ConfigCatClientProtocol.swift in Sources */, - 3F1F2C9523E1218700AFA7D2 /* Synced.swift in Sources */, - 3F8EDF9E208415FC00906339 /* AutoPollingTests.swift in Sources */, - 3F1F2C7523E1197C00AFA7D2 /* LazyLoadingPolicy.swift in Sources */, - 3F1F2C9323E1218700AFA7D2 /* ConfigParser.swift in Sources */, - C41F8AB624AD38F70004CF03 /* VariationIdTests.swift in Sources */, - 3F4D40C8207EC20400BBAEC6 /* Mock.swift in Sources */, - 3F36F53F2083DA3600949B8F /* LazyLoadingAsyncTests.swift in Sources */, - 3F8EDF9A20840FE900906339 /* ManualPollingTests.swift in Sources */, - F1E11810257532D700DA245A /* Log.swift in Sources */, - 3F1F2C9823E1218700AFA7D2 /* ConfigCatUser.swift in Sources */, + B4BD2AB0258CA6FF007371E2 /* ConfigCatClient.swift in Sources */, + B4BD2AB1258CA6FF007371E2 /* Version.swift in Sources */, + B4BD2AB2258CA6FF007371E2 /* PollingModes.swift in Sources */, + B4BD2AB3258CA6FF007371E2 /* PollingMode.swift in Sources */, + B4BD2AB4258CA6FF007371E2 /* ConfigFetcher.swift in Sources */, + B4BD2AB5258CA6FF007371E2 /* Version+Comparable.swift in Sources */, + B4BD2AB6258CA6FF007371E2 /* Log.swift in Sources */, + B4BD2AB7258CA6FF007371E2 /* LazyLoadingPolicy.swift in Sources */, + B4BD2AB8258CA6FF007371E2 /* KeyValue.swift in Sources */, + B4BD2AB9258CA6FF007371E2 /* Config.swift in Sources */, + B4BD2ABA258CA6FF007371E2 /* RolloutEvaluator.swift in Sources */, + B4BD2ABB258CA6FF007371E2 /* AutoPollingPolicy.swift in Sources */, + B4BD2ABC258CA6FF007371E2 /* AsyncResult.swift in Sources */, + B4BD2ABD258CA6FF007371E2 /* RefreshPolicy.swift in Sources */, + B4BD2ABE258CA6FF007371E2 /* Synced.swift in Sources */, + B4BD2ABF258CA6FF007371E2 /* Version+Codable.swift in Sources */, + B4BD2AC0258CA6FF007371E2 /* ManualPollingPolicy.swift in Sources */, + B4BD2AC1258CA6FF007371E2 /* ConfigCatUser.swift in Sources */, + B4BD2AC2258CA6FF007371E2 /* Version+Range.swift in Sources */, + B4BD2AC3258CA6FF007371E2 /* ConfigCatClientProtocol.swift in Sources */, + B4BD2AC4258CA6FF007371E2 /* ConfigParser.swift in Sources */, + B4BD2AC5258CA6FF007371E2 /* ConfigCache.swift in Sources */, + B4BD2AC6258CA6FF007371E2 /* Version+Foundation.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F880A8D207BF05400087A6B /* Sources */ = { + B4BD2AE3258CA7DF007371E2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3F880AD1207C072400087A6B /* ConfigCatClient.swift in Sources */, - 1A3B096A23909056002A3A62 /* Version.swift in Sources */, - 3F1F2C6923E10BF300AFA7D2 /* PollingModes.swift in Sources */, - 3F1F2C6423E103C600AFA7D2 /* PollingMode.swift in Sources */, - 3F880AC0207BF2A300087A6B /* LazyLoadingPolicy.swift in Sources */, - 1A65478D23A511E300EA53B8 /* Version+Comparable.swift in Sources */, - F1E11811257532D700DA245A /* Log.swift in Sources */, - 3F880AC1207BF2A300087A6B /* RefreshPolicy.swift in Sources */, - C45414B524AF2BF3004E66E0 /* KeyValue.swift in Sources */, - 1AEDBE8623876064008803E7 /* Config.swift in Sources */, - F15F9AFF216922F000F490CD /* RolloutEvaluator.swift in Sources */, - 3F880ABC207BF2A300087A6B /* AutoPollingPolicy.swift in Sources */, - 3F880ABE207BF2A300087A6B /* ConfigFetcher.swift in Sources */, - 3F880ABD207BF2A300087A6B /* ConfigCache.swift in Sources */, - 3F880AC2207BF2A300087A6B /* Synced.swift in Sources */, - 1A65479523A511E300EA53B8 /* Version+Codable.swift in Sources */, - 3F880AC7207BFA4A00087A6B /* ManualPollingPolicy.swift in Sources */, - F15F9AFA2169176A00F490CD /* ConfigCatUser.swift in Sources */, - 1A65478923A511E300EA53B8 /* Version+Range.swift in Sources */, - 3F880ACC207BFFA400087A6B /* ConfigCatClientProtocol.swift in Sources */, - 3F880ABB207BF2A300087A6B /* AsyncResult.swift in Sources */, - 3F880ABF207BF2A300087A6B /* ConfigParser.swift in Sources */, - 1A65479123A511E300EA53B8 /* Version+Foundation.swift in Sources */, + B4BD2AE4258CA7DF007371E2 /* Version+Range.swift in Sources */, + B4BD2AE5258CA7DF007371E2 /* ManualPollingPolicy.swift in Sources */, + B4BD2AE6258CA7DF007371E2 /* ConfigFetcher.swift in Sources */, + B4BD2AE7258CA7DF007371E2 /* RolloutIntegrationTests.swift in Sources */, + B4BD2AE8258CA7DF007371E2 /* Config.swift in Sources */, + B4BD2AE9258CA7DF007371E2 /* Version+Codable.swift in Sources */, + B4BD2AEA258CA7DF007371E2 /* RefreshPolicy.swift in Sources */, + B4BD2AEB258CA7DF007371E2 /* Version+Foundation.swift in Sources */, + B4BD2AEC258CA7DF007371E2 /* ConfigFetcherTests.swift in Sources */, + B4BD2AED258CA7DF007371E2 /* DataGovernanceTests.swift in Sources */, + B4BD2AEE258CA7DF007371E2 /* PollingMode.swift in Sources */, + B4BD2AEF258CA7DF007371E2 /* ConfigCache.swift in Sources */, + B4BD2AF0258CA7DF007371E2 /* AutoPollingPolicy.swift in Sources */, + B4BD2AF1258CA7DF007371E2 /* Version+Comparable.swift in Sources */, + B4BD2AF2258CA7DF007371E2 /* LazyLoadingSyncTests.swift in Sources */, + B4BD2AF3258CA7DF007371E2 /* Version.swift in Sources */, + B4BD2AF4258CA7DF007371E2 /* KeyValue.swift in Sources */, + B4BD2AF5258CA7DF007371E2 /* AsyncResult.swift in Sources */, + B4BD2AF6258CA7DF007371E2 /* RolloutEvaluator.swift in Sources */, + B4BD2AF7258CA7DF007371E2 /* PollingModes.swift in Sources */, + B4BD2AF8258CA7DF007371E2 /* ConfigCatClientTests.swift in Sources */, + B4BD2AF9258CA7DF007371E2 /* ConfigCatClient.swift in Sources */, + B4BD2AFA258CA7DF007371E2 /* ConfigCatClientProtocol.swift in Sources */, + B4BD2AFB258CA7DF007371E2 /* Synced.swift in Sources */, + B4BD2AFC258CA7DF007371E2 /* AutoPollingTests.swift in Sources */, + B4BD2AFD258CA7DF007371E2 /* LazyLoadingPolicy.swift in Sources */, + B4BD2AFE258CA7DF007371E2 /* ConfigParser.swift in Sources */, + B4BD2AFF258CA7DF007371E2 /* VariationIdTests.swift in Sources */, + B4BD2B00258CA7DF007371E2 /* Mock.swift in Sources */, + B4BD2B01258CA7DF007371E2 /* LazyLoadingAsyncTests.swift in Sources */, + B4BD2B02258CA7DF007371E2 /* ManualPollingTests.swift in Sources */, + B4BD2B03258CA7DF007371E2 /* Log.swift in Sources */, + B4BD2B04258CA7DF007371E2 /* ConfigCatUser.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3F880A35207BE8F000087A6B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3F880A29207BE8F000087A6B /* ConfigCat iOS */; - targetProxy = 3F880A34207BE8F000087A6B /* PBXContainerItemProxy */; - }; - 3F880A54207BECB100087A6B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3F880A48207BECB100087A6B /* ConfigCat macOS */; - targetProxy = 3F880A53207BECB100087A6B /* PBXContainerItemProxy */; - }; - 3F880A7F207BEEEB00087A6B /* PBXTargetDependency */ = { + B46F8B9A25A4DA860059CF95 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3F880A73207BEEEB00087A6B /* ConfigCat tvOS */; - targetProxy = 3F880A7E207BEEEB00087A6B /* PBXContainerItemProxy */; + target = B4BD2AAE258CA6FF007371E2 /* ConfigCat */; + targetProxy = B46F8B9925A4DA860059CF95 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 3F8809D0207BE3F100087A6B /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B4BD2C13258CB452007371E2 /* ConfigCat.xcconfig */; buildSettings = { CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -1039,6 +449,7 @@ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1059,6 +470,7 @@ }; 3F8809D1207BE3F100087A6B /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B4BD2C13258CB452007371E2 /* ConfigCat.xcconfig */; buildSettings = { CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -1072,6 +484,7 @@ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1088,7 +501,7 @@ }; name = Release; }; - 3F880A3C207BE8F000087A6B /* Debug */ = { + B4BD2ACC258CA6FF007371E2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1142,27 +555,23 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-iOS.plist"; + INFOPLIST_FILE = Sources/ConfigCat/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.iOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = iphoneos; + PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_INCLUDE_PATHS = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 3F880A3D207BE8F000087A6B /* Release */ = { + B4BD2ACD258CA6FF007371E2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1210,26 +619,22 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-iOS.plist"; + INFOPLIST_FILE = Sources/ConfigCat/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.iOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = iphoneos; + PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_INCLUDE_PATHS = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 3F880A3F207BE8F000087A6B /* Debug */ = { + B4BD2B0F258CA7DF007371E2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -1260,6 +665,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; @@ -1279,22 +685,20 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-iOS.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; + INFOPLIST_FILE = Tests/ConfigCatTests/Resources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.iOSTests.client; + PRODUCT_BUNDLE_IDENTIFIER = com.configcat.Tests.client; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; }; name = Debug; }; - 3F880A40207BE8F000087A6B /* Release */ = { + B4BD2B10258CA7DF007371E2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -1325,6 +729,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -1338,691 +743,18 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-iOS.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; + INFOPLIST_FILE = Tests/ConfigCatTests/Resources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.iOSTests.client; + PRODUCT_BUNDLE_IDENTIFIER = com.configcat.Tests.client; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,6"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 3F880A5B207BECB100087A6B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_VERSION = A; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.macOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 3F880A5C207BECB100087A6B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_VERSION = A; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.macOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 3F880A5E207BECB100087A6B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-macOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.13; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.macOSTests.client; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - 3F880A5F207BECB100087A6B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-macOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.13; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.macOSTests.client; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - 3F880A86207BEEEB00087A6B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-tvOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.tvOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 10.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 3F880A87207BEEEB00087A6B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-tvOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.tvOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 10.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 3F880A89207BEEEB00087A6B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-tvOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.tvOSTests.client; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.2; - }; - name = Debug; - }; - 3F880A8A207BEEEB00087A6B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Info-tvOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.tvOSTests.client; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.2; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 3F880A98207BF05400087A6B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-watchOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.watchOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = watchos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 4; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = Debug; - }; - 3F880A99207BF05400087A6B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Assets/Info-watchOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.configcat.watchOS.client; - PRODUCT_NAME = ConfigCat; - SDKROOT = watchos; - SKIP_INSTALL = YES; - SWIFT_INCLUDE_PATHS = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 4; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2035,65 +767,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3F880A3B207BE8F000087A6B /* Build configuration list for PBXNativeTarget "ConfigCat iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3F880A3C207BE8F000087A6B /* Debug */, - 3F880A3D207BE8F000087A6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F880A3E207BE8F000087A6B /* Build configuration list for PBXNativeTarget "ConfigCat iOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3F880A3F207BE8F000087A6B /* Debug */, - 3F880A40207BE8F000087A6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F880A5A207BECB100087A6B /* Build configuration list for PBXNativeTarget "ConfigCat macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3F880A5B207BECB100087A6B /* Debug */, - 3F880A5C207BECB100087A6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F880A5D207BECB100087A6B /* Build configuration list for PBXNativeTarget "ConfigCat macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3F880A5E207BECB100087A6B /* Debug */, - 3F880A5F207BECB100087A6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F880A85207BEEEB00087A6B /* Build configuration list for PBXNativeTarget "ConfigCat tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3F880A86207BEEEB00087A6B /* Debug */, - 3F880A87207BEEEB00087A6B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F880A88207BEEEB00087A6B /* Build configuration list for PBXNativeTarget "ConfigCat tvOSTests" */ = { + B4BD2ACB258CA6FF007371E2 /* Build configuration list for PBXNativeTarget "ConfigCat" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3F880A89207BEEEB00087A6B /* Debug */, - 3F880A8A207BEEEB00087A6B /* Release */, + B4BD2ACC258CA6FF007371E2 /* Debug */, + B4BD2ACD258CA6FF007371E2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3F880A97207BF05400087A6B /* Build configuration list for PBXNativeTarget "ConfigCat watchOS" */ = { + B4BD2B0E258CA7DF007371E2 /* Build configuration list for PBXNativeTarget "ConfigCat Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3F880A98207BF05400087A6B /* Debug */, - 3F880A99207BF05400087A6B /* Release */, + B4BD2B0F258CA7DF007371E2 /* Debug */, + B4BD2B10258CA7DF007371E2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat Coverage.xcscheme b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat Coverage.xcscheme index 8c43e34..8e14c89 100644 --- a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat Coverage.xcscheme +++ b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat Coverage.xcscheme @@ -1,6 +1,6 @@ - - - - @@ -41,34 +27,17 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" - codeCoverageEnabled = "YES" - onlyGenerateCoverageForSpecifiedTargets = "YES"> - - - - - - - - + codeCoverageEnabled = "YES"> + skipped = "NO" + parallelizable = "YES" + testExecutionOrdering = "random"> @@ -84,15 +53,6 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - - - - diff --git a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat iOS.xcscheme b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat iOS.xcscheme deleted file mode 100644 index 2289dc4..0000000 --- a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat iOS.xcscheme +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat macOS.xcscheme b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat macOS.xcscheme deleted file mode 100644 index f972d87..0000000 --- a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat macOS.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat tvOS.xcscheme b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat tvOS.xcscheme deleted file mode 100644 index 8f660c9..0000000 --- a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat watchOS.xcscheme b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat.xcscheme similarity index 73% rename from ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat watchOS.xcscheme rename to ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat.xcscheme index 96d874e..dcaa050 100644 --- a/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat watchOS.xcscheme +++ b/ConfigCat.xcodeproj/xcshareddata/xcschemes/ConfigCat.xcscheme @@ -1,6 +1,6 @@ @@ -28,9 +28,19 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + - - - - - - - - diff --git a/DEPLOY.md b/DEPLOY.md index f194347..77335de 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -5,7 +5,7 @@ pod lib lint ``` 2. Run tests -3. Increase the version in the ConfigCat.podspec file (`spec.version`). +3. Increase the version in the ConfigCat.podspec file (`spec.version`), the `ConfigFetcher.swift` file (`private static let version: String`) and may need to update ConfigCat.xcconfig (MARKETING_VERSION) as well. 4. Commit & push. ## Publish Use the **same version** for the git tag as in the podspec. diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..b068a00 --- /dev/null +++ b/Package.swift @@ -0,0 +1,42 @@ +// swift-tools-version:5.3 + +import PackageDescription + +let package = Package( + name: "ConfigCat", + platforms: [ + .iOS(.v10), + .watchOS(.v3), + .tvOS(.v10), + .macOS(.v10_12) + ], + products: [ + .library(name: "ConfigCat", type: .dynamic, targets: ["ConfigCat"]) + ], + dependencies: [], + targets: [ + .target(name: "Version", + dependencies: [], + exclude: ["LICENSE" , "version.txt"], + linkerSettings: [ + .linkedFramework("Foundation"), + ]), + .target(name: "ConfigCat", + dependencies: ["Version"], + exclude: ["Resources/ConfigCat.h", "Resources/Info.plist"], + swiftSettings: [ + .define("DEBUG", .when(configuration: .debug)) + ], + linkerSettings: [ + .linkedFramework("Foundation"), + ]), + .testTarget(name: "ConfigCatTests", + dependencies: ["ConfigCat"], + exclude: ["Resources/Info.plist"], + resources: [ + .process("Resources")] + ) + + ], + swiftLanguageVersions: [.v4] +) diff --git a/README.md b/README.md index 3d3669b..248d1c8 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,20 @@ github "configcat/swift-sdk" ``` Then, run the `carthage update` command and then follow the [Carthage integration steps](https://github.com/Carthage/Carthage#getting-started) to link the framework with your project. +**Swift Package Manager:** + +You can add ConfigCat to an Xcode project by adding it as a package dependency. + +> https://github.com/configcat/swift-sdk + +If you want to use ConfigCat in a [SwiftPM](https://swift.org/package-manager/) project, it's as simple as adding a `dependencies` clause to your `Package.swift`: + +``` swift +dependencies: [ + .package(url: "https://github.com/configcat/swift-sdk", from: "7.2.0") +] +``` + ### 2. Go to Connect your application tab to get your *SDK Key*: ![SDK-KEY](https://raw.githubusercontent.com/ConfigCat/swift-sdk/master/media/readme01.png "SDK-KEY") diff --git a/Sources/AsyncResult.swift b/Sources/ConfigCat/AsyncResult.swift similarity index 100% rename from Sources/AsyncResult.swift rename to Sources/ConfigCat/AsyncResult.swift diff --git a/Sources/AutoPollingPolicy.swift b/Sources/ConfigCat/AutoPollingPolicy.swift similarity index 100% rename from Sources/AutoPollingPolicy.swift rename to Sources/ConfigCat/AutoPollingPolicy.swift diff --git a/Sources/Config.swift b/Sources/ConfigCat/Config.swift similarity index 100% rename from Sources/Config.swift rename to Sources/ConfigCat/Config.swift diff --git a/Sources/ConfigCache.swift b/Sources/ConfigCat/ConfigCache.swift similarity index 100% rename from Sources/ConfigCache.swift rename to Sources/ConfigCat/ConfigCache.swift diff --git a/Sources/ConfigCatClient.swift b/Sources/ConfigCat/ConfigCatClient.swift similarity index 100% rename from Sources/ConfigCatClient.swift rename to Sources/ConfigCat/ConfigCatClient.swift diff --git a/Sources/ConfigCatClientProtocol.swift b/Sources/ConfigCat/ConfigCatClientProtocol.swift similarity index 100% rename from Sources/ConfigCatClientProtocol.swift rename to Sources/ConfigCat/ConfigCatClientProtocol.swift diff --git a/Sources/ConfigCatUser.swift b/Sources/ConfigCat/ConfigCatUser.swift similarity index 100% rename from Sources/ConfigCatUser.swift rename to Sources/ConfigCat/ConfigCatUser.swift diff --git a/Sources/ConfigFetcher.swift b/Sources/ConfigCat/ConfigFetcher.swift similarity index 98% rename from Sources/ConfigFetcher.swift rename to Sources/ConfigCat/ConfigFetcher.swift index 65e1267..261d42b 100755 --- a/Sources/ConfigFetcher.swift +++ b/Sources/ConfigCat/ConfigFetcher.swift @@ -54,7 +54,7 @@ struct FetchResponse { } class ConfigFetcher : NSObject { - fileprivate static let version: String = Bundle(for: ConfigFetcher.self).infoDictionary?["CFBundleShortVersionString"] as! String + private static let version: String = "7.2.0" fileprivate let log: Logger fileprivate let session: URLSession fileprivate var url: String diff --git a/Sources/ConfigParser.swift b/Sources/ConfigCat/ConfigParser.swift similarity index 100% rename from Sources/ConfigParser.swift rename to Sources/ConfigCat/ConfigParser.swift diff --git a/Sources/KeyValue.swift b/Sources/ConfigCat/KeyValue.swift similarity index 100% rename from Sources/KeyValue.swift rename to Sources/ConfigCat/KeyValue.swift diff --git a/Sources/LazyLoadingPolicy.swift b/Sources/ConfigCat/LazyLoadingPolicy.swift similarity index 100% rename from Sources/LazyLoadingPolicy.swift rename to Sources/ConfigCat/LazyLoadingPolicy.swift diff --git a/Sources/Log.swift b/Sources/ConfigCat/Log.swift similarity index 100% rename from Sources/Log.swift rename to Sources/ConfigCat/Log.swift diff --git a/Sources/ManualPollingPolicy.swift b/Sources/ConfigCat/ManualPollingPolicy.swift similarity index 100% rename from Sources/ManualPollingPolicy.swift rename to Sources/ConfigCat/ManualPollingPolicy.swift diff --git a/Sources/PollingMode.swift b/Sources/ConfigCat/PollingMode.swift similarity index 100% rename from Sources/PollingMode.swift rename to Sources/ConfigCat/PollingMode.swift diff --git a/Sources/PollingModes.swift b/Sources/ConfigCat/PollingModes.swift similarity index 100% rename from Sources/PollingModes.swift rename to Sources/ConfigCat/PollingModes.swift diff --git a/Sources/RefreshPolicy.swift b/Sources/ConfigCat/RefreshPolicy.swift similarity index 100% rename from Sources/RefreshPolicy.swift rename to Sources/ConfigCat/RefreshPolicy.swift diff --git a/Assets/ConfigCat.h b/Sources/ConfigCat/Resources/ConfigCat.h similarity index 100% rename from Assets/ConfigCat.h rename to Sources/ConfigCat/Resources/ConfigCat.h diff --git a/Assets/Info-iOS.plist b/Sources/ConfigCat/Resources/Info.plist similarity index 95% rename from Assets/Info-iOS.plist rename to Sources/ConfigCat/Resources/Info.plist index 1007fd9..fcd3639 100755 --- a/Assets/Info-iOS.plist +++ b/Sources/ConfigCat/Resources/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0 + $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/Sources/RolloutEvaluator.swift b/Sources/ConfigCat/RolloutEvaluator.swift similarity index 99% rename from Sources/RolloutEvaluator.swift rename to Sources/ConfigCat/RolloutEvaluator.swift index 79c658c..10385ee 100644 --- a/Sources/RolloutEvaluator.swift +++ b/Sources/ConfigCat/RolloutEvaluator.swift @@ -2,6 +2,10 @@ import Foundation import CommonCrypto import os.log +#if SWIFT_PACKAGE +import Version +#endif + class RolloutEvaluator { fileprivate static let comparatorTexts = [ "IS ONE OF", diff --git a/Sources/Synced.swift b/Sources/ConfigCat/Synced.swift similarity index 100% rename from Sources/Synced.swift rename to Sources/ConfigCat/Synced.swift diff --git a/Version/LICENSE b/Sources/Version/LICENSE similarity index 100% rename from Version/LICENSE rename to Sources/Version/LICENSE diff --git a/Version/Version+Codable.swift b/Sources/Version/Version+Codable.swift similarity index 100% rename from Version/Version+Codable.swift rename to Sources/Version/Version+Codable.swift diff --git a/Version/Version+Comparable.swift b/Sources/Version/Version+Comparable.swift similarity index 100% rename from Version/Version+Comparable.swift rename to Sources/Version/Version+Comparable.swift diff --git a/Version/Version+Foundation.swift b/Sources/Version/Version+Foundation.swift similarity index 100% rename from Version/Version+Foundation.swift rename to Sources/Version/Version+Foundation.swift diff --git a/Version/Version+Range.swift b/Sources/Version/Version+Range.swift similarity index 100% rename from Version/Version+Range.swift rename to Sources/Version/Version+Range.swift diff --git a/Version/Version.swift b/Sources/Version/Version.swift similarity index 100% rename from Version/Version.swift rename to Sources/Version/Version.swift diff --git a/Version/version.txt b/Sources/Version/version.txt similarity index 100% rename from Version/version.txt rename to Sources/Version/version.txt diff --git a/Tests/AutoPollingTests.swift b/Tests/ConfigCatTests/AutoPollingTests.swift similarity index 99% rename from Tests/AutoPollingTests.swift rename to Tests/ConfigCatTests/AutoPollingTests.swift index 1fb3856..9e8311e 100755 --- a/Tests/AutoPollingTests.swift +++ b/Tests/ConfigCatTests/AutoPollingTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class AutoPollingTests: XCTestCase { diff --git a/Tests/ConfigCatClientTests.swift b/Tests/ConfigCatTests/ConfigCatClientTests.swift similarity index 99% rename from Tests/ConfigCatClientTests.swift rename to Tests/ConfigCatTests/ConfigCatClientTests.swift index 62ed2d4..b0b2dcf 100755 --- a/Tests/ConfigCatClientTests.swift +++ b/Tests/ConfigCatTests/ConfigCatClientTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class ConfigCatClientTests: XCTestCase { var mockSession = MockURLSession() diff --git a/Tests/ConfigFetcherTests.swift b/Tests/ConfigCatTests/ConfigFetcherTests.swift similarity index 98% rename from Tests/ConfigFetcherTests.swift rename to Tests/ConfigCatTests/ConfigFetcherTests.swift index 76a659b..ad1c336 100755 --- a/Tests/ConfigFetcherTests.swift +++ b/Tests/ConfigCatTests/ConfigFetcherTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class ConfigFetcherTests: XCTestCase { diff --git a/Tests/DataGovernanceTests.swift b/Tests/ConfigCatTests/DataGovernanceTests.swift similarity index 99% rename from Tests/DataGovernanceTests.swift rename to Tests/ConfigCatTests/DataGovernanceTests.swift index b73d94b..b7f3b5e 100644 --- a/Tests/DataGovernanceTests.swift +++ b/Tests/ConfigCatTests/DataGovernanceTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class DataGovernanceTests: XCTestCase { private let jsonTemplate: String = "{ \"p\": { \"u\": \"%@\", \"r\": %@ }, \"f\": {} }" diff --git a/Tests/LazyLoadingAsyncTests.swift b/Tests/ConfigCatTests/LazyLoadingAsyncTests.swift similarity index 98% rename from Tests/LazyLoadingAsyncTests.swift rename to Tests/ConfigCatTests/LazyLoadingAsyncTests.swift index 92c0286..ea45b46 100755 --- a/Tests/LazyLoadingAsyncTests.swift +++ b/Tests/ConfigCatTests/LazyLoadingAsyncTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class LazyLoadingAsyncTests: XCTestCase { diff --git a/Tests/LazyLoadingSyncTests.swift b/Tests/ConfigCatTests/LazyLoadingSyncTests.swift similarity index 99% rename from Tests/LazyLoadingSyncTests.swift rename to Tests/ConfigCatTests/LazyLoadingSyncTests.swift index ea80113..9b760ee 100755 --- a/Tests/LazyLoadingSyncTests.swift +++ b/Tests/ConfigCatTests/LazyLoadingSyncTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class LazyLoadingSyncTests: XCTestCase { diff --git a/Tests/ManualPollingTests.swift b/Tests/ConfigCatTests/ManualPollingTests.swift similarity index 98% rename from Tests/ManualPollingTests.swift rename to Tests/ConfigCatTests/ManualPollingTests.swift index da98d69..4a6f006 100755 --- a/Tests/ManualPollingTests.swift +++ b/Tests/ConfigCatTests/ManualPollingTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class ManualPollingTests: XCTestCase { diff --git a/Tests/Mock.swift b/Tests/ConfigCatTests/Mock.swift similarity index 98% rename from Tests/Mock.swift rename to Tests/ConfigCatTests/Mock.swift index c8556b2..ad1fa3a 100755 --- a/Tests/Mock.swift +++ b/Tests/ConfigCatTests/Mock.swift @@ -1,5 +1,5 @@ import Foundation -import ConfigCat +@testable import ConfigCat class MockURLSessionDataTask: URLSessionDataTask { private let closure: () -> () diff --git a/Tests/Info-iOS.plist b/Tests/ConfigCatTests/Resources/Info.plist similarity index 100% rename from Tests/Info-iOS.plist rename to Tests/ConfigCatTests/Resources/Info.plist diff --git a/Tests/testmatrix.csv b/Tests/ConfigCatTests/Resources/testmatrix.csv similarity index 100% rename from Tests/testmatrix.csv rename to Tests/ConfigCatTests/Resources/testmatrix.csv diff --git a/Tests/testmatrix_number.csv b/Tests/ConfigCatTests/Resources/testmatrix_number.csv similarity index 100% rename from Tests/testmatrix_number.csv rename to Tests/ConfigCatTests/Resources/testmatrix_number.csv diff --git a/Tests/testmatrix_semantic.csv b/Tests/ConfigCatTests/Resources/testmatrix_semantic.csv similarity index 100% rename from Tests/testmatrix_semantic.csv rename to Tests/ConfigCatTests/Resources/testmatrix_semantic.csv diff --git a/Tests/testmatrix_semantic_2.csv b/Tests/ConfigCatTests/Resources/testmatrix_semantic_2.csv similarity index 100% rename from Tests/testmatrix_semantic_2.csv rename to Tests/ConfigCatTests/Resources/testmatrix_semantic_2.csv diff --git a/Tests/testmatrix_sensitive.csv b/Tests/ConfigCatTests/Resources/testmatrix_sensitive.csv similarity index 100% rename from Tests/testmatrix_sensitive.csv rename to Tests/ConfigCatTests/Resources/testmatrix_sensitive.csv diff --git a/Tests/testmatrix_variationId.csv b/Tests/ConfigCatTests/Resources/testmatrix_variationId.csv similarity index 100% rename from Tests/testmatrix_variationId.csv rename to Tests/ConfigCatTests/Resources/testmatrix_variationId.csv diff --git a/Tests/RolloutIntegrationTests.swift b/Tests/ConfigCatTests/RolloutIntegrationTests.swift similarity index 97% rename from Tests/RolloutIntegrationTests.swift rename to Tests/ConfigCatTests/RolloutIntegrationTests.swift index 5e3c577..5a5b6b1 100644 --- a/Tests/RolloutIntegrationTests.swift +++ b/Tests/ConfigCatTests/RolloutIntegrationTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class RolloutIntegrationTests: XCTestCase { enum TestType { @@ -8,7 +8,11 @@ class RolloutIntegrationTests: XCTestCase { } lazy var testBundle: Bundle = { - return Bundle(for: type(of: self)) + #if SWIFT_PACKAGE + return Bundle.module + #else + return Bundle(for: type(of: self)) + #endif }() func testRolloutMatrixText() throws { diff --git a/Tests/VariationIdTests.swift b/Tests/ConfigCatTests/VariationIdTests.swift similarity index 99% rename from Tests/VariationIdTests.swift rename to Tests/ConfigCatTests/VariationIdTests.swift index 7d2d755..4869c50 100755 --- a/Tests/VariationIdTests.swift +++ b/Tests/ConfigCatTests/VariationIdTests.swift @@ -1,5 +1,5 @@ import XCTest -import ConfigCat +@testable import ConfigCat class VariationIdTests: XCTestCase { var mockSession = MockURLSession() diff --git a/Tests/Info-macOS.plist b/Tests/Info-macOS.plist deleted file mode 100755 index 6c40a6c..0000000 --- a/Tests/Info-macOS.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/Tests/Info-tvOS.plist b/Tests/Info-tvOS.plist deleted file mode 100755 index 6c40a6c..0000000 --- a/Tests/Info-tvOS.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - -