diff --git a/Configs/Needs.plist b/Configs/Needs.plist
new file mode 100644
index 0000000..346a02a
--- /dev/null
+++ b/Configs/Needs.plist
@@ -0,0 +1,28 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ NSHumanReadableCopyright
+ Copyright © 2020 Jérôme Alves. All rights reserved.
+ NSPrincipalClass
+
+
+
diff --git a/Configs/NeedsTests.plist b/Configs/NeedsTests.plist
new file mode 100644
index 0000000..ba72822
--- /dev/null
+++ b/Configs/NeedsTests.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/Needs.podspec b/Needs.podspec
new file mode 100644
index 0000000..4147d99
--- /dev/null
+++ b/Needs.podspec
@@ -0,0 +1,19 @@
+Pod::Spec.new do |s|
+ s.name = "Needs"
+ s.version = "0.1"
+ s.summary = ""
+ s.description = <<-DESC
+ Your description here.
+ DESC
+ s.homepage = "https://github.com/jegnux/Needs"
+ s.license = { :type => "MIT", :file => "LICENSE" }
+ s.author = { "Jérôme Alves" => "j.alves@me.com" }
+ s.social_media_url = ""
+ s.ios.deployment_target = "8.0"
+ s.osx.deployment_target = "10.9"
+ s.watchos.deployment_target = "2.0"
+ s.tvos.deployment_target = "9.0"
+ s.source = { :git => "https://github.com/jegnux/Needs.git", :tag => s.version.to_s }
+ s.source_files = "Sources/**/*"
+ s.frameworks = "Foundation"
+end
diff --git a/Needs.xcodeproj/project.pbxproj b/Needs.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..d0fd899
--- /dev/null
+++ b/Needs.xcodeproj/project.pbxproj
@@ -0,0 +1,993 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 47;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 52D6D9871BEFF229002C0205 /* Needs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6D97C1BEFF229002C0205 /* Needs.framework */; };
+ 8933C7851EB5B820000D00A4 /* Needs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7841EB5B820000D00A4 /* Needs.swift */; };
+ 8933C7861EB5B820000D00A4 /* Needs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7841EB5B820000D00A4 /* Needs.swift */; };
+ 8933C7871EB5B820000D00A4 /* Needs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7841EB5B820000D00A4 /* Needs.swift */; };
+ 8933C7881EB5B820000D00A4 /* Needs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7841EB5B820000D00A4 /* Needs.swift */; };
+ 8933C78E1EB5B82C000D00A4 /* NeedsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7891EB5B82A000D00A4 /* NeedsTests.swift */; };
+ 8933C78F1EB5B82C000D00A4 /* NeedsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7891EB5B82A000D00A4 /* NeedsTests.swift */; };
+ 8933C7901EB5B82D000D00A4 /* NeedsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7891EB5B82A000D00A4 /* NeedsTests.swift */; };
+ DD7502881C68FEDE006590AF /* Needs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6DA0F1BF000BD002C0205 /* Needs.framework */; };
+ DD7502921C690C7A006590AF /* Needs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6D9F01BEFFFBE002C0205 /* Needs.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 52D6D9881BEFF229002C0205 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 52D6D9731BEFF229002C0205 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 52D6D97B1BEFF229002C0205;
+ remoteInfo = Needs;
+ };
+ DD7502801C68FCFC006590AF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 52D6D9731BEFF229002C0205 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 52D6DA0E1BF000BD002C0205;
+ remoteInfo = "Needs-macOS";
+ };
+ DD7502931C690C7A006590AF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 52D6D9731BEFF229002C0205 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 52D6D9EF1BEFFFBE002C0205;
+ remoteInfo = "Needs-tvOS";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 52D6D97C1BEFF229002C0205 /* Needs.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Needs.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 52D6D9861BEFF229002C0205 /* Needs-iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Needs-iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 52D6D9E21BEFFF6E002C0205 /* Needs.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Needs.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 52D6D9F01BEFFFBE002C0205 /* Needs.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Needs.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 52D6DA0F1BF000BD002C0205 /* Needs.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Needs.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8933C7841EB5B820000D00A4 /* Needs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Needs.swift; sourceTree = ""; };
+ 8933C7891EB5B82A000D00A4 /* NeedsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NeedsTests.swift; sourceTree = ""; };
+ AD2FAA261CD0B6D800659CF4 /* Needs.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Needs.plist; sourceTree = ""; };
+ AD2FAA281CD0B6E100659CF4 /* NeedsTests.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = NeedsTests.plist; sourceTree = ""; };
+ DD75027A1C68FCFC006590AF /* Needs-macOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Needs-macOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ DD75028D1C690C7A006590AF /* Needs-tvOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Needs-tvOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 52D6D9781BEFF229002C0205 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9831BEFF229002C0205 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 52D6D9871BEFF229002C0205 /* Needs.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9DE1BEFFF6E002C0205 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9EC1BEFFFBE002C0205 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6DA0B1BF000BD002C0205 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD7502771C68FCFC006590AF /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DD7502881C68FEDE006590AF /* Needs.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD75028A1C690C7A006590AF /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DD7502921C690C7A006590AF /* Needs.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 52D6D9721BEFF229002C0205 = {
+ isa = PBXGroup;
+ children = (
+ 8933C7811EB5B7E0000D00A4 /* Sources */,
+ 8933C7831EB5B7EB000D00A4 /* Tests */,
+ 52D6D99C1BEFF38C002C0205 /* Configs */,
+ 52D6D97D1BEFF229002C0205 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 52D6D97D1BEFF229002C0205 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 52D6D97C1BEFF229002C0205 /* Needs.framework */,
+ 52D6D9861BEFF229002C0205 /* Needs-iOS Tests.xctest */,
+ 52D6D9E21BEFFF6E002C0205 /* Needs.framework */,
+ 52D6D9F01BEFFFBE002C0205 /* Needs.framework */,
+ 52D6DA0F1BF000BD002C0205 /* Needs.framework */,
+ DD75027A1C68FCFC006590AF /* Needs-macOS Tests.xctest */,
+ DD75028D1C690C7A006590AF /* Needs-tvOS Tests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 52D6D99C1BEFF38C002C0205 /* Configs */ = {
+ isa = PBXGroup;
+ children = (
+ DD7502721C68FC1B006590AF /* Frameworks */,
+ DD7502731C68FC20006590AF /* Tests */,
+ );
+ path = Configs;
+ sourceTree = "";
+ };
+ 8933C7811EB5B7E0000D00A4 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 8933C7841EB5B820000D00A4 /* Needs.swift */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ 8933C7831EB5B7EB000D00A4 /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 8933C7891EB5B82A000D00A4 /* NeedsTests.swift */,
+ );
+ name = Tests;
+ path = Tests/NeedsTests;
+ sourceTree = "";
+ };
+ DD7502721C68FC1B006590AF /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ AD2FAA261CD0B6D800659CF4 /* Needs.plist */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ DD7502731C68FC20006590AF /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ AD2FAA281CD0B6E100659CF4 /* NeedsTests.plist */,
+ );
+ name = Tests;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 52D6D9791BEFF229002C0205 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9DF1BEFFF6E002C0205 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9ED1BEFFFBE002C0205 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6DA0C1BF000BD002C0205 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 52D6D97B1BEFF229002C0205 /* Needs-iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 52D6D9901BEFF229002C0205 /* Build configuration list for PBXNativeTarget "Needs-iOS" */;
+ buildPhases = (
+ 52D6D9771BEFF229002C0205 /* Sources */,
+ 52D6D9781BEFF229002C0205 /* Frameworks */,
+ 52D6D9791BEFF229002C0205 /* Headers */,
+ 52D6D97A1BEFF229002C0205 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Needs-iOS";
+ productName = Needs;
+ productReference = 52D6D97C1BEFF229002C0205 /* Needs.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ 52D6D9851BEFF229002C0205 /* Needs-iOS Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 52D6D9931BEFF229002C0205 /* Build configuration list for PBXNativeTarget "Needs-iOS Tests" */;
+ buildPhases = (
+ 52D6D9821BEFF229002C0205 /* Sources */,
+ 52D6D9831BEFF229002C0205 /* Frameworks */,
+ 52D6D9841BEFF229002C0205 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 52D6D9891BEFF229002C0205 /* PBXTargetDependency */,
+ );
+ name = "Needs-iOS Tests";
+ productName = NeedsTests;
+ productReference = 52D6D9861BEFF229002C0205 /* Needs-iOS Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 52D6D9E11BEFFF6E002C0205 /* Needs-watchOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 52D6D9E71BEFFF6E002C0205 /* Build configuration list for PBXNativeTarget "Needs-watchOS" */;
+ buildPhases = (
+ 52D6D9DD1BEFFF6E002C0205 /* Sources */,
+ 52D6D9DE1BEFFF6E002C0205 /* Frameworks */,
+ 52D6D9DF1BEFFF6E002C0205 /* Headers */,
+ 52D6D9E01BEFFF6E002C0205 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Needs-watchOS";
+ productName = "Needs-watchOS";
+ productReference = 52D6D9E21BEFFF6E002C0205 /* Needs.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ 52D6D9EF1BEFFFBE002C0205 /* Needs-tvOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 52D6DA011BEFFFBE002C0205 /* Build configuration list for PBXNativeTarget "Needs-tvOS" */;
+ buildPhases = (
+ 52D6D9EB1BEFFFBE002C0205 /* Sources */,
+ 52D6D9EC1BEFFFBE002C0205 /* Frameworks */,
+ 52D6D9ED1BEFFFBE002C0205 /* Headers */,
+ 52D6D9EE1BEFFFBE002C0205 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Needs-tvOS";
+ productName = "Needs-tvOS";
+ productReference = 52D6D9F01BEFFFBE002C0205 /* Needs.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ 52D6DA0E1BF000BD002C0205 /* Needs-macOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 52D6DA201BF000BD002C0205 /* Build configuration list for PBXNativeTarget "Needs-macOS" */;
+ buildPhases = (
+ 52D6DA0A1BF000BD002C0205 /* Sources */,
+ 52D6DA0B1BF000BD002C0205 /* Frameworks */,
+ 52D6DA0C1BF000BD002C0205 /* Headers */,
+ 52D6DA0D1BF000BD002C0205 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Needs-macOS";
+ productName = "Needs-macOS";
+ productReference = 52D6DA0F1BF000BD002C0205 /* Needs.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ DD7502791C68FCFC006590AF /* Needs-macOS Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DD7502821C68FCFC006590AF /* Build configuration list for PBXNativeTarget "Needs-macOS Tests" */;
+ buildPhases = (
+ DD7502761C68FCFC006590AF /* Sources */,
+ DD7502771C68FCFC006590AF /* Frameworks */,
+ DD7502781C68FCFC006590AF /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ DD7502811C68FCFC006590AF /* PBXTargetDependency */,
+ );
+ name = "Needs-macOS Tests";
+ productName = "Needs-OS Tests";
+ productReference = DD75027A1C68FCFC006590AF /* Needs-macOS Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ DD75028C1C690C7A006590AF /* Needs-tvOS Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DD7502951C690C7A006590AF /* Build configuration list for PBXNativeTarget "Needs-tvOS Tests" */;
+ buildPhases = (
+ DD7502891C690C7A006590AF /* Sources */,
+ DD75028A1C690C7A006590AF /* Frameworks */,
+ DD75028B1C690C7A006590AF /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ DD7502941C690C7A006590AF /* PBXTargetDependency */,
+ );
+ name = "Needs-tvOS Tests";
+ productName = "Needs-tvOS Tests";
+ productReference = DD75028D1C690C7A006590AF /* Needs-tvOS Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 52D6D9731BEFF229002C0205 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftUpdateCheck = 0720;
+ LastUpgradeCheck = 1020;
+ ORGANIZATIONNAME = Needs;
+ TargetAttributes = {
+ 52D6D97B1BEFF229002C0205 = {
+ CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
+ };
+ 52D6D9851BEFF229002C0205 = {
+ CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
+ };
+ 52D6D9E11BEFFF6E002C0205 = {
+ CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
+ };
+ 52D6D9EF1BEFFFBE002C0205 = {
+ CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
+ };
+ 52D6DA0E1BF000BD002C0205 = {
+ CreatedOnToolsVersion = 7.1;
+ LastSwiftMigration = 1020;
+ };
+ DD7502791C68FCFC006590AF = {
+ CreatedOnToolsVersion = 7.2.1;
+ LastSwiftMigration = 1020;
+ };
+ DD75028C1C690C7A006590AF = {
+ CreatedOnToolsVersion = 7.2.1;
+ LastSwiftMigration = 1020;
+ };
+ };
+ };
+ buildConfigurationList = 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "Needs" */;
+ compatibilityVersion = "Xcode 6.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 52D6D9721BEFF229002C0205;
+ productRefGroup = 52D6D97D1BEFF229002C0205 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 52D6D97B1BEFF229002C0205 /* Needs-iOS */,
+ 52D6DA0E1BF000BD002C0205 /* Needs-macOS */,
+ 52D6D9E11BEFFF6E002C0205 /* Needs-watchOS */,
+ 52D6D9EF1BEFFFBE002C0205 /* Needs-tvOS */,
+ 52D6D9851BEFF229002C0205 /* Needs-iOS Tests */,
+ DD7502791C68FCFC006590AF /* Needs-macOS Tests */,
+ DD75028C1C690C7A006590AF /* Needs-tvOS Tests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 52D6D97A1BEFF229002C0205 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9841BEFF229002C0205 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9E01BEFFF6E002C0205 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9EE1BEFFFBE002C0205 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6DA0D1BF000BD002C0205 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD7502781C68FCFC006590AF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD75028B1C690C7A006590AF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 52D6D9771BEFF229002C0205 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C7851EB5B820000D00A4 /* Needs.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9821BEFF229002C0205 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C7901EB5B82D000D00A4 /* NeedsTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9DD1BEFFF6E002C0205 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C7871EB5B820000D00A4 /* Needs.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6D9EB1BEFFFBE002C0205 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C7881EB5B820000D00A4 /* Needs.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 52D6DA0A1BF000BD002C0205 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C7861EB5B820000D00A4 /* Needs.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD7502761C68FCFC006590AF /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C78F1EB5B82C000D00A4 /* NeedsTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ DD7502891C690C7A006590AF /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8933C78E1EB5B82C000D00A4 /* NeedsTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 52D6D9891BEFF229002C0205 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 52D6D97B1BEFF229002C0205 /* Needs-iOS */;
+ targetProxy = 52D6D9881BEFF229002C0205 /* PBXContainerItemProxy */;
+ };
+ DD7502811C68FCFC006590AF /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 52D6DA0E1BF000BD002C0205 /* Needs-macOS */;
+ targetProxy = DD7502801C68FCFC006590AF /* PBXContainerItemProxy */;
+ };
+ DD7502941C690C7A006590AF /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 52D6D9EF1BEFFFBE002C0205 /* Needs-tvOS */;
+ targetProxy = DD7502931C690C7A006590AF /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 52D6D98E1BEFF229002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ 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_IMPLICIT_RETAIN_SELF = 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_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Debug;
+ };
+ 52D6D98F1BEFF229002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ 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_IMPLICIT_RETAIN_SELF = 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_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = Release;
+ };
+ 52D6D9911BEFF229002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ CLANG_ENABLE_MODULES = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ ONLY_ACTIVE_ARCH = NO;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-iOS";
+ PRODUCT_NAME = Needs;
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ 52D6D9921BEFF229002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ CLANG_ENABLE_MODULES = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-iOS";
+ PRODUCT_NAME = Needs;
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+ 52D6D9941BEFF229002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-iOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ 52D6D9951BEFF229002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-iOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+ 52D6D9E81BEFFF6E002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-watchOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = watchos;
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 4;
+ WATCHOS_DEPLOYMENT_TARGET = 2.0;
+ };
+ name = Debug;
+ };
+ 52D6D9E91BEFFF6E002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-watchOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = watchos;
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 4;
+ WATCHOS_DEPLOYMENT_TARGET = 2.0;
+ };
+ name = Release;
+ };
+ 52D6DA021BEFFFBE002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-tvOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = appletvos;
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TVOS_DEPLOYMENT_TARGET = 9.0;
+ };
+ name = Debug;
+ };
+ 52D6DA031BEFFFBE002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-tvOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = appletvos;
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TVOS_DEPLOYMENT_TARGET = 9.0;
+ };
+ name = Release;
+ };
+ 52D6DA211BF000BD002C0205 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-macOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = macosx;
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ 52D6DA221BF000BD002C0205 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = Configs/Needs.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-macOS";
+ PRODUCT_NAME = Needs;
+ SDKROOT = macosx;
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+ DD7502831C68FCFC006590AF /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-macOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ DD7502841C68FCFC006590AF /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-macOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+ DD7502961C690C7A006590AF /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-tvOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_VERSION = 5.0;
+ TVOS_DEPLOYMENT_TARGET = 9.1;
+ };
+ name = Debug;
+ };
+ DD7502971C690C7A006590AF /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Configs/NeedsTests.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.Needs.Needs-tvOS-Tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TVOS_DEPLOYMENT_TARGET = 9.1;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "Needs" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6D98E1BEFF229002C0205 /* Debug */,
+ 52D6D98F1BEFF229002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 52D6D9901BEFF229002C0205 /* Build configuration list for PBXNativeTarget "Needs-iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6D9911BEFF229002C0205 /* Debug */,
+ 52D6D9921BEFF229002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 52D6D9931BEFF229002C0205 /* Build configuration list for PBXNativeTarget "Needs-iOS Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6D9941BEFF229002C0205 /* Debug */,
+ 52D6D9951BEFF229002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 52D6D9E71BEFFF6E002C0205 /* Build configuration list for PBXNativeTarget "Needs-watchOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6D9E81BEFFF6E002C0205 /* Debug */,
+ 52D6D9E91BEFFF6E002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 52D6DA011BEFFFBE002C0205 /* Build configuration list for PBXNativeTarget "Needs-tvOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6DA021BEFFFBE002C0205 /* Debug */,
+ 52D6DA031BEFFFBE002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 52D6DA201BF000BD002C0205 /* Build configuration list for PBXNativeTarget "Needs-macOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 52D6DA211BF000BD002C0205 /* Debug */,
+ 52D6DA221BF000BD002C0205 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DD7502821C68FCFC006590AF /* Build configuration list for PBXNativeTarget "Needs-macOS Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DD7502831C68FCFC006590AF /* Debug */,
+ DD7502841C68FCFC006590AF /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DD7502951C690C7A006590AF /* Build configuration list for PBXNativeTarget "Needs-tvOS Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DD7502961C690C7A006590AF /* Debug */,
+ DD7502971C690C7A006590AF /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 52D6D9731BEFF229002C0205 /* Project object */;
+}
diff --git a/Needs.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Needs.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/Needs.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Needs.xcodeproj/xcshareddata/xcschemes/Needs-iOS.xcscheme b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-iOS.xcscheme
new file mode 100644
index 0000000..fe79937
--- /dev/null
+++ b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-iOS.xcscheme
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Needs.xcodeproj/xcshareddata/xcschemes/Needs-macOS.xcscheme b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-macOS.xcscheme
new file mode 100644
index 0000000..636f4a0
--- /dev/null
+++ b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-macOS.xcscheme
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Needs.xcodeproj/xcshareddata/xcschemes/Needs-tvOS.xcscheme b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-tvOS.xcscheme
new file mode 100644
index 0000000..e26697d
--- /dev/null
+++ b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-tvOS.xcscheme
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Needs.xcodeproj/xcshareddata/xcschemes/Needs-watchOS.xcscheme b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-watchOS.xcscheme
new file mode 100644
index 0000000..5e5fdac
--- /dev/null
+++ b/Needs.xcodeproj/xcshareddata/xcschemes/Needs-watchOS.xcscheme
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..752f400
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,28 @@
+// swift-tools-version:4.0
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "Needs",
+ products: [
+ // Products define the executables and libraries produced by a package, and make them visible to other packages.
+ .library(
+ name: "Needs",
+ targets: ["Needs"]),
+ ],
+ dependencies: [
+ // Dependencies declare other packages that this package depends on.
+ // .package(url: /* package url */, from: "1.0.0"),
+ ],
+ targets: [
+ // Targets are the basic building blocks of a package. A target can define a module or a test suite.
+ // Targets can depend on other targets in this package, and on products in packages which this package depends on.
+ .target(
+ name: "Needs",
+ dependencies: []),
+ .testTarget(
+ name: "NeedsTests",
+ dependencies: ["Needs"]),
+ ]
+)
diff --git a/Sources/Needs.swift b/Sources/Needs.swift
new file mode 100644
index 0000000..2096c52
--- /dev/null
+++ b/Sources/Needs.swift
@@ -0,0 +1,9 @@
+//
+// Needs.swift
+// Needs
+//
+// Created by Jérôme Alves on 23/12/2020.
+// Copyright © 2020 Needs. All rights reserved.
+//
+
+import Foundation
diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift
new file mode 100644
index 0000000..0cc441a
--- /dev/null
+++ b/Tests/LinuxMain.swift
@@ -0,0 +1,6 @@
+import XCTest
+@testable import NeedsTests
+
+XCTMain([
+ testCase(NeedsTests.allTests),
+])
diff --git a/Tests/NeedsTests/NeedsTests.swift b/Tests/NeedsTests/NeedsTests.swift
new file mode 100644
index 0000000..2c17128
--- /dev/null
+++ b/Tests/NeedsTests/NeedsTests.swift
@@ -0,0 +1,23 @@
+//
+// NeedsTests.swift
+// Needs
+//
+// Created by Jérôme Alves on 23/12/2020.
+// Copyright © 2020 Needs. All rights reserved.
+//
+
+import Foundation
+import XCTest
+import Needs
+
+class NeedsTests: XCTestCase {
+ func testExample() {
+ // This is an example of a functional test case.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ //// XCTAssertEqual(Needs().text, "Hello, World!")
+ }
+
+ static var allTests = [
+ ("testExample", testExample),
+ ]
+}