From d0806853eb16e7a851a914d22eaa8300321c497f Mon Sep 17 00:00:00 2001 From: Stefan Herold <794372+Blackjacx@users.noreply.github.com> Date: Wed, 10 Jul 2024 23:05:38 +0200 Subject: [PATCH] Make Columbus a Swift Package --- .spi.yml | 2 +- Columbus.podspec | 25 - Columbus.xcodeproj/project.pbxproj | 1103 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/Columbus-iOS.xcscheme | 95 -- .../xcschemes/Columbus-tvOS.xcscheme | 95 -- Columbus.xcworkspace/contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../ColumbusExample.xcodeproj/project.pbxproj | 182 +-- Package.swift | 24 + README.md | 40 +- Source/Classes/ColumbusMain.swift | 29 - Source/Columbus.h | 19 - Source/Resources/.gitkeep | 0 Source/Resources/Info.plist | 24 - Sources/Columbus/ColumbusMain.swift | 22 + .../Columbus}/Configurable.swift | 0 .../Columbus}/Country.swift | 0 .../Columbus}/CountryCell.swift | 0 .../Columbus}/CountryList.swift | 0 ...tryPickerViewController+DisplayState.swift | 0 .../CountryPickerViewController.swift | 66 +- .../Columbus}/CountryView.swift | 0 .../Columbus}/EmptyDecodable.swift | 0 .../Columbus/Resources}/.gitkeep | 0 .../Columbus}/Resources/Countries.json | 0 .../Columbus}/UIView+Subviews.swift | 7 +- {Source => Sources}/Info.plist | 0 Tests/{ => ColumbusTests}/ColumbusTests.swift | 0 30 files changed, 129 insertions(+), 1637 deletions(-) delete mode 100644 Columbus.podspec delete mode 100644 Columbus.xcodeproj/project.pbxproj delete mode 100644 Columbus.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 Columbus.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-iOS.xcscheme delete mode 100644 Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-tvOS.xcscheme delete mode 100644 Columbus.xcworkspace/contents.xcworkspacedata delete mode 100644 Columbus.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Package.swift delete mode 100644 Source/Classes/ColumbusMain.swift delete mode 100644 Source/Columbus.h delete mode 100644 Source/Resources/.gitkeep delete mode 100644 Source/Resources/Info.plist create mode 100644 Sources/Columbus/ColumbusMain.swift rename {Source/Classes => Sources/Columbus}/Configurable.swift (100%) rename {Source/Classes => Sources/Columbus}/Country.swift (100%) rename {Source/Classes => Sources/Columbus}/CountryCell.swift (100%) rename {Source/Classes => Sources/Columbus}/CountryList.swift (100%) rename {Source/Classes => Sources/Columbus}/CountryPickerViewController+DisplayState.swift (100%) rename {Source/Classes => Sources/Columbus}/CountryPickerViewController.swift (92%) rename {Source/Classes => Sources/Columbus}/CountryView.swift (100%) rename {Source/Classes => Sources/Columbus}/EmptyDecodable.swift (100%) rename {Source/Classes => Sources/Columbus/Resources}/.gitkeep (100%) rename {Source => Sources/Columbus}/Resources/Countries.json (100%) rename {Source/Classes => Sources/Columbus}/UIView+Subviews.swift (72%) rename {Source => Sources}/Info.plist (100%) rename Tests/{ => ColumbusTests}/ColumbusTests.swift (100%) diff --git a/.spi.yml b/.spi.yml index dc49f1a..6cc903b 100644 --- a/.spi.yml +++ b/.spi.yml @@ -1,4 +1,4 @@ -version: 1.7.6 +version: 1 builder: configs: - documentation_targets: [Columbus] \ No newline at end of file diff --git a/Columbus.podspec b/Columbus.podspec deleted file mode 100644 index a6c28fe..0000000 --- a/Columbus.podspec +++ /dev/null @@ -1,25 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'Columbus' - s.version = '1.9.0' - s.license = { :type => 'MIT', :file => 'LICENSE' } - s.summary = 'A country picker for iOS, tvOS and watchOS.' - s.description = <<-DESC - A country picker for iOS, tvOS and watchOS with features you will only find distributed in many different country-picker implementations. - DESC - s.homepage = 'https://github.com/blackjacx/Columbus' - s.social_media_url = 'https://twitter.com/Blackjacxxx' - s.author = { 'Stefan Herold' => 'stefan.herold@gmail.com' } - s.source = { :git => 'https://github.com/blackjacx/Columbus.git', :tag => s.version.to_s } - s.source_files = 'Source/Classes/**/*' - s.swift_versions = ['5.4'] - - s.ios.deployment_target = '13.0' - s.tvos.deployment_target = '13.0' - - s.resource_bundles = { - 'Resources' => ['Source/Resources/*.{json,xcassets}'] - } - - s.frameworks = 'UIKit' -end - diff --git a/Columbus.xcodeproj/project.pbxproj b/Columbus.xcodeproj/project.pbxproj deleted file mode 100644 index ebf65f6..0000000 --- a/Columbus.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1103 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 55; - objects = { - -/* Begin PBXBuildFile section */ - B905891D230233B800491105 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = B905891C230233B800491105 /* UIView+Subviews.swift */; }; - B905891E230233BC00491105 /* UIView+Subviews.swift in Sources */ = {isa = PBXBuildFile; fileRef = B905891C230233B800491105 /* UIView+Subviews.swift */; }; - B933818725CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B933818625CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift */; }; - B933818825CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B933818625CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift */; }; - B94B1AF921CD38B400FF1B72 /* Country.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8788F21CD28EC00273F82 /* Country.swift */; }; - B94B1AFA21CD38B400FF1B72 /* CountryList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8788E21CD28EC00273F82 /* CountryList.swift */; }; - B94B1AFB21CD38B400FF1B72 /* Configurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789421CD28EC00273F82 /* Configurable.swift */; }; - B94B1AFC21CD38B400FF1B72 /* CountryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789321CD28EC00273F82 /* CountryCell.swift */; }; - B94B1AFD21CD38B400FF1B72 /* CountryPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789221CD28EC00273F82 /* CountryPickerViewController.swift */; }; - B94B1AFE21CD38B400FF1B72 /* ColumbusMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789021CD28EC00273F82 /* ColumbusMain.swift */; }; - B94B1AFF21CD38B400FF1B72 /* CountryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789121CD28EC00273F82 /* CountryView.swift */; }; - B96D495D21CD3DC20010E69B /* Countries.json in Resources */ = {isa = PBXBuildFile; fileRef = B9F8789721CD28EC00273F82 /* Countries.json */; }; - B9A4A65721D0F409001FF5DC /* Resources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B96D496221CD3DC20010E69B /* Resources.bundle */; }; - B9A4A65A21D0FC14001FF5DC /* ColumbusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A4A65921D0FC14001FF5DC /* ColumbusTests.swift */; }; - B9A4A65B21D0FC14001FF5DC /* ColumbusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A4A65921D0FC14001FF5DC /* ColumbusTests.swift */; }; - B9A4A67321D145EB001FF5DC /* Countries.json in Resources */ = {isa = PBXBuildFile; fileRef = B9F8789721CD28EC00273F82 /* Countries.json */; }; - B9A4A67D21D146A1001FF5DC /* Resources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B9A4A67821D145EB001FF5DC /* Resources.bundle */; }; - B9CAAB1425E1BEB4004BA1BF /* EmptyDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAAB1325E1BEB4004BA1BF /* EmptyDecodable.swift */; }; - B9CAAB1525E1BEB4004BA1BF /* EmptyDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAAB1325E1BEB4004BA1BF /* EmptyDecodable.swift */; }; - B9DB66ED21DF924600E9BB35 /* Columbus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B94B1B0621CD38B400FF1B72 /* Columbus.framework */; }; - B9F8789C21CD28EC00273F82 /* CountryList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8788E21CD28EC00273F82 /* CountryList.swift */; }; - B9F8789D21CD28EC00273F82 /* Country.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8788F21CD28EC00273F82 /* Country.swift */; }; - B9F8789E21CD28EC00273F82 /* ColumbusMain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789021CD28EC00273F82 /* ColumbusMain.swift */; }; - B9F8789F21CD28EC00273F82 /* CountryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789121CD28EC00273F82 /* CountryView.swift */; }; - B9F878A021CD28EC00273F82 /* CountryPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789221CD28EC00273F82 /* CountryPickerViewController.swift */; }; - B9F878A121CD28EC00273F82 /* CountryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789321CD28EC00273F82 /* CountryCell.swift */; }; - B9F878A221CD28EC00273F82 /* Configurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F8789421CD28EC00273F82 /* Configurable.swift */; }; - B9F878B121CD2A4E00273F82 /* Columbus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9F8788321CD28A200273F82 /* Columbus.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - B96D496421CD3E4C0010E69B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 607FACC81AFB9204008FA782 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B96D495921CD3DC20010E69B; - remoteInfo = "Resources-iOS"; - }; - B9A4A67E21D1483C001FF5DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 607FACC81AFB9204008FA782 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B9A4A66F21D145EB001FF5DC; - remoteInfo = "Resources-tvOS"; - }; - B9DB81FE21D0EE7800A39677 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 607FACC81AFB9204008FA782 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B94B1AF421CD38B400FF1B72; - remoteInfo = "Columbus-tvOS"; - }; - B9F878B221CD2A4E00273F82 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 607FACC81AFB9204008FA782 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B9F8788221CD28A200273F82; - remoteInfo = Columbus; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - B905891C230233B800491105 /* UIView+Subviews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Subviews.swift"; sourceTree = ""; }; - B933818625CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CountryPickerViewController+DisplayState.swift"; sourceTree = ""; }; - B94B1B0621CD38B400FF1B72 /* Columbus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Columbus.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B96D496221CD3DC20010E69B /* Resources.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Resources.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - B9A4A65921D0FC14001FF5DC /* ColumbusTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColumbusTests.swift; sourceTree = ""; }; - B9A4A67821D145EB001FF5DC /* Resources.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Resources.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - B9CAAB1325E1BEB4004BA1BF /* EmptyDecodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyDecodable.swift; sourceTree = ""; }; - B9DB81FC21D0E9F500A39677 /* Columbus-tvOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Columbus-tvOS-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - B9F8787821CD27FE00273F82 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - B9F8787921CD27FE00273F82 /* Gemfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Gemfile; sourceTree = ""; }; - B9F8787A21CD27FE00273F82 /* Columbus.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = Columbus.podspec; sourceTree = ""; }; - B9F8787B21CD27FE00273F82 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - B9F8787C21CD27FE00273F82 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; - B9F8787D21CD27FE00273F82 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = AUTHORS; sourceTree = ""; }; - B9F8788321CD28A200273F82 /* Columbus.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Columbus.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B9F8788E21CD28EC00273F82 /* CountryList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryList.swift; sourceTree = ""; }; - B9F8788F21CD28EC00273F82 /* Country.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Country.swift; sourceTree = ""; }; - B9F8789021CD28EC00273F82 /* ColumbusMain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColumbusMain.swift; sourceTree = ""; }; - B9F8789121CD28EC00273F82 /* CountryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryView.swift; sourceTree = ""; }; - B9F8789221CD28EC00273F82 /* CountryPickerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryPickerViewController.swift; sourceTree = ""; }; - B9F8789321CD28EC00273F82 /* CountryCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryCell.swift; sourceTree = ""; }; - B9F8789421CD28EC00273F82 /* Configurable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Configurable.swift; sourceTree = ""; }; - B9F8789721CD28EC00273F82 /* Countries.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Countries.json; sourceTree = ""; }; - B9F8789921CD28EC00273F82 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B9F8789A21CD28EC00273F82 /* Columbus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Columbus.h; sourceTree = ""; }; - B9F878AC21CD2A4D00273F82 /* Columbus-iOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Columbus-iOS-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - B9F878B721CD2AB200273F82 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B9F8793721CD320600273F82 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - B94B1B0021CD38B400FF1B72 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B96D495B21CD3DC20010E69B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9A4A67121D145EB001FF5DC /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9DB81F421D0E9F500A39677 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B9DB66ED21DF924600E9BB35 /* Columbus.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F8788021CD28A200273F82 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F878A921CD2A4D00273F82 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B9F878B121CD2A4E00273F82 /* Columbus.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 607FACC71AFB9204008FA782 = { - isa = PBXGroup; - children = ( - 607FACF51AFB993E008FA782 /* Metadata */, - B9F8788B21CD28EC00273F82 /* Source */, - 607FACE81AFB9204008FA782 /* Tests */, - 607FACD11AFB9204008FA782 /* Products */, - 799CEB9EFAE19AD086AA53E6 /* Frameworks */, - ); - sourceTree = ""; - }; - 607FACD11AFB9204008FA782 /* Products */ = { - isa = PBXGroup; - children = ( - B9F8788321CD28A200273F82 /* Columbus.framework */, - B9F878AC21CD2A4D00273F82 /* Columbus-iOS-Tests.xctest */, - B94B1B0621CD38B400FF1B72 /* Columbus.framework */, - B96D496221CD3DC20010E69B /* Resources.bundle */, - B9DB81FC21D0E9F500A39677 /* Columbus-tvOS-Tests.xctest */, - B9A4A67821D145EB001FF5DC /* Resources.bundle */, - ); - name = Products; - sourceTree = ""; - }; - 607FACE81AFB9204008FA782 /* Tests */ = { - isa = PBXGroup; - children = ( - B9A4A65921D0FC14001FF5DC /* ColumbusTests.swift */, - 607FACE91AFB9204008FA782 /* Supporting Files */, - ); - path = Tests; - sourceTree = ""; - }; - 607FACE91AFB9204008FA782 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - B9F878B721CD2AB200273F82 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 607FACF51AFB993E008FA782 /* Metadata */ = { - isa = PBXGroup; - children = ( - B9F8787D21CD27FE00273F82 /* AUTHORS */, - B9F8787921CD27FE00273F82 /* Gemfile */, - B9F8787821CD27FE00273F82 /* LICENSE */, - B9F8787C21CD27FE00273F82 /* CHANGELOG.md */, - B9F8787B21CD27FE00273F82 /* README.md */, - B9F8787A21CD27FE00273F82 /* Columbus.podspec */, - ); - name = Metadata; - sourceTree = ""; - }; - 799CEB9EFAE19AD086AA53E6 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - B9F8788B21CD28EC00273F82 /* Source */ = { - isa = PBXGroup; - children = ( - B9F8789A21CD28EC00273F82 /* Columbus.h */, - B9F8789921CD28EC00273F82 /* Info.plist */, - B9F8788C21CD28EC00273F82 /* Classes */, - B9F8789521CD28EC00273F82 /* Resources */, - ); - path = Source; - sourceTree = ""; - }; - B9F8788C21CD28EC00273F82 /* Classes */ = { - isa = PBXGroup; - children = ( - B9F8789021CD28EC00273F82 /* ColumbusMain.swift */, - B9F8789421CD28EC00273F82 /* Configurable.swift */, - B9F8788F21CD28EC00273F82 /* Country.swift */, - B9CAAB1325E1BEB4004BA1BF /* EmptyDecodable.swift */, - B9F8789321CD28EC00273F82 /* CountryCell.swift */, - B9F8788E21CD28EC00273F82 /* CountryList.swift */, - B9F8789221CD28EC00273F82 /* CountryPickerViewController.swift */, - B933818625CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift */, - B9F8789121CD28EC00273F82 /* CountryView.swift */, - B905891C230233B800491105 /* UIView+Subviews.swift */, - ); - path = Classes; - sourceTree = ""; - }; - B9F8789521CD28EC00273F82 /* Resources */ = { - isa = PBXGroup; - children = ( - B9F8793721CD320600273F82 /* Info.plist */, - B9F8789721CD28EC00273F82 /* Countries.json */, - ); - path = Resources; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - B94B1AF721CD38B400FF1B72 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F8787E21CD28A200273F82 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - B94B1AF421CD38B400FF1B72 /* Columbus-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = B94B1B0321CD38B400FF1B72 /* Build configuration list for PBXNativeTarget "Columbus-tvOS" */; - buildPhases = ( - B94B1AF721CD38B400FF1B72 /* Headers */, - B94B1AF821CD38B400FF1B72 /* Sources */, - B94B1B0021CD38B400FF1B72 /* Frameworks */, - B94B1B0121CD38B400FF1B72 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B9A4A67F21D1483C001FF5DC /* PBXTargetDependency */, - ); - name = "Columbus-tvOS"; - productName = Columbus; - productReference = B94B1B0621CD38B400FF1B72 /* Columbus.framework */; - productType = "com.apple.product-type.framework"; - }; - B96D495921CD3DC20010E69B /* Resources-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = B96D495F21CD3DC20010E69B /* Build configuration list for PBXNativeTarget "Resources-iOS" */; - buildPhases = ( - B96D495A21CD3DC20010E69B /* Sources */, - B96D495B21CD3DC20010E69B /* Frameworks */, - B96D495C21CD3DC20010E69B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Resources-iOS"; - productName = Flags; - productReference = B96D496221CD3DC20010E69B /* Resources.bundle */; - productType = "com.apple.product-type.bundle"; - }; - B9A4A66F21D145EB001FF5DC /* Resources-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = B9A4A67521D145EB001FF5DC /* Build configuration list for PBXNativeTarget "Resources-tvOS" */; - buildPhases = ( - B9A4A67021D145EB001FF5DC /* Sources */, - B9A4A67121D145EB001FF5DC /* Frameworks */, - B9A4A67221D145EB001FF5DC /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Resources-tvOS"; - productName = Flags; - productReference = B9A4A67821D145EB001FF5DC /* Resources.bundle */; - productType = "com.apple.product-type.bundle"; - }; - B9DB81EE21D0E9F500A39677 /* Columbus-tvOS-Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = B9DB81F921D0E9F500A39677 /* Build configuration list for PBXNativeTarget "Columbus-tvOS-Tests" */; - buildPhases = ( - B9DB81F221D0E9F500A39677 /* Sources */, - B9DB81F421D0E9F500A39677 /* Frameworks */, - B9DB81F721D0E9F500A39677 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B9DB81FF21D0EE7800A39677 /* PBXTargetDependency */, - ); - name = "Columbus-tvOS-Tests"; - productName = ColumbusTests; - productReference = B9DB81FC21D0E9F500A39677 /* Columbus-tvOS-Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - B9F8788221CD28A200273F82 /* Columbus-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = B9F8788821CD28A200273F82 /* Build configuration list for PBXNativeTarget "Columbus-iOS" */; - buildPhases = ( - B9F8787E21CD28A200273F82 /* Headers */, - B9F8787F21CD28A200273F82 /* Sources */, - B9F8788021CD28A200273F82 /* Frameworks */, - B9F8788121CD28A200273F82 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B96D496521CD3E4C0010E69B /* PBXTargetDependency */, - ); - name = "Columbus-iOS"; - productName = Columbus; - productReference = B9F8788321CD28A200273F82 /* Columbus.framework */; - productType = "com.apple.product-type.framework"; - }; - B9F878AB21CD2A4D00273F82 /* Columbus-iOS-Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = B9F878B421CD2A4E00273F82 /* Build configuration list for PBXNativeTarget "Columbus-iOS-Tests" */; - buildPhases = ( - B9F878A821CD2A4D00273F82 /* Sources */, - B9F878A921CD2A4D00273F82 /* Frameworks */, - B9F878AA21CD2A4D00273F82 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B9F878B321CD2A4E00273F82 /* PBXTargetDependency */, - ); - name = "Columbus-iOS-Tests"; - productName = ColumbusTests; - productReference = B9F878AC21CD2A4D00273F82 /* Columbus-iOS-Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 607FACC81AFB9204008FA782 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastSwiftUpdateCheck = 1010; - LastUpgradeCheck = 1430; - ORGANIZATIONNAME = "Stefan Herold"; - TargetAttributes = { - B94B1AF421CD38B400FF1B72 = { - LastSwiftMigration = 1020; - }; - B9DB81EE21D0E9F500A39677 = { - LastSwiftMigration = 1020; - }; - B9F8788221CD28A200273F82 = { - CreatedOnToolsVersion = 10.1; - LastSwiftMigration = 1020; - }; - B9F878AB21CD2A4D00273F82 = { - CreatedOnToolsVersion = 10.1; - LastSwiftMigration = 1020; - }; - }; - }; - buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "Columbus" */; - compatibilityVersion = "Xcode 13.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 607FACC71AFB9204008FA782; - productRefGroup = 607FACD11AFB9204008FA782 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - B9F8788221CD28A200273F82 /* Columbus-iOS */, - B96D495921CD3DC20010E69B /* Resources-iOS */, - B9F878AB21CD2A4D00273F82 /* Columbus-iOS-Tests */, - B94B1AF421CD38B400FF1B72 /* Columbus-tvOS */, - B9A4A66F21D145EB001FF5DC /* Resources-tvOS */, - B9DB81EE21D0E9F500A39677 /* Columbus-tvOS-Tests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - B94B1B0121CD38B400FF1B72 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9A4A67D21D146A1001FF5DC /* Resources.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B96D495C21CD3DC20010E69B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B96D495D21CD3DC20010E69B /* Countries.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9A4A67221D145EB001FF5DC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9A4A67321D145EB001FF5DC /* Countries.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9DB81F721D0E9F500A39677 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F8788121CD28A200273F82 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9A4A65721D0F409001FF5DC /* Resources.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F878AA21CD2A4D00273F82 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - B94B1AF821CD38B400FF1B72 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B94B1AF921CD38B400FF1B72 /* Country.swift in Sources */, - B9CAAB1525E1BEB4004BA1BF /* EmptyDecodable.swift in Sources */, - B94B1AFA21CD38B400FF1B72 /* CountryList.swift in Sources */, - B94B1AFB21CD38B400FF1B72 /* Configurable.swift in Sources */, - B94B1AFC21CD38B400FF1B72 /* CountryCell.swift in Sources */, - B905891E230233BC00491105 /* UIView+Subviews.swift in Sources */, - B933818825CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift in Sources */, - B94B1AFD21CD38B400FF1B72 /* CountryPickerViewController.swift in Sources */, - B94B1AFE21CD38B400FF1B72 /* ColumbusMain.swift in Sources */, - B94B1AFF21CD38B400FF1B72 /* CountryView.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B96D495A21CD3DC20010E69B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9A4A67021D145EB001FF5DC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9DB81F221D0E9F500A39677 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9A4A65B21D0FC14001FF5DC /* ColumbusTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F8787F21CD28A200273F82 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9F8789D21CD28EC00273F82 /* Country.swift in Sources */, - B9CAAB1425E1BEB4004BA1BF /* EmptyDecodable.swift in Sources */, - B9F8789C21CD28EC00273F82 /* CountryList.swift in Sources */, - B9F878A221CD28EC00273F82 /* Configurable.swift in Sources */, - B9F878A121CD28EC00273F82 /* CountryCell.swift in Sources */, - B905891D230233B800491105 /* UIView+Subviews.swift in Sources */, - B933818725CDD4F200618FFD /* CountryPickerViewController+DisplayState.swift in Sources */, - B9F878A021CD28EC00273F82 /* CountryPickerViewController.swift in Sources */, - B9F8789E21CD28EC00273F82 /* ColumbusMain.swift in Sources */, - B9F8789F21CD28EC00273F82 /* CountryView.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B9F878A821CD2A4D00273F82 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B9A4A65A21D0FC14001FF5DC /* ColumbusTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - B96D496521CD3E4C0010E69B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B96D495921CD3DC20010E69B /* Resources-iOS */; - targetProxy = B96D496421CD3E4C0010E69B /* PBXContainerItemProxy */; - }; - B9A4A67F21D1483C001FF5DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B9A4A66F21D145EB001FF5DC /* Resources-tvOS */; - targetProxy = B9A4A67E21D1483C001FF5DC /* PBXContainerItemProxy */; - }; - B9DB81FF21D0EE7800A39677 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B94B1AF421CD38B400FF1B72 /* Columbus-tvOS */; - targetProxy = B9DB81FE21D0EE7800A39677 /* PBXContainerItemProxy */; - }; - B9F878B321CD2A4E00273F82 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B9F8788221CD28A200273F82 /* Columbus-iOS */; - targetProxy = B9F878B221CD2A4E00273F82 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 607FACED1AFB9204008FA782 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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 = ""; - CODE_SIGN_STYLE = Manual; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - 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_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TVOS_DEPLOYMENT_TARGET = 13.0; - }; - name = Debug; - }; - 607FACEE1AFB9204008FA782 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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 = ""; - CODE_SIGN_STYLE = Manual; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TVOS_DEPLOYMENT_TARGET = 13.0; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B94B1B0421CD38B400FF1B72 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CURRENT_PROJECT_VERSION = 36; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 36; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = Columbus; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B94B1B0521CD38B400FF1B72 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CURRENT_PROJECT_VERSION = 36; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 36; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = Columbus; - SDKROOT = appletvos; - SKIP_INSTALL = NO; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - B96D496021CD3DC20010E69B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus.resources; - PRODUCT_NAME = Resources; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - B96D496121CD3DC20010E69B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - COMBINE_HIDPI_IMAGES = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus.resources; - PRODUCT_NAME = Resources; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - B9A4A67621D145EB001FF5DC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus.resources; - PRODUCT_NAME = Resources; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - B9A4A67721D145EB001FF5DC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - COMBINE_HIDPI_IMAGES = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Resources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus.resources; - PRODUCT_NAME = Resources; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - B9DB81FA21D0E9F500A39677 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stefanherold.ColumbusTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - B9DB81FB21D0E9F500A39677 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stefanherold.ColumbusTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - B9F8788921CD28A200273F82 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CURRENT_PROJECT_VERSION = 36; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 36; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = Columbus; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B9F8788A21CD28A200273F82 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CURRENT_PROJECT_VERSION = 36; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 36; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stherold.columbus; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = Columbus; - SDKROOT = iphoneos; - SKIP_INSTALL = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - B9F878B521CD2A4E00273F82 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stefanherold.ColumbusTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - B9F878B621CD2A4E00273F82 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stefanherold.ColumbusTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "Columbus" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 607FACED1AFB9204008FA782 /* Debug */, - 607FACEE1AFB9204008FA782 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B94B1B0321CD38B400FF1B72 /* Build configuration list for PBXNativeTarget "Columbus-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B94B1B0421CD38B400FF1B72 /* Debug */, - B94B1B0521CD38B400FF1B72 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B96D495F21CD3DC20010E69B /* Build configuration list for PBXNativeTarget "Resources-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B96D496021CD3DC20010E69B /* Debug */, - B96D496121CD3DC20010E69B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B9A4A67521D145EB001FF5DC /* Build configuration list for PBXNativeTarget "Resources-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B9A4A67621D145EB001FF5DC /* Debug */, - B9A4A67721D145EB001FF5DC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B9DB81F921D0E9F500A39677 /* Build configuration list for PBXNativeTarget "Columbus-tvOS-Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B9DB81FA21D0E9F500A39677 /* Debug */, - B9DB81FB21D0E9F500A39677 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B9F8788821CD28A200273F82 /* Build configuration list for PBXNativeTarget "Columbus-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B9F8788921CD28A200273F82 /* Debug */, - B9F8788A21CD28A200273F82 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B9F878B421CD2A4E00273F82 /* Build configuration list for PBXNativeTarget "Columbus-iOS-Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B9F878B521CD2A4E00273F82 /* Debug */, - B9F878B621CD2A4E00273F82 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 607FACC81AFB9204008FA782 /* Project object */; -} diff --git a/Columbus.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Columbus.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 677d4bf..0000000 --- a/Columbus.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Columbus.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Columbus.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/Columbus.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-iOS.xcscheme b/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-iOS.xcscheme deleted file mode 100644 index 4e5cb6d..0000000 --- a/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-iOS.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-tvOS.xcscheme b/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-tvOS.xcscheme deleted file mode 100644 index bde84f4..0000000 --- a/Columbus.xcodeproj/xcshareddata/xcschemes/Columbus-tvOS.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Columbus.xcworkspace/contents.xcworkspacedata b/Columbus.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index c6aeba7..0000000 --- a/Columbus.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Columbus.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Columbus.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/Columbus.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/ColumbusExample.xcodeproj/project.pbxproj b/Example/ColumbusExample.xcodeproj/project.pbxproj index 03f0b57..2a6ae80 100644 --- a/Example/ColumbusExample.xcodeproj/project.pbxproj +++ b/Example/ColumbusExample.xcodeproj/project.pbxproj @@ -8,10 +8,8 @@ /* Begin PBXBuildFile section */ B933821325CDF99400618FFD /* CountryPickerStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B933821225CDF99400618FFD /* CountryPickerStoryboard.storyboard */; }; - B93D76DE23E4711B00E41863 /* Columbus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9F8797221CD36B400273F82 /* Columbus.framework */; }; - B93D76DF23E4711B00E41863 /* Columbus.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B9F8797221CD36B400273F82 /* Columbus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B93D76E123E4712000E41863 /* Columbus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B94B1B0C21CD394500FF1B72 /* Columbus.framework */; }; - B93D76E223E4712000E41863 /* Columbus.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B94B1B0C21CD394500FF1B72 /* Columbus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B9367E7E2C3F2E04000547EB /* Columbus in Frameworks */ = {isa = PBXBuildFile; productRef = B9367E7D2C3F2E04000547EB /* Columbus */; }; + B9367E802C3F2E5E000547EB /* Columbus in Frameworks */ = {isa = PBXBuildFile; productRef = B9367E7F2C3F2E5E000547EB /* Columbus */; }; B93D76EF23E4A80900E41863 /* UIColor+SemanticColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B93D76EA23E4A80900E41863 /* UIColor+SemanticColors.swift */; }; B93D76F023E4A80900E41863 /* UIColor+SemanticColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B93D76EA23E4A80900E41863 /* UIColor+SemanticColors.swift */; }; B9F8790021CD2D7F00273F82 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8326021C84F3D0008ED90 /* AppDelegate.swift */; }; @@ -21,65 +19,6 @@ B9F8791B21CD2DEF00273F82 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8326021C84F3D0008ED90 /* AppDelegate.swift */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - B94B1B0B21CD394500FF1B72 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B94B1B0621CD38B400FF1B72; - remoteInfo = "Columbus-tvOS"; - }; - B94B1B0D21CD394700FF1B72 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B94B1AF421CD38B400FF1B72; - remoteInfo = "Columbus-tvOS"; - }; - B94B1B2521CD3BEC00FF1B72 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = B9F8788221CD28A200273F82; - remoteInfo = "Columbus-iOS"; - }; - B9693323228B54FF0002B855 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B9A4A67821D145EB001FF5DC; - remoteInfo = "Resources-tvOS"; - }; - B96D498221CD3ED00010E69B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B96D496221CD3DC20010E69B; - remoteInfo = "Resources-iOS"; - }; - B9A4A66021D0FC94001FF5DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B9DB81FC21D0E9F500A39677; - remoteInfo = "Columbus-tvOS-Tests"; - }; - B9F8797121CD36B400273F82 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B9F8788321CD28A200273F82; - remoteInfo = Columbus; - }; - B9F8797321CD36B400273F82 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B9F878AC21CD2A4D00273F82; - remoteInfo = ColumbusTests; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ B93D76E023E4711B00E41863 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -87,7 +26,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - B93D76DF23E4711B00E41863 /* Columbus.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -98,7 +36,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - B93D76E223E4712000E41863 /* Columbus.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -107,6 +44,7 @@ /* Begin PBXFileReference section */ B933821225CDF99400618FFD /* CountryPickerStoryboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = CountryPickerStoryboard.storyboard; sourceTree = ""; }; + B9367E792C3F2DBF000547EB /* Columbus */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = Columbus; path = ..; sourceTree = ""; }; B93D76EA23E4A80900E41863 /* UIColor+SemanticColors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+SemanticColors.swift"; sourceTree = ""; }; B9C8326021C84F3D0008ED90 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; B9F878C921CD2CF500273F82 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; @@ -116,7 +54,6 @@ B9F878D221CD2CFE00273F82 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; B9F878D821CD2D5A00273F82 /* Columbus_iOS_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Columbus_iOS_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; B9F8790A21CD2DDA00273F82 /* Columbus_tvOS_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Columbus_tvOS_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Columbus.xcodeproj; path = ../Columbus.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -124,7 +61,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B93D76DE23E4711B00E41863 /* Columbus.framework in Frameworks */, + B9367E7E2C3F2E04000547EB /* Columbus in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -132,7 +69,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B93D76E123E4712000E41863 /* Columbus.framework in Frameworks */, + B9367E802C3F2E5E000547EB /* Columbus in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -142,10 +79,10 @@ B9C8325421C84F3D0008ED90 = { isa = PBXGroup; children = ( + B9367E792C3F2DBF000547EB /* Columbus */, B9F8797B21CD373200273F82 /* Frameworks */, B9C8325E21C84F3D0008ED90 /* Products */, B9C8325F21C84F3D0008ED90 /* Source */, - B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */, ); sourceTree = ""; }; @@ -189,19 +126,6 @@ path = tvOS; sourceTree = ""; }; - B9F8796C21CD36B400273F82 /* Products */ = { - isa = PBXGroup; - children = ( - B9F8797221CD36B400273F82 /* Columbus.framework */, - B96D498321CD3ED00010E69B /* Resources.bundle */, - B9F8797421CD36B400273F82 /* Columbus-iOS-Tests.xctest */, - B94B1B0C21CD394500FF1B72 /* Columbus.framework */, - B9693324228B54FF0002B855 /* Resources.bundle */, - B9A4A66121D0FC94001FF5DC /* Columbus-tvOS-Tests.xctest */, - ); - name = Products; - sourceTree = ""; - }; B9F8797B21CD373200273F82 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -224,9 +148,12 @@ buildRules = ( ); dependencies = ( - B94B1B2621CD3BEC00FF1B72 /* PBXTargetDependency */, + B9367E7B2C3F2DD5000547EB /* PBXTargetDependency */, ); name = Columbus_iOS_Example; + packageProductDependencies = ( + B9367E7D2C3F2E04000547EB /* Columbus */, + ); productName = Columbus_iOS_Example; productReference = B9F878D821CD2D5A00273F82 /* Columbus_iOS_Example.app */; productType = "com.apple.product-type.application"; @@ -243,9 +170,12 @@ buildRules = ( ); dependencies = ( - B94B1B0E21CD394700FF1B72 /* PBXTargetDependency */, + B9367E822C3F2E64000547EB /* PBXTargetDependency */, ); name = Columbus_tvOS_Example; + packageProductDependencies = ( + B9367E7F2C3F2E5E000547EB /* Columbus */, + ); productName = Columbus_tvOS_Example; productReference = B9F8790A21CD2DDA00273F82 /* Columbus_tvOS_Example.app */; productType = "com.apple.product-type.application"; @@ -288,12 +218,6 @@ mainGroup = B9C8325421C84F3D0008ED90; productRefGroup = B9C8325E21C84F3D0008ED90 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = B9F8796C21CD36B400273F82 /* Products */; - ProjectRef = B9F8796B21CD36B400273F82 /* Columbus.xcodeproj */; - }, - ); projectRoot = ""; targets = ( B9F878D721CD2D5A00273F82 /* Columbus_iOS_Example */, @@ -302,51 +226,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - B94B1B0C21CD394500FF1B72 /* Columbus.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Columbus.framework; - remoteRef = B94B1B0B21CD394500FF1B72 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B9693324228B54FF0002B855 /* Resources.bundle */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = Resources.bundle; - remoteRef = B9693323228B54FF0002B855 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B96D498321CD3ED00010E69B /* Resources.bundle */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = Resources.bundle; - remoteRef = B96D498221CD3ED00010E69B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B9A4A66121D0FC94001FF5DC /* Columbus-tvOS-Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Columbus-tvOS-Tests.xctest"; - remoteRef = B9A4A66021D0FC94001FF5DC /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B9F8797221CD36B400273F82 /* Columbus.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Columbus.framework; - remoteRef = B9F8797121CD36B400273F82 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B9F8797421CD36B400273F82 /* Columbus-iOS-Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Columbus-iOS-Tests.xctest"; - remoteRef = B9F8797321CD36B400273F82 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ B9F878D621CD2D5A00273F82 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -390,15 +269,13 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - B94B1B0E21CD394700FF1B72 /* PBXTargetDependency */ = { + B9367E7B2C3F2DD5000547EB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Columbus-tvOS"; - targetProxy = B94B1B0D21CD394700FF1B72 /* PBXContainerItemProxy */; + productRef = B9367E7A2C3F2DD5000547EB /* Columbus */; }; - B94B1B2621CD3BEC00FF1B72 /* PBXTargetDependency */ = { + B9367E822C3F2E64000547EB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Columbus-iOS"; - targetProxy = B94B1B2521CD3BEC00FF1B72 /* PBXContainerItemProxy */; + productRef = B9367E812C3F2E64000547EB /* Columbus */; }; /* End PBXTargetDependency section */ @@ -526,7 +403,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PCW579R278; + DEVELOPMENT_TEAM = 3DTVLLXVP2; INFOPLIST_FILE = Source/iOS/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -545,7 +422,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PCW579R278; + DEVELOPMENT_TEAM = 3DTVLLXVP2; INFOPLIST_FILE = Source/iOS/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -628,6 +505,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCSwiftPackageProductDependency section */ + B9367E7A2C3F2DD5000547EB /* Columbus */ = { + isa = XCSwiftPackageProductDependency; + productName = Columbus; + }; + B9367E7D2C3F2E04000547EB /* Columbus */ = { + isa = XCSwiftPackageProductDependency; + productName = Columbus; + }; + B9367E7F2C3F2E5E000547EB /* Columbus */ = { + isa = XCSwiftPackageProductDependency; + productName = Columbus; + }; + B9367E812C3F2E64000547EB /* Columbus */ = { + isa = XCSwiftPackageProductDependency; + productName = Columbus; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = B9C8325521C84F3D0008ED90 /* Project object */; } diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..80d7416 --- /dev/null +++ b/Package.swift @@ -0,0 +1,24 @@ +// swift-tools-version:5.10 +import PackageDescription + +let package = Package( + name: "Columbus", + defaultLocalization: "en", + platforms: [ + // .macOS(.v10_12), + .iOS(.v14), + .tvOS(.v12) + // .watchOS(.v3) + ], + products: [ + .library(name: "Columbus", targets: ["Columbus"]) + ], + targets: [ + .target( + name: "Columbus", + resources: [.process("Resources/Countries.json")] + ), + .testTarget(name: "ColumbusTests", dependencies: ["Columbus"]) + ], + swiftLanguageVersions: [.v5] +) diff --git a/README.md b/README.md index 923e2b1..bc04da1 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,11 @@ [![Twitter Follow](https://img.shields.io/badge/follow-%40blackjacx-1DA1F2?logo=twitter&style=for-the-badge)](https://twitter.com/intent/follow?original_referer=https%3A%2F%2Fgithub.com%2Fblackjacx&screen_name=Blackjacxxx) -[![Version](https://img.shields.io/github/release/blackjacx/Columbus.svg)](https://github.com/Blackjacx/Columbus/releases) -[![Carthage compatible](https://img.shields.io/badge/Carthage-Compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Github Current Release](https://img.shields.io/github/release/blackjacx/Columbus.svg)](https://github.com/Blackjacx/Columbus/releases) [![Platforms](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FBlackjacx%2FColumbus%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/Blackjacx/Columbus) [![Swift Versions](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FBlackjacx%2FColumbus%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/Blackjacx/Columbus) -[![iOS 13+](https://img.shields.io/badge/iOS-13.0%2B-blue.svg)](https://developer.apple.com/download/) -[![Xcode 13+](https://img.shields.io/badge/Xcode-13%2B-blue.svg)](https://developer.apple.com/download/) +[![iOS 14+](https://img.shields.io/badge/iOS-13.0%2B-blue.svg)](https://developer.apple.com/download/) +[![Xcode 15+](https://img.shields.io/badge/Xcode-13%2B-blue.svg)](https://developer.apple.com/download/) [![Codebeat](https://codebeat.co/badges/7ad2da62-af22-4a76-a4da-2eb2002bde18)](https://codebeat.co/projects/github-com-blackjacx-columbus-develop) [![License](https://img.shields.io/github/license/blackjacx/columbus.svg)](https://github.com/blackjacx/columbus/blob/main/LICENSE) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg?logo=paypal&style=for-the-badge)](https://www.paypal.me/STHEROLD) @@ -26,33 +25,13 @@ A country picker 🌎 for iOS, tvOS ad watchOS with features you will only find ## Code Documentation -Find the statically generated code documentation [here](https://blackjacx.github.io/Columbus/documentation/columbus/) (powered by [DocC](https://developer.apple.com/documentation/docc)) +Find the statically generated code documentation [here](https://swiftpackageindex.com/Blackjacx/Columbus) under `Documentation`. ## Installation -### Carthage (recommended) +### [Swift Package Manager](https://swift.org/package-manager/) -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate Columbus into your Xcode project using Carthage, specify it in your Cartfile: - -```ruby -github "Blackjacx/Columbus" -``` - -The use the following command to build the XCFramework: - -```shell -carthage bootstrap --use-ssh --use-xcframeworks --cache-builds -``` - -Using Carthage has some advantages in contrast to Cocopods for this framework. Since it needs to compile the asset catalog for over 200 flag assets it is much faster to build the framework once using Carthage and drop it into your app. If you use Cocoapods the asset catalog is compiled together with Columbus each time you do a clean build and probably also when Xcode thinks Columbus needs to be compiled again. - -### CocoaPods - -To install via [CocoaPods](https://cocoapods.org/pods/Columbus), simply add the following line to your Podfile and run `pod install` to install the newest version: - -```ruby -pod "Columbus" -``` +In Xcode open your target list and select your project. Click the tab `Swift Packages` and there the small `+` icon. Enter the URL of this repository, select the version you want to install - usually the preset is okay - and confirm. ## Examples @@ -73,6 +52,9 @@ struct CountryPickerConfig: Configurable { .font: UIFont.preferredFont(forTextStyle: .body) ] } + var searchTextAttributes: [NSAttributedString.Key: Any]? { + textAttributes + } var backgroundColor: UIColor = .background var selectionColor: UIColor = .selection var controlColor: UIColor = UIColor(red: 1.0 / 255.0, green: 192.0 / 255.0, blue: 1, alpha: 1) @@ -82,7 +64,7 @@ struct CountryPickerConfig: Configurable { var separatorInsets: UIEdgeInsets { UIEdgeInsets(top: 0, left: rasterSize * 4.7, bottom: 0, right: rasterSize * 2.5) } - let searchBarAttributedPlaceholder: NSAttributedString = { + let searchBarAttributedPlaceholder: NSAttributedString? = { NSAttributedString(string: "Search", attributes: [ .foregroundColor: UIColor.placeholder, @@ -114,7 +96,7 @@ The above example gives you a non-optional instance of `CountryPickerViewControl ### iOS -The repository includes an example project. It shows the main use case of the project - the country picker. To run it, just type `pod try Columbus` in your console and it will be downloaded and opened for you. The following set of screenshots highlights the key features unique to Columbus: +The repository includes an example project. It shows the main use case of the project - the country picker. To run it, just open its project file and build. The following set of screenshots highlights the key features unique to Columbus: Filtering|Index bar|History|Localization|Theming --- | --- | --- | --- | --- diff --git a/Source/Classes/ColumbusMain.swift b/Source/Classes/ColumbusMain.swift deleted file mode 100644 index fb13ca3..0000000 --- a/Source/Classes/ColumbusMain.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// ColumbusMain.swift -// Columbus -// -// Created by Stefan Herold on 22.06.18. -// Copyright © 2023 Stefan Herold. All rights reserved. -// - -import Foundation - -// swiftlint:disable:next convenience_type -public final class ColumbusMain { - - public static let bundle: Bundle = { - let frameworkBundle = Bundle(for: ColumbusMain.self) - let bundleName = "Resources.bundle" - guard let bundleURL = frameworkBundle.resourceURL?.appendingPathComponent(bundleName) else { - preconditionFailure("Bundle url nil!") - } - guard let bundle = Bundle(url: bundleURL) else { - preconditionFailure("Bundle nil!") - } - return bundle - }() - - static func layoutConstraintId(_ suffix: String) -> String { - "\(ColumbusMain.bundle.bundleIdentifier!).\(suffix)" - } -} diff --git a/Source/Columbus.h b/Source/Columbus.h deleted file mode 100644 index 1bd305a..0000000 --- a/Source/Columbus.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Columbus.h -// Columbus -// -// Created by Stefan Herold on 21.12.18. -// Copyright © 2023 Stefan Herold. All rights reserved. -// - -#import - -//! Project version number for Columbus. -FOUNDATION_EXPORT double ColumbusVersionNumber; - -//! Project version string for Columbus. -FOUNDATION_EXPORT const unsigned char ColumbusVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/Source/Resources/.gitkeep b/Source/Resources/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Resources/Info.plist b/Source/Resources/Info.plist deleted file mode 100644 index 364566e..0000000 --- a/Source/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.9.0 - CFBundleVersion - 36 - NSHumanReadableCopyright - Copyright © 2023 Stefan Herold. All rights reserved. - NSPrincipalClass - - - diff --git a/Sources/Columbus/ColumbusMain.swift b/Sources/Columbus/ColumbusMain.swift new file mode 100644 index 0000000..2429715 --- /dev/null +++ b/Sources/Columbus/ColumbusMain.swift @@ -0,0 +1,22 @@ +// +// ColumbusMain.swift +// Columbus +// +// Created by Stefan Herold on 22.06.18. +// Copyright © 2023 Stefan Herold. All rights reserved. +// + +import Foundation + +// swiftlint:disable:next convenience_type +public final class ColumbusMain { + public static let countriesJsonUrl = Bundle.module.url( + forResource: "Countries", + withExtension: "json" + ) + + static func layoutConstraintId(_ suffix: String) -> String { + // swiftlint:disable:next force_unwrapping + "\(Bundle.module.bundleIdentifier!).\(suffix)" + } +} diff --git a/Source/Classes/Configurable.swift b/Sources/Columbus/Configurable.swift similarity index 100% rename from Source/Classes/Configurable.swift rename to Sources/Columbus/Configurable.swift diff --git a/Source/Classes/Country.swift b/Sources/Columbus/Country.swift similarity index 100% rename from Source/Classes/Country.swift rename to Sources/Columbus/Country.swift diff --git a/Source/Classes/CountryCell.swift b/Sources/Columbus/CountryCell.swift similarity index 100% rename from Source/Classes/CountryCell.swift rename to Sources/Columbus/CountryCell.swift diff --git a/Source/Classes/CountryList.swift b/Sources/Columbus/CountryList.swift similarity index 100% rename from Source/Classes/CountryList.swift rename to Sources/Columbus/CountryList.swift diff --git a/Source/Classes/CountryPickerViewController+DisplayState.swift b/Sources/Columbus/CountryPickerViewController+DisplayState.swift similarity index 100% rename from Source/Classes/CountryPickerViewController+DisplayState.swift rename to Sources/Columbus/CountryPickerViewController+DisplayState.swift diff --git a/Source/Classes/CountryPickerViewController.swift b/Sources/Columbus/CountryPickerViewController.swift similarity index 92% rename from Source/Classes/CountryPickerViewController.swift rename to Sources/Columbus/CountryPickerViewController.swift index 21d9777..03f885f 100644 --- a/Source/Classes/CountryPickerViewController.swift +++ b/Sources/Columbus/CountryPickerViewController.swift @@ -1,11 +1,3 @@ -// -// CountryPickerViewController.swift -// Columbus -// -// Created by Stefan Herold on 22.06.18. -// Copyright © 2023 Stefan Herold. All rights reserved. -// - import UIKit #if os(iOS) && !targetEnvironment(simulator) @@ -52,7 +44,6 @@ public final class CountryPickerViewController: UIViewController { } override public weak var preferredFocusedView: UIView? { - print("\(focussedIndexPath.section), \(focussedIndexPath.row)") let cell = table.cellForRow(at: focussedIndexPath) return cell @@ -94,7 +85,6 @@ public final class CountryPickerViewController: UIViewController { } private func deinitObserver() { - #if os(iOS) if let observer = keyboardDidShowObserver { NotificationCenter.default.removeObserver(observer) @@ -109,7 +99,6 @@ public final class CountryPickerViewController: UIViewController { // MARK: - Setup UI override public func viewDidLoad() { - super.viewDidLoad() view.backgroundColor = config.backgroundColor @@ -125,7 +114,7 @@ public final class CountryPickerViewController: UIViewController { setupObserver() } - public override func viewWillAppear(_ animated: Bool) { + override public func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) // Font change here is needed since UISearchController seems a bit @@ -144,7 +133,7 @@ public final class CountryPickerViewController: UIViewController { #endif } - public override func viewDidAppear(_ animated: Bool) { + override public func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) #if os(iOS) @@ -154,13 +143,12 @@ public final class CountryPickerViewController: UIViewController { } private func setupObserver() { - let center = NotificationCenter.default #if os(iOS) keyboardDidShowObserver = center.addObserver(forName: UIResponder.keyboardDidShowNotification, object: nil, - queue: nil) { [weak self] (note) in + queue: nil) { [weak self] note in guard let userInfo = note.userInfo, userInfo[UIResponder.keyboardIsLocalUserInfoKey] as? Bool == true, @@ -172,7 +160,7 @@ public final class CountryPickerViewController: UIViewController { keyboardWillHideObserver = center.addObserver(forName: UIResponder.keyboardWillHideNotification, object: nil, - queue: nil) { [weak self] (note) in + queue: nil) { [weak self] note in guard let userInfo = note.userInfo, userInfo[UIResponder.keyboardIsLocalUserInfoKey] as? Bool == true else { return @@ -201,7 +189,6 @@ public final class CountryPickerViewController: UIViewController { searchController.searchBar.tintColor = config.controlColor - searchController.searchBar.searchTextField.textDragInteraction?.isEnabled = false searchController.searchBar.searchTextField.returnKeyType = .done searchController.searchBar.searchTextField.tintColor = config.controlColor @@ -214,7 +201,6 @@ public final class CountryPickerViewController: UIViewController { } private func setupAutoLayout() { - var constraints: [NSLayoutConstraint] = [] tableViewBottomConstraint = table.bottomAnchor.constraint(equalTo: view.bottomAnchor) @@ -237,6 +223,7 @@ public final class CountryPickerViewController: UIViewController { } // MARK: - Large Titles + public func useLargeTitles(_ isOn: Bool) { #if os(iOS) searchController.hidesNavigationBarDuringPresentation = isOn ? true : false @@ -253,7 +240,6 @@ public final class CountryPickerViewController: UIViewController { /// 2. Trying to determine your country from your SIM card /// 3. Using `US` as fallback if the other approaches didn't work. public static func defaultCountry(from isoCountryCode: String? = nil) -> Country { - // Fallback to United States let defaultCountry = countries.first { @@ -287,26 +273,35 @@ public final class CountryPickerViewController: UIViewController { } guard let deviceIsoCountryCode, - let country = (countries.first { $0.isoCountryCode.compare(deviceIsoCountryCode, options: .caseInsensitive) == .orderedSame }) else { + let country = (countries + .first { $0.isoCountryCode.compare(deviceIsoCountryCode, options: .caseInsensitive) == .orderedSame }) else { return defaultCountry } return country - #endif - + #else // Fallback to United States return defaultCountry + #endif } private static func createCountries() -> CountryList { + guard let fileUrl = ColumbusMain.countriesJsonUrl else { + return CountryList() + } + + let filePath = if #available(iOS 16.0, *) { + fileUrl.path() + } else { + fileUrl.path + } - guard - let countriesFilePath = ColumbusMain.bundle.path(forResource: "Countries", ofType: "json"), - let countriesData = FileManager.default.contents(atPath: countriesFilePath), - let countries = try? JSONDecoder().decode(CountryList.self, from: countriesData) else { - return CountryList() + guard let data = FileManager.default.contents(atPath: filePath) else { + return CountryList() } - return countries + + let decoder = JSONDecoder() + return (try? decoder.decode(CountryList.self, from: data)) ?? CountryList() } // MARK: - Filtering @@ -341,7 +336,6 @@ public final class CountryPickerViewController: UIViewController { // MARK: Section Indices func updateSectionIndex() { - itemsForSectionTitle = Dictionary(grouping: items) { String($0.name.prefix(1)) } sectionTitles = [String](itemsForSectionTitle.keys) sectionTitles = sectionTitles.sorted(by: <) @@ -350,7 +344,6 @@ public final class CountryPickerViewController: UIViewController { // MARK: - Date Reloading func reloadData() { - updateSectionIndex() table.reloadData() } @@ -358,13 +351,13 @@ public final class CountryPickerViewController: UIViewController { // MARK: Pre-select initial country func displaySelectedCountry() { - DispatchQueue.global().asyncAfter(deadline: .now() + 1.0) { [weak self] in - guard let key = (self?.itemsForSectionTitle.first { $0.value.contains { $0.isoCountryCode == self?.selectedCountryCode } }?.key), - let section = (self?.sectionTitles.firstIndex { $0 == key }), - let row = (self?.itemsForSectionTitle[key]?.firstIndex { $0.isoCountryCode == self?.selectedCountryCode }) else { - return - } + guard let key = (self?.itemsForSectionTitle + .first { $0.value.contains { $0.isoCountryCode == self?.selectedCountryCode } }?.key), + let section = (self?.sectionTitles.firstIndex { $0 == key }), + let row = (self?.itemsForSectionTitle[key]?.firstIndex { $0.isoCountryCode == self?.selectedCountryCode }) else { + return + } let indexPath = IndexPath(row: row, section: section) @@ -437,7 +430,6 @@ extension CountryPickerViewController: UITableViewDelegate { } public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { - // Adjusting the separator insets: http://stackoverflow.com/a/39005773/971329 #if os(iOS) diff --git a/Source/Classes/CountryView.swift b/Sources/Columbus/CountryView.swift similarity index 100% rename from Source/Classes/CountryView.swift rename to Sources/Columbus/CountryView.swift diff --git a/Source/Classes/EmptyDecodable.swift b/Sources/Columbus/EmptyDecodable.swift similarity index 100% rename from Source/Classes/EmptyDecodable.swift rename to Sources/Columbus/EmptyDecodable.swift diff --git a/Source/Classes/.gitkeep b/Sources/Columbus/Resources/.gitkeep similarity index 100% rename from Source/Classes/.gitkeep rename to Sources/Columbus/Resources/.gitkeep diff --git a/Source/Resources/Countries.json b/Sources/Columbus/Resources/Countries.json similarity index 100% rename from Source/Resources/Countries.json rename to Sources/Columbus/Resources/Countries.json diff --git a/Source/Classes/UIView+Subviews.swift b/Sources/Columbus/UIView+Subviews.swift similarity index 72% rename from Source/Classes/UIView+Subviews.swift rename to Sources/Columbus/UIView+Subviews.swift index 8b378e3..3a936a3 100644 --- a/Source/Classes/UIView+Subviews.swift +++ b/Sources/Columbus/UIView+Subviews.swift @@ -9,12 +9,11 @@ import UIKit extension UIView { - func recursiveSubviews() -> [UIView] { - if subviews.isEmpty { - return subviews + subviews + } else { + subviews + subviews.flatMap { $0.recursiveSubviews() } } - return subviews + subviews.flatMap { $0.recursiveSubviews() } } } diff --git a/Source/Info.plist b/Sources/Info.plist similarity index 100% rename from Source/Info.plist rename to Sources/Info.plist diff --git a/Tests/ColumbusTests.swift b/Tests/ColumbusTests/ColumbusTests.swift similarity index 100% rename from Tests/ColumbusTests.swift rename to Tests/ColumbusTests/ColumbusTests.swift