diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..b6e19bd --- /dev/null +++ b/Package.swift @@ -0,0 +1,30 @@ +// swift-tools-version:5.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "TBEmptyDataSet", + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "TBEmptyDataSet", + targets: ["TBEmptyDataSet"]), + ], + 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 this package depends on. + .target( + name: "TBEmptyDataSet", + dependencies: [], + path: "Sources"), + .testTarget( + name: "TBEmptyDataSetTests", + dependencies: ["TBEmptyDataSet"], + path: "Tests"), + ] +) diff --git a/README.md b/README.md index e86875c..713abe1 100644 --- a/README.md +++ b/README.md @@ -8,21 +8,10 @@ TBEmptyDataSet can be composed of an image, a title and a description, or you ca ## How To Get Started -### Carthage -Specify "TBEmptyDataSet" in your ```Cartfile```: -```ogdl -github "teambition/TBEmptyDataSet" -``` +### Swift Package Manager -### CocoaPods -Specify "TBEmptyDataSet" in your ```Podfile```: -```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' -use_frameworks! +Specify "https://github.com/thejeff77/TBEmptyDataSet.git" to add the Swift Package: -pod 'TBEmptyDataSet' -``` ### Usage ##### 1. Assign the data source and delegate diff --git a/TBEmptyDataSet/Constants.swift b/Sources/Constants.swift similarity index 100% rename from TBEmptyDataSet/Constants.swift rename to Sources/Constants.swift diff --git a/TBEmptyDataSet/EmptyDataView.swift b/Sources/EmptyDataView.swift similarity index 100% rename from TBEmptyDataSet/EmptyDataView.swift rename to Sources/EmptyDataView.swift diff --git a/TBEmptyDataSet/Protocols.swift b/Sources/Protocols.swift similarity index 100% rename from TBEmptyDataSet/Protocols.swift rename to Sources/Protocols.swift diff --git a/TBEmptyDataSet/TBEmptyDataSet.swift b/Sources/TBEmptyDataSet.swift similarity index 100% rename from TBEmptyDataSet/TBEmptyDataSet.swift rename to Sources/TBEmptyDataSet.swift diff --git a/TBEmptyDataSet/WeakObjectContainer.swift b/Sources/WeakObjectContainer.swift similarity index 100% rename from TBEmptyDataSet/WeakObjectContainer.swift rename to Sources/WeakObjectContainer.swift diff --git a/TBEmptyDataSet.podspec b/TBEmptyDataSet.podspec deleted file mode 100644 index 42e73be..0000000 --- a/TBEmptyDataSet.podspec +++ /dev/null @@ -1,19 +0,0 @@ -Pod::Spec.new do |s| - - s.name = "TBEmptyDataSet" - s.version = "3.0.2" - s.summary = "An extension of UITableView/UICollectionView's super class, it will display a placeholder when the data is empty." - - s.homepage = "https://github.com/teambition/TBEmptyDataSet" - s.license = { :type => "MIT", :file => "LICENSE.md" } - s.author = "Xin Hong" - - s.source = { :git => "https://github.com/teambition/TBEmptyDataSet.git", :tag => s.version.to_s } - s.source_files = "TBEmptyDataSet/*.swift" - - s.platform = :ios, "8.0" - s.requires_arc = true - - s.frameworks = "Foundation", "UIKit" - -end diff --git a/TBEmptyDataSet.xcodeproj/project.pbxproj b/TBEmptyDataSet.xcodeproj/project.pbxproj deleted file mode 100644 index 8413fe4..0000000 --- a/TBEmptyDataSet.xcodeproj/project.pbxproj +++ /dev/null @@ -1,343 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - D331287B1DCC259C00773E72 /* WeakObjectContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D331287A1DCC259C00773E72 /* WeakObjectContainer.swift */; }; - D33C7C741C44DCA000E1687A /* TBEmptyDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D33C7C731C44DCA000E1687A /* TBEmptyDataSet.swift */; }; - D33C7C781C44DF0A00E1687A /* EmptyDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D33C7C771C44DF0A00E1687A /* EmptyDataView.swift */; }; - D33C7C7A1C44E17000E1687A /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = D33C7C791C44E17000E1687A /* Constants.swift */; }; - D33C7C7C1C44E21700E1687A /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = D33C7C7B1C44E21700E1687A /* Protocols.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - D331287A1DCC259C00773E72 /* WeakObjectContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WeakObjectContainer.swift; sourceTree = ""; }; - D33C7C671C44DBED00E1687A /* TBEmptyDataSet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TBEmptyDataSet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D33C7C731C44DCA000E1687A /* TBEmptyDataSet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TBEmptyDataSet.swift; sourceTree = ""; }; - D33C7C751C44DCC200E1687A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D33C7C771C44DF0A00E1687A /* EmptyDataView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmptyDataView.swift; sourceTree = ""; }; - D33C7C791C44E17000E1687A /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - D33C7C7B1C44E21700E1687A /* Protocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Protocols.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D33C7C631C44DBED00E1687A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - D33C7C5D1C44DBED00E1687A = { - isa = PBXGroup; - children = ( - D33C7C691C44DBED00E1687A /* TBEmptyDataSet */, - D33C7C721C44DC8B00E1687A /* Supporting Files */, - D33C7C681C44DBED00E1687A /* Products */, - ); - sourceTree = ""; - }; - D33C7C681C44DBED00E1687A /* Products */ = { - isa = PBXGroup; - children = ( - D33C7C671C44DBED00E1687A /* TBEmptyDataSet.framework */, - ); - name = Products; - sourceTree = ""; - }; - D33C7C691C44DBED00E1687A /* TBEmptyDataSet */ = { - isa = PBXGroup; - children = ( - D33C7C791C44E17000E1687A /* Constants.swift */, - D33C7C7B1C44E21700E1687A /* Protocols.swift */, - D33C7C771C44DF0A00E1687A /* EmptyDataView.swift */, - D33C7C731C44DCA000E1687A /* TBEmptyDataSet.swift */, - D331287A1DCC259C00773E72 /* WeakObjectContainer.swift */, - ); - path = TBEmptyDataSet; - sourceTree = ""; - }; - D33C7C721C44DC8B00E1687A /* Supporting Files */ = { - isa = PBXGroup; - children = ( - D33C7C751C44DCC200E1687A /* Info.plist */, - ); - name = "Supporting Files"; - path = "TBEmptyDataSet/Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D33C7C641C44DBED00E1687A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D33C7C661C44DBED00E1687A /* TBEmptyDataSet */ = { - isa = PBXNativeTarget; - buildConfigurationList = D33C7C6F1C44DBED00E1687A /* Build configuration list for PBXNativeTarget "TBEmptyDataSet" */; - buildPhases = ( - D33C7C621C44DBED00E1687A /* Sources */, - D33C7C631C44DBED00E1687A /* Frameworks */, - D33C7C641C44DBED00E1687A /* Headers */, - D33C7C651C44DBED00E1687A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = TBEmptyDataSet; - productName = TBEmptyDataSet; - productReference = D33C7C671C44DBED00E1687A /* TBEmptyDataSet.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D33C7C5E1C44DBED00E1687A /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1020; - ORGANIZATIONNAME = Teambition; - TargetAttributes = { - D33C7C661C44DBED00E1687A = { - CreatedOnToolsVersion = 7.2; - LastSwiftMigration = 1020; - }; - }; - }; - buildConfigurationList = D33C7C611C44DBED00E1687A /* Build configuration list for PBXProject "TBEmptyDataSet" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = D33C7C5D1C44DBED00E1687A; - productRefGroup = D33C7C681C44DBED00E1687A /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D33C7C661C44DBED00E1687A /* TBEmptyDataSet */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - D33C7C651C44DBED00E1687A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - D33C7C621C44DBED00E1687A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D33C7C781C44DF0A00E1687A /* EmptyDataView.swift in Sources */, - D331287B1DCC259C00773E72 /* WeakObjectContainer.swift in Sources */, - D33C7C7C1C44E21700E1687A /* Protocols.swift in Sources */, - D33C7C741C44DCA000E1687A /* TBEmptyDataSet.swift in Sources */, - D33C7C7A1C44E17000E1687A /* Constants.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - D33C7C6D1C44DBED00E1687A /* 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"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D33C7C6E1C44DBED00E1687A /* 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_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - D33C7C701C44DBED00E1687A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(SRCROOT)/TBEmptyDataSet/Supporting Files/Info.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 = Teambition.TBEmptyDataSet; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - D33C7C711C44DBED00E1687A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(SRCROOT)/TBEmptyDataSet/Supporting Files/Info.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 = Teambition.TBEmptyDataSet; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - D33C7C611C44DBED00E1687A /* Build configuration list for PBXProject "TBEmptyDataSet" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D33C7C6D1C44DBED00E1687A /* Debug */, - D33C7C6E1C44DBED00E1687A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D33C7C6F1C44DBED00E1687A /* Build configuration list for PBXNativeTarget "TBEmptyDataSet" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D33C7C701C44DBED00E1687A /* Debug */, - D33C7C711C44DBED00E1687A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D33C7C5E1C44DBED00E1687A /* Project object */; -} diff --git a/TBEmptyDataSet.xcodeproj/xcshareddata/xcschemes/TBEmptyDataSet.xcscheme b/TBEmptyDataSet.xcodeproj/xcshareddata/xcschemes/TBEmptyDataSet.xcscheme deleted file mode 100644 index 51cd004..0000000 --- a/TBEmptyDataSet.xcodeproj/xcshareddata/xcschemes/TBEmptyDataSet.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TBEmptyDataSet.xcodeproj/xcuserdata/hongxin.xcuserdatad/xcschemes/xcschememanagement.plist b/TBEmptyDataSet.xcodeproj/xcuserdata/hongxin.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 9fb9117..0000000 --- a/TBEmptyDataSet.xcodeproj/xcuserdata/hongxin.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - TBEmptyDataSet.xcscheme_^#shared#^_ - - orderHint - 0 - - - SuppressBuildableAutocreation - - D33C7C661C44DBED00E1687A - - primary - - - - - diff --git a/TBEmptyDataSet.xcworkspace/contents.xcworkspacedata b/TBEmptyDataSet.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 127fc85..0000000 --- a/TBEmptyDataSet.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/TBEmptyDataSet.xcworkspace/xcuserdata/zetasq.xcuserdatad/UserInterfaceState.xcuserstate b/TBEmptyDataSet.xcworkspace/xcuserdata/zetasq.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 4efadae..0000000 Binary files a/TBEmptyDataSet.xcworkspace/xcuserdata/zetasq.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/TBEmptyDataSet/Supporting Files/Info.plist b/TBEmptyDataSet/Supporting Files/Info.plist deleted file mode 100644 index 49ca846..0000000 --- a/TBEmptyDataSet/Supporting Files/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.0.2 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/TBEmptyDataSetExample.xcodeproj/project.pbxproj b/TBEmptyDataSetExample.xcodeproj/project.pbxproj index 7c8aeb9..1b67d19 100644 --- a/TBEmptyDataSetExample.xcodeproj/project.pbxproj +++ b/TBEmptyDataSetExample.xcodeproj/project.pbxproj @@ -3,13 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ + 95F5B7B025A15B290075EB37 /* TBEmptyDataSet in Frameworks */ = {isa = PBXBuildFile; productRef = 95F5B7AF25A15B290075EB37 /* TBEmptyDataSet */; }; D3013DFB1C06B7FA00266EE2 /* DemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3013DFA1C06B7FA00266EE2 /* DemoViewController.swift */; }; - D33C7C801C44E9A800E1687A /* TBEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D33C7C7F1C44E9A800E1687A /* TBEmptyDataSet.framework */; }; - D33C7C811C44E9A800E1687A /* TBEmptyDataSet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D33C7C7F1C44E9A800E1687A /* TBEmptyDataSet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D3565AA31BFD9449002CFA16 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3565AA21BFD9449002CFA16 /* AppDelegate.swift */; }; D3565AA81BFD9449002CFA16 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D3565AA61BFD9449002CFA16 /* Main.storyboard */; }; D3565AAA1BFD9449002CFA16 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D3565AA91BFD9449002CFA16 /* Assets.xcassets */; }; @@ -24,7 +23,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D33C7C811C44E9A800E1687A /* TBEmptyDataSet.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -33,7 +31,6 @@ /* Begin PBXFileReference section */ D3013DFA1C06B7FA00266EE2 /* DemoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DemoViewController.swift; sourceTree = ""; }; - D33C7C7F1C44E9A800E1687A /* TBEmptyDataSet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = TBEmptyDataSet.framework; path = "/Users/hongxin/Library/Developer/Xcode/DerivedData/TBEmptyDataSet-cgdivxseqtlgnzctplvlotcjtyby/Build/Products/Debug-iphoneos/TBEmptyDataSet.framework"; sourceTree = ""; }; D3565A9F1BFD9449002CFA16 /* TBEmptyDataSetExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TBEmptyDataSetExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; D3565AA21BFD9449002CFA16 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; D3565AA71BFD9449002CFA16 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -48,7 +45,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D33C7C801C44E9A800E1687A /* TBEmptyDataSet.framework in Frameworks */, + 95F5B7B025A15B290075EB37 /* TBEmptyDataSet in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -58,7 +55,6 @@ D3565A961BFD9449002CFA16 = { isa = PBXGroup; children = ( - D33C7C7F1C44E9A800E1687A /* TBEmptyDataSet.framework */, D3565AA11BFD9449002CFA16 /* Example */, D3565AA01BFD9449002CFA16 /* Products */, ); @@ -104,6 +100,9 @@ dependencies = ( ); name = TBEmptyDataSetExample; + packageProductDependencies = ( + 95F5B7AF25A15B290075EB37 /* TBEmptyDataSet */, + ); productName = TBEmptyDataSet; productReference = D3565A9F1BFD9449002CFA16 /* TBEmptyDataSetExample.app */; productType = "com.apple.product-type.application"; @@ -115,7 +114,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1230; ORGANIZATIONNAME = Teambition; TargetAttributes = { D3565A9E1BFD9449002CFA16 = { @@ -133,6 +132,9 @@ Base, ); mainGroup = D3565A961BFD9449002CFA16; + packageReferences = ( + 95F5B7AE25A15B290075EB37 /* XCRemoteSwiftPackageReference "TBEmptyDataSet" */, + ); productRefGroup = D3565AA01BFD9449002CFA16 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -219,6 +221,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -243,7 +246,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -275,6 +278,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -293,10 +297,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -306,9 +311,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = Teambition.TBEmptyDataSetExample; PRODUCT_NAME = TBEmptyDataSetExample; SWIFT_VERSION = 5.0; @@ -319,9 +328,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = Teambition.TBEmptyDataSetExample; PRODUCT_NAME = TBEmptyDataSetExample; SWIFT_VERSION = 5.0; @@ -350,6 +363,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 95F5B7AE25A15B290075EB37 /* XCRemoteSwiftPackageReference "TBEmptyDataSet" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/thejeff77/TBEmptyDataSet.git"; + requirement = { + kind = exactVersion; + version = 4.0.2; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 95F5B7AF25A15B290075EB37 /* TBEmptyDataSet */ = { + isa = XCSwiftPackageProductDependency; + package = 95F5B7AE25A15B290075EB37 /* XCRemoteSwiftPackageReference "TBEmptyDataSet" */; + productName = TBEmptyDataSet; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = D3565A971BFD9449002CFA16 /* Project object */; } diff --git a/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata index cce1cc2..919434a 100644 --- a/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/TBEmptyDataSet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from TBEmptyDataSet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..a6ef90e --- /dev/null +++ b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,16 @@ +{ + "object": { + "pins": [ + { + "package": "TBEmptyDataSet", + "repositoryURL": "https://github.com/thejeff77/TBEmptyDataSet.git", + "state": { + "branch": null, + "revision": "6e92ca383792c40f77ab7c7ce4adabc6178a0287", + "version": "4.0.2" + } + } + ] + }, + "version": 1 +} diff --git a/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcuserdata/jeffreyblayney.xcuserdatad/UserInterfaceState.xcuserstate b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcuserdata/jeffreyblayney.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..22d5fdf Binary files /dev/null and b/TBEmptyDataSetExample.xcodeproj/project.xcworkspace/xcuserdata/jeffreyblayney.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TBEmptyDataSet.xcodeproj/xcuserdata/zetasq.xcuserdatad/xcschemes/xcschememanagement.plist b/TBEmptyDataSetExample.xcodeproj/xcuserdata/jeffreyblayney.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 60% rename from TBEmptyDataSet.xcodeproj/xcuserdata/zetasq.xcuserdatad/xcschemes/xcschememanagement.plist rename to TBEmptyDataSetExample.xcodeproj/xcuserdata/jeffreyblayney.xcuserdatad/xcschemes/xcschememanagement.plist index 9fb9117..d15ac80 100644 --- a/TBEmptyDataSet.xcodeproj/xcuserdata/zetasq.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/TBEmptyDataSetExample.xcodeproj/xcuserdata/jeffreyblayney.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,19 +4,11 @@ SchemeUserState - TBEmptyDataSet.xcscheme_^#shared#^_ + TBEmptyDataSetExample.xcscheme_^#shared#^_ orderHint 0 - SuppressBuildableAutocreation - - D33C7C661C44DBED00E1687A - - primary - - - diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift new file mode 100644 index 0000000..862e2a5 --- /dev/null +++ b/Tests/LinuxMain.swift @@ -0,0 +1,7 @@ +import XCTest + +import TBEmptyDataSetTests + +var tests = [XCTestCaseEntry]() +tests += TBEmptyDataSetTests.allTests() +XCTMain(tests) diff --git a/Tests/TBEmptyDataSetTests/TBEmptyDataSetTests.swift b/Tests/TBEmptyDataSetTests/TBEmptyDataSetTests.swift new file mode 100644 index 0000000..726a874 --- /dev/null +++ b/Tests/TBEmptyDataSetTests/TBEmptyDataSetTests.swift @@ -0,0 +1,15 @@ +import XCTest +@testable import TBEmptyDataSet + +final class TBEmptyDataSetTests: 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(TBEmptyDataSet().text, "Hello, World!") + } + + static var allTests = [ + ("testExample", testExample), + ] +} diff --git a/Tests/TBEmptyDataSetTests/XCTestManifests.swift b/Tests/TBEmptyDataSetTests/XCTestManifests.swift new file mode 100644 index 0000000..5035004 --- /dev/null +++ b/Tests/TBEmptyDataSetTests/XCTestManifests.swift @@ -0,0 +1,9 @@ +import XCTest + +#if !canImport(ObjectiveC) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(TBEmptyDataSetTests.allTests), + ] +} +#endif