From afae8c42a488353f83b1e7f2f10d27b21db59e46 Mon Sep 17 00:00:00 2001 From: Maxime Epain Date: Thu, 16 Jul 2020 16:26:41 +0200 Subject: [PATCH 1/2] Add Swift Package Manager Support --- .gitignore | 5 + ClusterKit.podspec | 17 +- ClusterKit.xcodeproj/project.pbxproj | 122 +++++---- Examples/Examples.xcodeproj/project.pbxproj | 243 +++++++++--------- Examples/Podfile | 2 +- Examples/Podfile.lock | 26 +- Package.swift | 25 ++ .../Algorithm/CKClusterAlgorithm.m | 2 +- .../Algorithm/CKGridBasedAlgorithm.m | 2 +- .../CKNonHierarchicalDistanceBasedAlgorithm.m | 2 +- .../Core => Sources/ClusterKit}/CKCluster.m | 3 +- .../ClusterKit}/CKClusterManager.m | 8 +- {Framework => Sources/ClusterKit}/Info.plist | 2 +- .../ClusterKit}/MapKit/MKMapView+ClusterKit.m | 12 +- .../ClusterKit}/Tree/CKQuadTree.m | 2 +- .../include/ClusterKit}/CKAnnotationTree.h | 0 .../include/ClusterKit}/CKCluster.h | 0 .../include/ClusterKit}/CKClusterAlgorithm.h | 4 +- .../include/ClusterKit}/CKClusterManager.h | 10 +- .../ClusterKit}/CKGridBasedAlgorithm.h | 2 +- .../ClusterKit/include/ClusterKit}/CKMap.h | 2 +- .../CKNonHierarchicalDistanceBasedAlgorithm.h | 2 +- .../include/ClusterKit}/CKQuadTree.h | 2 +- .../include/ClusterKit}/ClusterKit.h | 2 +- .../ClusterKit}/MKMapView+ClusterKit.h | 6 +- .../ClusterKit/include}/module.modulemap | 0 .../GoogleMaps/GMSMapView+ClusterKit.h | 1 + .../GoogleMaps/GMSMapView+ClusterKit.m | 0 .../Mapbox/MGLMapView+ClusterKit.h | 3 +- .../Mapbox/MGLMapView+ClusterKit.m | 3 +- .../YandexMapKit/YMKMapView+ClusterKit.h | 3 +- .../YandexMapKit/YMKMapView+ClusterKit.m | 3 +- Tests/{ => ClusterKitTests}/CKAnnotation.h | 0 Tests/{ => ClusterKitTests}/CKAnnotation.m | 0 .../CKGridBasedAlgorithmTest.m | 0 ...onHierarchicalDistanceBasedAlgorithmTest.m | 0 Tests/{ => ClusterKitTests}/CKQuadTreeTest.m | 0 Tests/{ => ClusterKitTests}/Info.plist | 0 38 files changed, 293 insertions(+), 223 deletions(-) create mode 100644 Package.swift rename {ClusterKit/Core => Sources/ClusterKit}/Algorithm/CKClusterAlgorithm.m (98%) rename {ClusterKit/Core => Sources/ClusterKit}/Algorithm/CKGridBasedAlgorithm.m (98%) rename {ClusterKit/Core => Sources/ClusterKit}/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m (98%) rename {ClusterKit/Core => Sources/ClusterKit}/CKCluster.m (99%) rename {ClusterKit/Core => Sources/ClusterKit}/CKClusterManager.m (98%) rename {Framework => Sources/ClusterKit}/Info.plist (94%) rename {ClusterKit => Sources/ClusterKit}/MapKit/MKMapView+ClusterKit.m (95%) rename {ClusterKit/Core => Sources/ClusterKit}/Tree/CKQuadTree.m (99%) rename {ClusterKit/Core/Tree => Sources/ClusterKit/include/ClusterKit}/CKAnnotationTree.h (100%) rename {ClusterKit/Core => Sources/ClusterKit/include/ClusterKit}/CKCluster.h (100%) rename {ClusterKit/Core/Algorithm => Sources/ClusterKit/include/ClusterKit}/CKClusterAlgorithm.h (96%) rename {ClusterKit/Core => Sources/ClusterKit/include/ClusterKit}/CKClusterManager.h (96%) rename {ClusterKit/Core/Algorithm => Sources/ClusterKit/include/ClusterKit}/CKGridBasedAlgorithm.h (98%) rename {ClusterKit/Core => Sources/ClusterKit/include/ClusterKit}/CKMap.h (98%) rename {ClusterKit/Core/Algorithm => Sources/ClusterKit/include/ClusterKit}/CKNonHierarchicalDistanceBasedAlgorithm.h (98%) rename {ClusterKit/Core/Tree => Sources/ClusterKit/include/ClusterKit}/CKQuadTree.h (98%) rename {ClusterKit => Sources/ClusterKit/include/ClusterKit}/ClusterKit.h (97%) rename {ClusterKit/MapKit => Sources/ClusterKit/include/ClusterKit}/MKMapView+ClusterKit.h (95%) rename {Framework => Sources/ClusterKit/include}/module.modulemap (100%) rename {ClusterKit => Sources}/GoogleMaps/GMSMapView+ClusterKit.h (99%) rename {ClusterKit => Sources}/GoogleMaps/GMSMapView+ClusterKit.m (100%) rename {ClusterKit => Sources}/Mapbox/MGLMapView+ClusterKit.h (96%) rename {ClusterKit => Sources}/Mapbox/MGLMapView+ClusterKit.m (98%) rename {ClusterKit => Sources}/YandexMapKit/YMKMapView+ClusterKit.h (96%) rename {ClusterKit => Sources}/YandexMapKit/YMKMapView+ClusterKit.m (99%) rename Tests/{ => ClusterKitTests}/CKAnnotation.h (100%) rename Tests/{ => ClusterKitTests}/CKAnnotation.m (100%) rename Tests/{ => ClusterKitTests}/CKGridBasedAlgorithmTest.m (100%) rename Tests/{ => ClusterKitTests}/CKNonHierarchicalDistanceBasedAlgorithmTest.m (100%) rename Tests/{ => ClusterKitTests}/CKQuadTreeTest.m (100%) rename Tests/{ => ClusterKitTests}/Info.plist (100%) diff --git a/.gitignore b/.gitignore index e455856..75e7c40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +.DS_Store +/.build +/.swiftpm +/Packages +/*.xcodeproj xcuserdata Carthage Examples/Examples.xcworkspace diff --git a/ClusterKit.podspec b/ClusterKit.podspec index beae3be..05d92e2 100644 --- a/ClusterKit.podspec +++ b/ClusterKit.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "ClusterKit" - s.version = "0.4.1" + s.version = "0.5.0" s.summary = "ClusterKit is a map clustering framework targeting MapKit, Google Maps, Mapbox and YandexMapKit." s.description = <<-DESC @@ -26,13 +26,8 @@ Pod::Spec.new do |s| s.default_subspecs = 'Core' s.subspec 'Core' do |ss| - ss.frameworks = 'MapKit' - ss.source_files = 'ClusterKit/ClusterKit.h', 'ClusterKit/Core/**/*.{h,m}' - end - - s.subspec 'MapKit' do |ss| - ss.dependency 'ClusterKit/Core' - ss.source_files = 'ClusterKit/MapKit' + ss.frameworks = 'MapKit' + ss.source_files = 'Sources/ClusterKit/**/*.{h,m}' end # Like GoogleMaps sdk (googlemaps/google-maps-ios-utils#23) YandexMapKit is statically built, @@ -43,21 +38,21 @@ Pod::Spec.new do |s| # ss.platform = :ios, '8.0' # ss.dependency 'ClusterKit/Core' # ss.dependency 'GoogleMaps', '~> 2.7' - # ss.source_files = 'ClusterKit/GoogleMaps' + # ss.source_files = 'Sources/GoogleMaps' # end # s.subspec 'YandexMapKit' do |ss| # ss.platform = :ios, '9.0' # ss.dependency 'ClusterKit/Core' # ss.dependency 'YandexMapKit', '~> 3.2' - # ss.source_files = 'ClusterKit/YandexMapKit' + # ss.source_files = 'Sources/YandexMapKit' # end s.subspec 'Mapbox' do |ss| ss.platform = :ios, '9.0' ss.dependency 'ClusterKit/Core' ss.dependency 'Mapbox-iOS-SDK', '~> 5.0' - ss.source_files = 'ClusterKit/Mapbox' + ss.source_files = 'Sources/Mapbox' end s.test_spec do |test_spec| diff --git a/ClusterKit.xcodeproj/project.pbxproj b/ClusterKit.xcodeproj/project.pbxproj index 5130555..1dd576e 100644 --- a/ClusterKit.xcodeproj/project.pbxproj +++ b/ClusterKit.xcodeproj/project.pbxproj @@ -44,8 +44,6 @@ /* Begin PBXFileReference section */ 7884A92A21F1E1C000CCCA71 /* YMKMapView+ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "YMKMapView+ClusterKit.h"; sourceTree = ""; }; 7884A92B21F1E1C000CCCA71 /* YMKMapView+ClusterKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YMKMapView+ClusterKit.m"; sourceTree = ""; }; - 9C2C4A0C1F94BACE00B22745 /* MGLMapView+ClusterKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "MGLMapView+ClusterKit.h"; path = "ClusterKit/Mapbox/MGLMapView+ClusterKit.h"; sourceTree = SOURCE_ROOT; }; - 9C2C4A0D1F94BACE00B22745 /* MGLMapView+ClusterKit.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "MGLMapView+ClusterKit.m"; path = "ClusterKit/Mapbox/MGLMapView+ClusterKit.m"; sourceTree = SOURCE_ROOT; }; 9C4C93E11E4250D500927A42 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; 9C53CD041E03F51C000AD9B8 /* CKClusterAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CKClusterAlgorithm.h; sourceTree = ""; }; 9C53CD051E03F51C000AD9B8 /* CKClusterAlgorithm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CKClusterAlgorithm.m; sourceTree = ""; }; @@ -75,12 +73,15 @@ 9CC875B71E029AB00019AA18 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 9CC875B81E029AB50019AA18 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = ""; }; 9CC875E01E02A1AF0019AA18 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; - 9CC875E41E02A66F0019AA18 /* ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClusterKit.h; path = ../ClusterKit.h; sourceTree = ""; }; + 9CC875E41E02A66F0019AA18 /* ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClusterKit.h; sourceTree = ""; }; 9CE1F2671E069F30007E2678 /* CKGridBasedAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CKGridBasedAlgorithm.h; sourceTree = ""; }; 9CE1F2681E069F30007E2678 /* CKGridBasedAlgorithm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CKGridBasedAlgorithm.m; sourceTree = ""; }; 9CE807D41E2BC74E0041E83B /* CKQuadTreeTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CKQuadTreeTest.m; sourceTree = ""; }; 9CE807D61E2BD05A0041E83B /* CKAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CKAnnotation.h; sourceTree = ""; }; 9CE807D71E2BD05A0041E83B /* CKAnnotation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CKAnnotation.m; sourceTree = ""; }; + 9CE9154624C0830A00A26AD9 /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; + 9CE9154D24C19DE500A26AD9 /* MGLMapView+ClusterKit.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "MGLMapView+ClusterKit.m"; sourceTree = ""; }; + 9CE9154E24C19DE500A26AD9 /* MGLMapView+ClusterKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MGLMapView+ClusterKit.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -111,50 +112,36 @@ path = YandexMapKit; sourceTree = ""; }; - 9C2C4A0B1F94BA7D00B22745 /* Mapbox */ = { + 9C53CD011E03F51C000AD9B8 /* Sources */ = { isa = PBXGroup; children = ( - 9C2C4A0C1F94BACE00B22745 /* MGLMapView+ClusterKit.h */, - 9C2C4A0D1F94BACE00B22745 /* MGLMapView+ClusterKit.m */, - ); - path = Mapbox; - sourceTree = ""; - }; - 9C53CD011E03F51C000AD9B8 /* ClusterKit */ = { - isa = PBXGroup; - children = ( - 9C53CD021E03F51C000AD9B8 /* Core */, - 9C53CD161E03F51C000AD9B8 /* MapKit */, + 9C53CD021E03F51C000AD9B8 /* ClusterKit */, 9C53CD131E03F51C000AD9B8 /* GoogleMaps */, - 9C2C4A0B1F94BA7D00B22745 /* Mapbox */, + 9CE9154C24C19DE500A26AD9 /* Mapbox */, 7884A92921F1E1C000CCCA71 /* YandexMapKit */, ); - path = ClusterKit; + path = Sources; sourceTree = ""; }; - 9C53CD021E03F51C000AD9B8 /* Core */ = { + 9C53CD021E03F51C000AD9B8 /* ClusterKit */ = { isa = PBXGroup; children = ( - 9CC875E41E02A66F0019AA18 /* ClusterKit.h */, + 9CC875731E0295A30019AA18 /* Info.plist */, + 9CE9154824C08DDC00A26AD9 /* include */, 9C53CD0D1E03F51C000AD9B8 /* Tree */, 9C53CD031E03F51C000AD9B8 /* Algorithm */, - 9C53CD081E03F51C000AD9B8 /* CKCluster.h */, + 9C53CD161E03F51C000AD9B8 /* MapKit */, 9C53CD091E03F51C000AD9B8 /* CKCluster.m */, - 9C53CD0C1E03F51C000AD9B8 /* CKMap.h */, - 9C53CD0A1E03F51C000AD9B8 /* CKClusterManager.h */, 9C53CD0B1E03F51C000AD9B8 /* CKClusterManager.m */, ); - path = Core; + path = ClusterKit; sourceTree = ""; }; 9C53CD031E03F51C000AD9B8 /* Algorithm */ = { isa = PBXGroup; children = ( - 9C53CD041E03F51C000AD9B8 /* CKClusterAlgorithm.h */, 9C53CD051E03F51C000AD9B8 /* CKClusterAlgorithm.m */, - 9CE1F2671E069F30007E2678 /* CKGridBasedAlgorithm.h */, 9CE1F2681E069F30007E2678 /* CKGridBasedAlgorithm.m */, - 9C53CD061E03F51C000AD9B8 /* CKNonHierarchicalDistanceBasedAlgorithm.h */, 9C53CD071E03F51C000AD9B8 /* CKNonHierarchicalDistanceBasedAlgorithm.m */, ); path = Algorithm; @@ -163,8 +150,6 @@ 9C53CD0D1E03F51C000AD9B8 /* Tree */ = { isa = PBXGroup; children = ( - 9C53CD0E1E03F51C000AD9B8 /* CKAnnotationTree.h */, - 9C53CD0F1E03F51C000AD9B8 /* CKQuadTree.h */, 9C53CD101E03F51C000AD9B8 /* CKQuadTree.m */, ); path = Tree; @@ -182,7 +167,6 @@ 9C53CD161E03F51C000AD9B8 /* MapKit */ = { isa = PBXGroup; children = ( - 9C53CD171E03F51C000AD9B8 /* MKMapView+ClusterKit.h */, 9C53CD181E03F51C000AD9B8 /* MKMapView+ClusterKit.m */, ); path = MapKit; @@ -192,8 +176,7 @@ isa = PBXGroup; children = ( 9CC875B41E029A900019AA18 /* Metadata */, - 9C53CD011E03F51C000AD9B8 /* ClusterKit */, - 9CC875711E0295A30019AA18 /* Framework */, + 9C53CD011E03F51C000AD9B8 /* Sources */, 9CC8757C1E0295A30019AA18 /* Tests */, 9CC875701E0295A30019AA18 /* Products */, B65034C293FD9FEE36CEF08A /* Frameworks */, @@ -209,38 +192,73 @@ name = Products; sourceTree = ""; }; - 9CC875711E0295A30019AA18 /* Framework */ = { + 9CC8757C1E0295A30019AA18 /* Tests */ = { isa = PBXGroup; children = ( - 9CC875731E0295A30019AA18 /* Info.plist */, - 9CC875B31E0297EB0019AA18 /* module.modulemap */, + 9CE9154724C089C100A26AD9 /* ClusterKitTests */, ); - path = Framework; + path = Tests; sourceTree = ""; }; - 9CC8757C1E0295A30019AA18 /* Tests */ = { + 9CC875B41E029A900019AA18 /* Metadata */ = { + isa = PBXGroup; + children = ( + 9CE9154624C0830A00A26AD9 /* Package.swift */, + 9CC875B81E029AB50019AA18 /* .travis.yml */, + 9CC875B51E029AB00019AA18 /* ClusterKit.podspec */, + 9CC875B61E029AB00019AA18 /* LICENSE */, + 9CC875B71E029AB00019AA18 /* README.md */, + 9C4C93E11E4250D500927A42 /* CHANGELOG.md */, + ); + name = Metadata; + sourceTree = ""; + }; + 9CE9154724C089C100A26AD9 /* ClusterKitTests */ = { isa = PBXGroup; children = ( 9CE807D41E2BC74E0041E83B /* CKQuadTreeTest.m */, 9CAA8B9D1E2BE1C800AD4063 /* CKGridBasedAlgorithmTest.m */, 9CAA8B9F1E2BE3DF00AD4063 /* CKNonHierarchicalDistanceBasedAlgorithmTest.m */, - 9CC8757F1E0295A30019AA18 /* Info.plist */, 9CE807D61E2BD05A0041E83B /* CKAnnotation.h */, 9CE807D71E2BD05A0041E83B /* CKAnnotation.m */, + 9CC8757F1E0295A30019AA18 /* Info.plist */, ); - path = Tests; + path = ClusterKitTests; sourceTree = ""; }; - 9CC875B41E029A900019AA18 /* Metadata */ = { + 9CE9154824C08DDC00A26AD9 /* include */ = { isa = PBXGroup; children = ( - 9CC875B81E029AB50019AA18 /* .travis.yml */, - 9CC875B51E029AB00019AA18 /* ClusterKit.podspec */, - 9CC875B61E029AB00019AA18 /* LICENSE */, - 9CC875B71E029AB00019AA18 /* README.md */, - 9C4C93E11E4250D500927A42 /* CHANGELOG.md */, + 9CC875B31E0297EB0019AA18 /* module.modulemap */, + 9CE9154924C0939E00A26AD9 /* ClusterKit */, ); - name = Metadata; + path = include; + sourceTree = ""; + }; + 9CE9154924C0939E00A26AD9 /* ClusterKit */ = { + isa = PBXGroup; + children = ( + 9CC875E41E02A66F0019AA18 /* ClusterKit.h */, + 9C53CD0A1E03F51C000AD9B8 /* CKClusterManager.h */, + 9C53CD081E03F51C000AD9B8 /* CKCluster.h */, + 9C53CD0C1E03F51C000AD9B8 /* CKMap.h */, + 9C53CD0E1E03F51C000AD9B8 /* CKAnnotationTree.h */, + 9C53CD0F1E03F51C000AD9B8 /* CKQuadTree.h */, + 9C53CD041E03F51C000AD9B8 /* CKClusterAlgorithm.h */, + 9CE1F2671E069F30007E2678 /* CKGridBasedAlgorithm.h */, + 9C53CD061E03F51C000AD9B8 /* CKNonHierarchicalDistanceBasedAlgorithm.h */, + 9C53CD171E03F51C000AD9B8 /* MKMapView+ClusterKit.h */, + ); + path = ClusterKit; + sourceTree = ""; + }; + 9CE9154C24C19DE500A26AD9 /* Mapbox */ = { + isa = PBXGroup; + children = ( + 9CE9154E24C19DE500A26AD9 /* MGLMapView+ClusterKit.h */, + 9CE9154D24C19DE500A26AD9 /* MGLMapView+ClusterKit.m */, + ); + path = Mapbox; sourceTree = ""; }; B65034C293FD9FEE36CEF08A /* Frameworks */ = { @@ -526,11 +544,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Framework/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/ClusterKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Framework/module.modulemap; + MARKETING_VERSION = 0.5.0; + MODULEMAP_FILE = Sources/ClusterKit/include/module.modulemap; PRODUCT_BUNDLE_IDENTIFIER = com.hulab.ClusterKit; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -546,11 +565,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Framework/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/ClusterKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Framework/module.modulemap; + MARKETING_VERSION = 0.5.0; + MODULEMAP_FILE = Sources/ClusterKit/include/module.modulemap; PRODUCT_BUNDLE_IDENTIFIER = com.hulab.ClusterKit; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -561,7 +581,7 @@ isa = XCBuildConfiguration; buildSettings = { DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Tests/ClusterKitTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hulab.HBClusterManagerTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -572,7 +592,7 @@ isa = XCBuildConfiguration; buildSettings = { DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Tests/ClusterKitTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hulab.HBClusterManagerTests; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Examples/Examples.xcodeproj/project.pbxproj b/Examples/Examples.xcodeproj/project.pbxproj index 3851bda..cef8795 100644 --- a/Examples/Examples.xcodeproj/project.pbxproj +++ b/Examples/Examples.xcodeproj/project.pbxproj @@ -7,12 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 76436ED7CB2CBF845C3B3397 /* Pods_Example_data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 991F94DAC9500A17E248ABC4 /* Pods_Example_data.framework */; }; 782654F021F9E2190080F3B7 /* YMKMapView+ClusterKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 782654EF21F9E2190080F3B7 /* YMKMapView+ClusterKit.m */; }; 782654F221F9E25E0080F3B7 /* YandexMapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 782654F121F9E25E0080F3B7 /* YandexMapViewController.swift */; }; 78E253A221F8B2720006DBEF /* CKYandexMapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 78E253A121F8B2720006DBEF /* CKYandexMapViewController.m */; }; 78E253A621F8BC810006DBEF /* YMKMapView+ClusterKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 78E253A521F8BC810006DBEF /* YMKMapView+ClusterKit.m */; }; - 9ACFAA26A015E26A0B1CFEA9 /* Pods_Example_swift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC91060DA485011A40E2B07E /* Pods_Example_swift.framework */; }; 9C1A99ED1EB9225800BEB563 /* ExampleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C1A99EB1EB9225800BEB563 /* ExampleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9C1A99F01EB9225800BEB563 /* ExampleData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1A99E91EB9225800BEB563 /* ExampleData.framework */; }; 9C1A99F11EB9225800BEB563 /* ExampleData.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1A99E91EB9225800BEB563 /* ExampleData.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -30,6 +28,7 @@ 9C6827D21E2E743F0076C573 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9CD80AEA1E2306E000DFCB89 /* LaunchScreen.storyboard */; }; 9C6EBCD31E23DBC3008FAC7A /* MapKitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C6EBCD21E23DBC3008FAC7A /* MapKitViewController.swift */; }; 9C6EBCD51E23DBDE008FAC7A /* GoogleMapsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C6EBCD41E23DBDE008FAC7A /* GoogleMapsViewController.swift */; }; + 9C94101109B8D9F1A460C6D0 /* Pods_Example_swift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6E501593B9024A56DEE0C5E /* Pods_Example_swift.framework */; }; 9CAFE26E1E23E8D100337FD1 /* GMSMapView+ClusterKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CAFE26D1E23E8D100337FD1 /* GMSMapView+ClusterKit.m */; }; 9CD80ADE1E2306E000DFCB89 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CD80ADD1E2306E000DFCB89 /* main.m */; }; 9CD80AF81E2306F400DFCB89 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CD80AF71E2306F400DFCB89 /* AppDelegate.swift */; }; @@ -41,7 +40,8 @@ 9CD80B151E2307AF00DFCB89 /* GMSMapView+ClusterKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CD80B141E2307AF00DFCB89 /* GMSMapView+ClusterKit.m */; }; 9CD80B171E2307F400DFCB89 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CD80B161E2307F400DFCB89 /* MapKit.framework */; }; 9CD80B181E2307FC00DFCB89 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CD80B161E2307F400DFCB89 /* MapKit.framework */; }; - FBCD06409EDDB8D4DCC65554 /* Pods_Example_objc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 804AB2574059CD5C5BEDCE2C /* Pods_Example_objc.framework */; }; + ACBE3AF9231704284EED8D14 /* Pods_Example_data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13DFFB3585D2EB0E71414291 /* Pods_Example_data.framework */; }; + BF67147441E4A8A68DB30FD4 /* Pods_Example_objc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9359C4C9804B08C1F3DA76E /* Pods_Example_objc.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -87,19 +87,10 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 108907832C51CE9F59276F87 /* Pods_Examples_Example_objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Examples_Example_objc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2BA9C3C54808263A239B6AB4 /* Pods-Examples-Example-objc.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-Example-objc.release.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-Example-objc/Pods-Examples-Example-objc.release.xcconfig"; sourceTree = ""; }; - 30529D0906921024EBCD8FF7 /* Pods-Example-data.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-data.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-data/Pods-Example-data.release.xcconfig"; sourceTree = ""; }; - 33F3D0EE0F71641D654D2A40 /* Pods_ParisOpenDataUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParisOpenDataUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36A6CED68D20A477526F7832 /* Pods_ParisOpenData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParisOpenData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B7B856915D31292C0533862 /* Pods_Examples_ParisOpenData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Examples_ParisOpenData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 490108FBDC22432E22FA9C1B /* Pods-Examples-ParisOpenData.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-ParisOpenData.release.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-ParisOpenData/Pods-Examples-ParisOpenData.release.xcconfig"; sourceTree = ""; }; - 4ECF1E12AA19EE26529118B7 /* Pods-Example-objc.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-objc/Pods-Example-objc.debug.xcconfig"; sourceTree = ""; }; - 53319BB1285E4BB84F1CA340 /* Pods-Example-swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-swift.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-swift/Pods-Example-swift.debug.xcconfig"; sourceTree = ""; }; - 5CDC0E98C1B0CC32EEB4206F /* Pods-Examples-ParisOpenDataUI.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-ParisOpenDataUI.release.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-ParisOpenDataUI/Pods-Examples-ParisOpenDataUI.release.xcconfig"; sourceTree = ""; }; - 6342D7FB7C4927C2B322BA29 /* Pods-Example-data.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-data.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-data/Pods-Example-data.debug.xcconfig"; sourceTree = ""; }; - 637FE4EDF09CAF4306172F86 /* Pods-Example-objc-ParisOpenData.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc-ParisOpenData.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-objc-ParisOpenData/Pods-Example-objc-ParisOpenData.release.xcconfig"; sourceTree = ""; }; - 71B6B6F461FC5E5896234105 /* Pods_Examples_Example_swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Examples_Example_swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 13DFFB3585D2EB0E71414291 /* Pods_Example_data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 231B323CBEA697B10C96FFF0 /* Pods-Example-objc.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc.release.xcconfig"; path = "Target Support Files/Pods-Example-objc/Pods-Example-objc.release.xcconfig"; sourceTree = ""; }; + 32F0D49D4543E19EF220586E /* Pods-Example-data.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-data.debug.xcconfig"; path = "Target Support Files/Pods-Example-data/Pods-Example-data.debug.xcconfig"; sourceTree = ""; }; + 352BC0D9D2792C85558BE83D /* Pods-Example-objc.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc.debug.xcconfig"; path = "Target Support Files/Pods-Example-objc/Pods-Example-objc.debug.xcconfig"; sourceTree = ""; }; 782654EE21F9E2190080F3B7 /* YMKMapView+ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "YMKMapView+ClusterKit.h"; sourceTree = ""; }; 782654EF21F9E2190080F3B7 /* YMKMapView+ClusterKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YMKMapView+ClusterKit.m"; sourceTree = ""; }; 782654F121F9E25E0080F3B7 /* YandexMapViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YandexMapViewController.swift; sourceTree = ""; }; @@ -108,9 +99,7 @@ 78E253A121F8B2720006DBEF /* CKYandexMapViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CKYandexMapViewController.m; sourceTree = ""; }; 78E253A421F8BC810006DBEF /* YMKMapView+ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "YMKMapView+ClusterKit.h"; sourceTree = ""; }; 78E253A521F8BC810006DBEF /* YMKMapView+ClusterKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YMKMapView+ClusterKit.m"; sourceTree = ""; }; - 7A8F0DE8FC04429B60C3F0F1 /* Pods_Examples_ParisOpenDataUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Examples_ParisOpenDataUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 804AB2574059CD5C5BEDCE2C /* Pods_Example_objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_objc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 991F94DAC9500A17E248ABC4 /* Pods_Example_data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 993A7B7FE7C0EEDD6F305626 /* Pods-Example-swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-swift.debug.xcconfig"; path = "Target Support Files/Pods-Example-swift/Pods-Example-swift.debug.xcconfig"; sourceTree = ""; }; 9C1A99E91EB9225800BEB563 /* ExampleData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ExampleData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9C1A99EB1EB9225800BEB563 /* ExampleData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExampleData.h; sourceTree = ""; }; 9C1A99EC1EB9225800BEB563 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -145,14 +134,10 @@ 9CD80B131E2307AF00DFCB89 /* GMSMapView+ClusterKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GMSMapView+ClusterKit.h"; sourceTree = ""; }; 9CD80B141E2307AF00DFCB89 /* GMSMapView+ClusterKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GMSMapView+ClusterKit.m"; sourceTree = ""; }; 9CD80B161E2307F400DFCB89 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; - 9EB6F7358EEAEDC7F14ED134 /* Pods-Example-objc.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-objc/Pods-Example-objc.release.xcconfig"; sourceTree = ""; }; - A3B1745192A4E13E9EDC2998 /* Pods-Example-objc-ParisOpenData.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-objc-ParisOpenData.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-objc-ParisOpenData/Pods-Example-objc-ParisOpenData.debug.xcconfig"; sourceTree = ""; }; - B1A3B666D42F3557DD835AA8 /* Pods_Example_objc_ParisOpenData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_objc_ParisOpenData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C803A05527678B34A85359A7 /* Pods-Examples-ParisOpenData.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-ParisOpenData.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-ParisOpenData/Pods-Examples-ParisOpenData.debug.xcconfig"; sourceTree = ""; }; - CE1A20DCEC46304D571DC07A /* Pods-Example-swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-swift.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-swift/Pods-Example-swift.release.xcconfig"; sourceTree = ""; }; - CEE60FEE18B7D2EFBF1BC045 /* Pods-Examples-Example-objc.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-Example-objc.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-Example-objc/Pods-Examples-Example-objc.debug.xcconfig"; sourceTree = ""; }; - DC91060DA485011A40E2B07E /* Pods_Example_swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DE5879CC55066EEA7A7469C1 /* Pods-Examples-ParisOpenDataUI.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Examples-ParisOpenDataUI.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Examples-ParisOpenDataUI/Pods-Examples-ParisOpenDataUI.debug.xcconfig"; sourceTree = ""; }; + A263C9BA0328C743514BB241 /* Pods-Example-swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-swift.release.xcconfig"; path = "Target Support Files/Pods-Example-swift/Pods-Example-swift.release.xcconfig"; sourceTree = ""; }; + B6E501593B9024A56DEE0C5E /* Pods_Example_swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BAA7D27AFD86A5F0DABE4C5C /* Pods-Example-data.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-data.release.xcconfig"; path = "Target Support Files/Pods-Example-data/Pods-Example-data.release.xcconfig"; sourceTree = ""; }; + C9359C4C9804B08C1F3DA76E /* Pods_Example_objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_objc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -160,7 +145,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 76436ED7CB2CBF845C3B3397 /* Pods_Example_data.framework in Frameworks */, + ACBE3AF9231704284EED8D14 /* Pods_Example_data.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -170,7 +155,7 @@ files = ( 9CD80B171E2307F400DFCB89 /* MapKit.framework in Frameworks */, 9C1A99F01EB9225800BEB563 /* ExampleData.framework in Frameworks */, - FBCD06409EDDB8D4DCC65554 /* Pods_Example_objc.framework in Frameworks */, + BF67147441E4A8A68DB30FD4 /* Pods_Example_objc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -179,33 +164,26 @@ buildActionMask = 2147483647; files = ( 9CD80B181E2307FC00DFCB89 /* MapKit.framework in Frameworks */, - 9ACFAA26A015E26A0B1CFEA9 /* Pods_Example_swift.framework in Frameworks */, 9C5C83E31EB9338E002F4C73 /* ExampleData.framework in Frameworks */, + 9C94101109B8D9F1A460C6D0 /* Pods_Example_swift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 128F7673DD39934201706A14 /* Pods */ = { + 005DF3002D9B0830DDF181B4 /* Pods */ = { isa = PBXGroup; children = ( - 4ECF1E12AA19EE26529118B7 /* Pods-Example-objc.debug.xcconfig */, - 9EB6F7358EEAEDC7F14ED134 /* Pods-Example-objc.release.xcconfig */, - A3B1745192A4E13E9EDC2998 /* Pods-Example-objc-ParisOpenData.debug.xcconfig */, - 637FE4EDF09CAF4306172F86 /* Pods-Example-objc-ParisOpenData.release.xcconfig */, - 53319BB1285E4BB84F1CA340 /* Pods-Example-swift.debug.xcconfig */, - CE1A20DCEC46304D571DC07A /* Pods-Example-swift.release.xcconfig */, - CEE60FEE18B7D2EFBF1BC045 /* Pods-Examples-Example-objc.debug.xcconfig */, - 2BA9C3C54808263A239B6AB4 /* Pods-Examples-Example-objc.release.xcconfig */, - C803A05527678B34A85359A7 /* Pods-Examples-ParisOpenData.debug.xcconfig */, - 490108FBDC22432E22FA9C1B /* Pods-Examples-ParisOpenData.release.xcconfig */, - DE5879CC55066EEA7A7469C1 /* Pods-Examples-ParisOpenDataUI.debug.xcconfig */, - 5CDC0E98C1B0CC32EEB4206F /* Pods-Examples-ParisOpenDataUI.release.xcconfig */, - 6342D7FB7C4927C2B322BA29 /* Pods-Example-data.debug.xcconfig */, - 30529D0906921024EBCD8FF7 /* Pods-Example-data.release.xcconfig */, + 32F0D49D4543E19EF220586E /* Pods-Example-data.debug.xcconfig */, + BAA7D27AFD86A5F0DABE4C5C /* Pods-Example-data.release.xcconfig */, + 352BC0D9D2792C85558BE83D /* Pods-Example-objc.debug.xcconfig */, + 231B323CBEA697B10C96FFF0 /* Pods-Example-objc.release.xcconfig */, + 993A7B7FE7C0EEDD6F305626 /* Pods-Example-swift.debug.xcconfig */, + A263C9BA0328C743514BB241 /* Pods-Example-swift.release.xcconfig */, ); name = Pods; + path = Pods; sourceTree = ""; }; 782654ED21F9E2190080F3B7 /* YandexMapKit */ = { @@ -215,7 +193,7 @@ 782654EF21F9E2190080F3B7 /* YMKMapView+ClusterKit.m */, ); name = YandexMapKit; - path = ../../ClusterKit/YandexMapKit; + path = ../../Sources/YandexMapKit; sourceTree = ""; }; 78E2539F21F8AFF40006DBEF /* YandexMapKit */ = { @@ -235,23 +213,16 @@ 78E253A521F8BC810006DBEF /* YMKMapView+ClusterKit.m */, ); name = YandexMapKit; - path = ../../../ClusterKit/YandexMapKit; + path = ../../../Sources/YandexMapKit; sourceTree = ""; }; 987C1F00BBB2E64774D3A906 /* Frameworks */ = { isa = PBXGroup; children = ( 9CD80B161E2307F400DFCB89 /* MapKit.framework */, - 804AB2574059CD5C5BEDCE2C /* Pods_Example_objc.framework */, - 36A6CED68D20A477526F7832 /* Pods_ParisOpenData.framework */, - B1A3B666D42F3557DD835AA8 /* Pods_Example_objc_ParisOpenData.framework */, - 33F3D0EE0F71641D654D2A40 /* Pods_ParisOpenDataUI.framework */, - 108907832C51CE9F59276F87 /* Pods_Examples_Example_objc.framework */, - 3B7B856915D31292C0533862 /* Pods_Examples_ParisOpenData.framework */, - 7A8F0DE8FC04429B60C3F0F1 /* Pods_Examples_ParisOpenDataUI.framework */, - DC91060DA485011A40E2B07E /* Pods_Example_swift.framework */, - 71B6B6F461FC5E5896234105 /* Pods_Examples_Example_swift.framework */, - 991F94DAC9500A17E248ABC4 /* Pods_Example_data.framework */, + 13DFFB3585D2EB0E71414291 /* Pods_Example_data.framework */, + C9359C4C9804B08C1F3DA76E /* Pods_Example_objc.framework */, + B6E501593B9024A56DEE0C5E /* Pods_Example_swift.framework */, ); name = Frameworks; sourceTree = ""; @@ -285,7 +256,7 @@ 9CAFE26D1E23E8D100337FD1 /* GMSMapView+ClusterKit.m */, ); name = GoogleMaps; - path = ../../ClusterKit/GoogleMaps; + path = ../../Sources/GoogleMaps; sourceTree = ""; }; 9CD80A821E23031700DFCB89 = { @@ -297,7 +268,7 @@ 9C6827CE1E2E6F970076C573 /* Assets.xcassets */, 9CD80A8D1E23031700DFCB89 /* Products */, 987C1F00BBB2E64774D3A906 /* Frameworks */, - 128F7673DD39934201706A14 /* Pods */, + 005DF3002D9B0830DDF181B4 /* Pods */, ); sourceTree = ""; }; @@ -380,7 +351,7 @@ 9CD80B141E2307AF00DFCB89 /* GMSMapView+ClusterKit.m */, ); name = ClusterKit; - path = ../../../ClusterKit/GoogleMaps; + path = ../../../Sources/GoogleMaps; sourceTree = ""; }; /* End PBXGroup section */ @@ -402,7 +373,7 @@ isa = PBXNativeTarget; buildConfigurationList = 9C1A99F21EB9225800BEB563 /* Build configuration list for PBXNativeTarget "Example-data" */; buildPhases = ( - 3760CD69C0639C1A7DE13AA3 /* [CP] Check Pods Manifest.lock */, + 0FDAD941EC622104BA39FF00 /* [CP] Check Pods Manifest.lock */, 9C1A99E41EB9225800BEB563 /* Sources */, 9C1A99E51EB9225800BEB563 /* Frameworks */, 9C1A99E61EB9225800BEB563 /* Headers */, @@ -421,13 +392,13 @@ isa = PBXNativeTarget; buildConfigurationList = 9CD80AEE1E2306E000DFCB89 /* Build configuration list for PBXNativeTarget "Example-objc" */; buildPhases = ( - 2665C1F24D2188B1AB03D970 /* [CP] Check Pods Manifest.lock */, + 0594654DC483EF02F46418D2 /* [CP] Check Pods Manifest.lock */, 9CD80AD61E2306E000DFCB89 /* Sources */, 9CD80AD71E2306E000DFCB89 /* Frameworks */, 9CD80AD81E2306E000DFCB89 /* Resources */, 9CD80B2D1E230BC500DFCB89 /* Embed Frameworks */, - 6FBEE0F289623D53A1361EBC /* [CP] Embed Pods Frameworks */, - CB8CD84FCD0E5E344C49FE2C /* [CP] Copy Pods Resources */, + 3B7761E4CE3BD60491B0F24A /* [CP] Embed Pods Frameworks */, + 038E9630645807399F364EFB /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -443,13 +414,13 @@ isa = PBXNativeTarget; buildConfigurationList = 9CD80B041E2306F400DFCB89 /* Build configuration list for PBXNativeTarget "Example-swift" */; buildPhases = ( - 115117630495D085082C1E99 /* [CP] Check Pods Manifest.lock */, + E28BB52C6C1A986EDC2BA572 /* [CP] Check Pods Manifest.lock */, 9CD80AF11E2306F400DFCB89 /* Sources */, 9CD80AF21E2306F400DFCB89 /* Frameworks */, 9CD80AF31E2306F400DFCB89 /* Resources */, - 51077C0232745E78C7061F83 /* [CP] Embed Pods Frameworks */, - 9DAAF5BB803B327C06843D22 /* [CP] Copy Pods Resources */, 9C5C83E71EB9338E002F4C73 /* Embed Frameworks */, + FFA4521F7B0FC87023F77E7E /* [CP] Embed Pods Frameworks */, + 42385A4673C40936EC02B185 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -550,34 +521,42 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 115117630495D085082C1E99 /* [CP] Check Pods Manifest.lock */ = { + 038E9630645807399F364EFB /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-resources.sh", + "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", + "${PODS_ROOT}/YandexMapKit/YandexMapKit.framework/Versions/A/Resources/YandexMapKit.bundle", + "${PODS_ROOT}/YandexRuntime/YandexRuntime.framework/Versions/A/Resources/YandexRuntime.bundle", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-swift-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexMapKit.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexRuntime.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 2665C1F24D2188B1AB03D970 /* [CP] Check Pods Manifest.lock */ = { + 0594654DC483EF02F46418D2 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( "$(DERIVED_FILE_DIR)/Pods-Example-objc-checkManifestLockResult.txt", ); @@ -586,16 +565,20 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3760CD69C0639C1A7DE13AA3 /* [CP] Check Pods Manifest.lock */ = { + 0FDAD941EC622104BA39FF00 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( "$(DERIVED_FILE_DIR)/Pods-Example-data-checkManifestLockResult.txt", ); @@ -604,18 +587,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 51077C0232745E78C7061F83 /* [CP] Embed Pods Frameworks */ = { + 3B7761E4CE3BD60491B0F24A /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-frameworks.sh", "${BUILT_PRODUCTS_DIR}/ClusterKit/ClusterKit.framework", "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework", "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework.dSYM", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/E3F066DB-FB3F-3DB3-ADCA-FD22D28B3593.bcsymbolmap", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/314B394E-4B8A-3249-ACB5-C8B038156249.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/EF3F193B-8B19-3D7A-9C4D-CC7ACB8FD1B2.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/AF8AFA46-95A0-3C36-89B4-0A23D7D0A613.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/224E36C4-6533-3853-8416-A668FDC17C35.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/E1D60A9C-E180-3412-BFDB-809E8A1C178E.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/MapboxMobileEvents/MapboxMobileEvents.framework", "${BUILT_PRODUCTS_DIR}/GeoJSONSerialization/GeoJSONSerialization.framework", ); name = "[CP] Embed Pods Frameworks"; @@ -623,85 +609,94 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ClusterKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework", "${DWARF_DSYM_FOLDER_PATH}/Mapbox.framework.dSYM", - "${BUILT_PRODUCTS_DIR}/E3F066DB-FB3F-3DB3-ADCA-FD22D28B3593.bcsymbolmap", - "${BUILT_PRODUCTS_DIR}/314B394E-4B8A-3249-ACB5-C8B038156249.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/EF3F193B-8B19-3D7A-9C4D-CC7ACB8FD1B2.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/AF8AFA46-95A0-3C36-89B4-0A23D7D0A613.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/224E36C4-6533-3853-8416-A668FDC17C35.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/E1D60A9C-E180-3412-BFDB-809E8A1C178E.bcsymbolmap", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxMobileEvents.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GeoJSONSerialization.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 6FBEE0F289623D53A1361EBC /* [CP] Embed Pods Frameworks */ = { + 42385A4673C40936EC02B185 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/ClusterKit/ClusterKit.framework", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework.dSYM", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/E3F066DB-FB3F-3DB3-ADCA-FD22D28B3593.bcsymbolmap", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/314B394E-4B8A-3249-ACB5-C8B038156249.bcsymbolmap", - "${BUILT_PRODUCTS_DIR}/GeoJSONSerialization/GeoJSONSerialization.framework", + "${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-resources.sh", + "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", + "${PODS_ROOT}/YandexMapKit/YandexMapKit.framework/Versions/A/Resources/YandexMapKit.bundle", + "${PODS_ROOT}/YandexRuntime/YandexRuntime.framework/Versions/A/Resources/YandexRuntime.bundle", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ClusterKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework", - "${DWARF_DSYM_FOLDER_PATH}/Mapbox.framework.dSYM", - "${BUILT_PRODUCTS_DIR}/E3F066DB-FB3F-3DB3-ADCA-FD22D28B3593.bcsymbolmap", - "${BUILT_PRODUCTS_DIR}/314B394E-4B8A-3249-ACB5-C8B038156249.bcsymbolmap", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GeoJSONSerialization.framework", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexMapKit.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexRuntime.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 9DAAF5BB803B327C06843D22 /* [CP] Copy Pods Resources */ = { + E28BB52C6C1A986EDC2BA572 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-resources.sh", - "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", - "${PODS_ROOT}/YandexMapKit/YandexMapKit.framework/Versions/A/Resources/YandexMapKit.bundle", - "${PODS_ROOT}/YandexRuntime/YandexRuntime.framework/Versions/A/Resources/YandexRuntime.bundle", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexMapKit.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexRuntime.bundle", + "$(DERIVED_FILE_DIR)/Pods-Example-swift-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CB8CD84FCD0E5E344C49FE2C /* [CP] Copy Pods Resources */ = { + FFA4521F7B0FC87023F77E7E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-resources.sh", - "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", - "${PODS_ROOT}/YandexMapKit/YandexMapKit.framework/Versions/A/Resources/YandexMapKit.bundle", - "${PODS_ROOT}/YandexRuntime/YandexRuntime.framework/Versions/A/Resources/YandexRuntime.bundle", + "${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/ClusterKit/ClusterKit.framework", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework.dSYM", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/EF3F193B-8B19-3D7A-9C4D-CC7ACB8FD1B2.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/AF8AFA46-95A0-3C36-89B4-0A23D7D0A613.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/224E36C4-6533-3853-8416-A668FDC17C35.bcsymbolmap", + "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/E1D60A9C-E180-3412-BFDB-809E8A1C178E.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/MapboxMobileEvents/MapboxMobileEvents.framework", + "${BUILT_PRODUCTS_DIR}/GeoJSONSerialization/GeoJSONSerialization.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexMapKit.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/YandexRuntime.bundle", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ClusterKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework", + "${DWARF_DSYM_FOLDER_PATH}/Mapbox.framework.dSYM", + "${BUILT_PRODUCTS_DIR}/EF3F193B-8B19-3D7A-9C4D-CC7ACB8FD1B2.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/AF8AFA46-95A0-3C36-89B4-0A23D7D0A613.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/224E36C4-6533-3853-8416-A668FDC17C35.bcsymbolmap", + "${BUILT_PRODUCTS_DIR}/E1D60A9C-E180-3412-BFDB-809E8A1C178E.bcsymbolmap", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxMobileEvents.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GeoJSONSerialization.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-objc/Pods-Example-objc-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-swift/Pods-Example-swift-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -797,7 +792,7 @@ /* Begin XCBuildConfiguration section */ 9C1A99F31EB9225800BEB563 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6342D7FB7C4927C2B322BA29 /* Pods-Example-data.debug.xcconfig */; + baseConfigurationReference = 32F0D49D4543E19EF220586E /* Pods-Example-data.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = ""; @@ -818,7 +813,7 @@ }; 9C1A99F41EB9225800BEB563 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30529D0906921024EBCD8FF7 /* Pods-Example-data.release.xcconfig */; + baseConfigurationReference = BAA7D27AFD86A5F0DABE4C5C /* Pods-Example-data.release.xcconfig */; buildSettings = { CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = ""; @@ -954,7 +949,7 @@ }; 9CD80AEF1E2306E000DFCB89 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4ECF1E12AA19EE26529118B7 /* Pods-Example-objc.debug.xcconfig */; + baseConfigurationReference = 352BC0D9D2792C85558BE83D /* Pods-Example-objc.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -972,7 +967,7 @@ }; 9CD80AF01E2306E000DFCB89 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9EB6F7358EEAEDC7F14ED134 /* Pods-Example-objc.release.xcconfig */; + baseConfigurationReference = 231B323CBEA697B10C96FFF0 /* Pods-Example-objc.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -989,7 +984,7 @@ }; 9CD80B051E2306F400DFCB89 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 53319BB1285E4BB84F1CA340 /* Pods-Example-swift.debug.xcconfig */; + baseConfigurationReference = 993A7B7FE7C0EEDD6F305626 /* Pods-Example-swift.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; @@ -1007,7 +1002,7 @@ }; 9CD80B061E2306F400DFCB89 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CE1A20DCEC46304D571DC07A /* Pods-Example-swift.release.xcconfig */; + baseConfigurationReference = A263C9BA0328C743514BB241 /* Pods-Example-swift.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; diff --git a/Examples/Podfile b/Examples/Podfile index 1b951e5..719c51b 100644 --- a/Examples/Podfile +++ b/Examples/Podfile @@ -2,7 +2,7 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' use_frameworks! -pod 'ClusterKit/MapKit', :path => '../.' +pod 'ClusterKit', :path => '../.' pod 'ClusterKit/Mapbox', :path => '../.' target 'Example-data' do diff --git a/Examples/Podfile.lock b/Examples/Podfile.lock index 41a2af2..de9bcb1 100644 --- a/Examples/Podfile.lock +++ b/Examples/Podfile.lock @@ -1,33 +1,36 @@ PODS: - - ClusterKit/Core (0.4.0) - - ClusterKit/Mapbox (0.4.0): + - ClusterKit (0.5.0): + - ClusterKit/Core (= 0.5.0) + - ClusterKit/Core (0.5.0) + - ClusterKit/Mapbox (0.5.0): - ClusterKit/Core - Mapbox-iOS-SDK (~> 5.0) - - ClusterKit/MapKit (0.4.0): - - ClusterKit/Core - GeoJSONSerialization (0.0.4) - GoogleMaps (3.1.0): - GoogleMaps/Maps (= 3.1.0) - GoogleMaps/Base (3.1.0) - GoogleMaps/Maps (3.1.0): - GoogleMaps/Base - - Mapbox-iOS-SDK (5.1.0) + - Mapbox-iOS-SDK (5.9.0): + - MapboxMobileEvents (= 0.10.2) + - MapboxMobileEvents (0.10.2) - YandexMapKit (3.3.1): - YandexRuntime (~> 3.3) - YandexRuntime (3.3.1) DEPENDENCIES: + - ClusterKit (from `../.`) - ClusterKit/Mapbox (from `../.`) - - ClusterKit/MapKit (from `../.`) - GeoJSONSerialization - GoogleMaps - YandexMapKit SPEC REPOS: - https://github.com/cocoapods/specs.git: + https://github.com/CocoaPods/Specs.git: - GeoJSONSerialization - GoogleMaps - Mapbox-iOS-SDK + - MapboxMobileEvents - YandexMapKit - YandexRuntime @@ -36,13 +39,14 @@ EXTERNAL SOURCES: :path: "../." SPEC CHECKSUMS: - ClusterKit: c744b85c508273e619e34917c46a07399437f208 + ClusterKit: 8a8abf1c4fb506a6ece9b211a9bfc249ff4a29ec GeoJSONSerialization: 55a3d24fe9af26508e3af76873114b39b13ba479 GoogleMaps: 5c13302e6fe6bb6e686b267196586b91cd594225 - Mapbox-iOS-SDK: 4106f0f6808a0362233a703fb22369b3af3e9b8c + Mapbox-iOS-SDK: a5915700ec84bc1a7f8b3e746d474789e35b7956 + MapboxMobileEvents: 2bc0ca2eedb627b73cf403258dce2b2fa98074a6 YandexMapKit: d91d278f55fa5cced0a946b9ba33431fb5a9665d YandexRuntime: d7aae40396f41c9b23b17fee1fe6164b886e3679 -PODFILE CHECKSUM: 8cd7d6fc523f40e53a12546f4b45c85894e2cf99 +PODFILE CHECKSUM: 4e905150e743aaf8c850979e34e1433bebd7a815 -COCOAPODS: 1.7.3 +COCOAPODS: 1.9.3 diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..b26c204 --- /dev/null +++ b/Package.swift @@ -0,0 +1,25 @@ +// swift-tools-version:5.2 +import PackageDescription + +let package = Package( + name: "ClusterKit", + platforms: [ + .macOS(.v10_15), .iOS(.v9), .tvOS(.v13) + ], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "ClusterKit", + targets: ["ClusterKit"]) + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + ], + 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: "ClusterKit" + ), + ] +) diff --git a/ClusterKit/Core/Algorithm/CKClusterAlgorithm.m b/Sources/ClusterKit/Algorithm/CKClusterAlgorithm.m similarity index 98% rename from ClusterKit/Core/Algorithm/CKClusterAlgorithm.m rename to Sources/ClusterKit/Algorithm/CKClusterAlgorithm.m index 0e5cf48..42a95c0 100644 --- a/ClusterKit/Core/Algorithm/CKClusterAlgorithm.m +++ b/Sources/ClusterKit/Algorithm/CKClusterAlgorithm.m @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKClusterAlgorithm.h" +#import @implementation CKClusterAlgorithm { Class _clusterClass; diff --git a/ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.m b/Sources/ClusterKit/Algorithm/CKGridBasedAlgorithm.m similarity index 98% rename from ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.m rename to Sources/ClusterKit/Algorithm/CKGridBasedAlgorithm.m index 883c49d..8064f26 100644 --- a/ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.m +++ b/Sources/ClusterKit/Algorithm/CKGridBasedAlgorithm.m @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKGridBasedAlgorithm.h" +#import @implementation CKGridBasedAlgorithm diff --git a/ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m b/Sources/ClusterKit/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m similarity index 98% rename from ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m rename to Sources/ClusterKit/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m index d814cf6..175df6d 100644 --- a/ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m +++ b/Sources/ClusterKit/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.m @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKNonHierarchicalDistanceBasedAlgorithm.h" +#import @interface CKCandidate : NSObject @property (nonatomic) CGFloat distance; diff --git a/ClusterKit/Core/CKCluster.m b/Sources/ClusterKit/CKCluster.m similarity index 99% rename from ClusterKit/Core/CKCluster.m rename to Sources/ClusterKit/CKCluster.m index f9917ee..b82d8d8 100644 --- a/ClusterKit/Core/CKCluster.m +++ b/Sources/ClusterKit/CKCluster.m @@ -21,8 +21,7 @@ // THE SOFTWARE. #import - -#import "CKCluster.h" +#import double CKDistance(CLLocationCoordinate2D from, CLLocationCoordinate2D to) { MKMapPoint a = MKMapPointForCoordinate(from); diff --git a/ClusterKit/Core/CKClusterManager.m b/Sources/ClusterKit/CKClusterManager.m similarity index 98% rename from ClusterKit/Core/CKClusterManager.m rename to Sources/ClusterKit/CKClusterManager.m index 5582383..40ef842 100644 --- a/ClusterKit/Core/CKClusterManager.m +++ b/Sources/ClusterKit/CKClusterManager.m @@ -20,9 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKClusterManager.h" -#import "CKQuadTree.h" -#import "CKMap.h" +#import +#import +#import const double kCKMarginFactorWorld = -1; @@ -49,7 +49,9 @@ - (instancetype)init { self.maxZoomLevel = 20; self.marginFactor = kCKMarginFactorWorld; self.animationDuration = .5; +#if __has_include() self.animationOptions = UIViewAnimationOptionCurveEaseOut; +#endif _clusters = [NSMutableSet set]; _queue = dispatch_queue_create("com.hulab.cluster", DISPATCH_QUEUE_CONCURRENT); diff --git a/Framework/Info.plist b/Sources/ClusterKit/Info.plist similarity index 94% rename from Framework/Info.plist rename to Sources/ClusterKit/Info.plist index 317c3be..ec0cc7b 100644 --- a/Framework/Info.plist +++ b/Sources/ClusterKit/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.4.1 + $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/ClusterKit/MapKit/MKMapView+ClusterKit.m b/Sources/ClusterKit/MapKit/MKMapView+ClusterKit.m similarity index 95% rename from ClusterKit/MapKit/MKMapView+ClusterKit.m rename to Sources/ClusterKit/MapKit/MKMapView+ClusterKit.m index 2774884..d980565 100644 --- a/ClusterKit/MapKit/MKMapView+ClusterKit.m +++ b/Sources/ClusterKit/MapKit/MKMapView+ClusterKit.m @@ -20,11 +20,17 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +#if __has_include() +#import +#endif + #import -#import "MKMapView+ClusterKit.h" +#import @implementation MKMapView (ClusterKit) +#if __has_include() + - (void)showCluster:(CKCluster *)cluster animated:(BOOL)animated { [self showCluster:cluster edgePadding:UIEdgeInsetsZero animated:animated]; } @@ -37,6 +43,8 @@ - (void)showCluster:(CKCluster *)cluster edgePadding:(UIEdgeInsets)insets animat [self setVisibleMapRect:zoomRect edgePadding:insets animated:animated]; } +#endif + #pragma mark - - (CKClusterManager *)clusterManager { @@ -95,11 +103,13 @@ - (void)performAnimations:(NSArray *)animations completion if (completion) completion(finished); }]; } else { +#if __has_include() [UIView animateWithDuration:self.clusterManager.animationDuration delay:0 options:self.clusterManager.animationOptions animations:animationsBlock completion:completion]; +#endif } } diff --git a/ClusterKit/Core/Tree/CKQuadTree.m b/Sources/ClusterKit/Tree/CKQuadTree.m similarity index 99% rename from ClusterKit/Core/Tree/CKQuadTree.m rename to Sources/ClusterKit/Tree/CKQuadTree.m index 56fb649..3d41c2c 100644 --- a/ClusterKit/Core/Tree/CKQuadTree.m +++ b/Sources/ClusterKit/Tree/CKQuadTree.m @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKQuadTree.h" +#import /// Quadtree point typedef struct hb_qpoint { diff --git a/ClusterKit/Core/Tree/CKAnnotationTree.h b/Sources/ClusterKit/include/ClusterKit/CKAnnotationTree.h similarity index 100% rename from ClusterKit/Core/Tree/CKAnnotationTree.h rename to Sources/ClusterKit/include/ClusterKit/CKAnnotationTree.h diff --git a/ClusterKit/Core/CKCluster.h b/Sources/ClusterKit/include/ClusterKit/CKCluster.h similarity index 100% rename from ClusterKit/Core/CKCluster.h rename to Sources/ClusterKit/include/ClusterKit/CKCluster.h diff --git a/ClusterKit/Core/Algorithm/CKClusterAlgorithm.h b/Sources/ClusterKit/include/ClusterKit/CKClusterAlgorithm.h similarity index 96% rename from ClusterKit/Core/Algorithm/CKClusterAlgorithm.h rename to Sources/ClusterKit/include/ClusterKit/CKClusterAlgorithm.h index fa032b8..55c8753 100644 --- a/ClusterKit/Core/Algorithm/CKClusterAlgorithm.h +++ b/Sources/ClusterKit/include/ClusterKit/CKClusterAlgorithm.h @@ -21,8 +21,8 @@ // THE SOFTWARE. #import -#import "CKAnnotationTree.h" -#import "CKCluster.h" +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/Core/CKClusterManager.h b/Sources/ClusterKit/include/ClusterKit/CKClusterManager.h similarity index 96% rename from ClusterKit/Core/CKClusterManager.h rename to Sources/ClusterKit/include/ClusterKit/CKClusterManager.h index c23e4bd..01d349c 100644 --- a/ClusterKit/Core/CKClusterManager.h +++ b/Sources/ClusterKit/include/ClusterKit/CKClusterManager.h @@ -20,10 +20,14 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +#import + +#if __has_include() #import +#endif -#import "CKGridBasedAlgorithm.h" -#import "CKNonHierarchicalDistanceBasedAlgorithm.h" +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -70,10 +74,12 @@ FOUNDATION_EXTERN const double kCKMarginFactorWorld; */ @property (nonatomic, assign) CGFloat animationDuration; +#if __has_include() /** A mask of options indicating how you want to perform the animations. For a list of valid constants, @see UIViewAnimationOptions. */ @property (nonatomic, assign) UIViewAnimationOptions animationOptions; +#endif /** The cluster algorithm to use. @see CKClusterAlgorithm. diff --git a/ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.h b/Sources/ClusterKit/include/ClusterKit/CKGridBasedAlgorithm.h similarity index 98% rename from ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.h rename to Sources/ClusterKit/include/ClusterKit/CKGridBasedAlgorithm.h index 80e2b93..9200021 100644 --- a/ClusterKit/Core/Algorithm/CKGridBasedAlgorithm.h +++ b/Sources/ClusterKit/include/ClusterKit/CKGridBasedAlgorithm.h @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKClusterAlgorithm.h" +#import /** A simple grid-based clustering algorithm with O(n) performance. diff --git a/ClusterKit/Core/CKMap.h b/Sources/ClusterKit/include/ClusterKit/CKMap.h similarity index 98% rename from ClusterKit/Core/CKMap.h rename to Sources/ClusterKit/include/ClusterKit/CKMap.h index 71e7771..46bcee6 100644 --- a/ClusterKit/Core/CKMap.h +++ b/Sources/ClusterKit/include/ClusterKit/CKMap.h @@ -21,7 +21,7 @@ // THE SOFTWARE. #import -#import "CKClusterManager.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.h b/Sources/ClusterKit/include/ClusterKit/CKNonHierarchicalDistanceBasedAlgorithm.h similarity index 98% rename from ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.h rename to Sources/ClusterKit/include/ClusterKit/CKNonHierarchicalDistanceBasedAlgorithm.h index 46ae680..0b58436 100644 --- a/ClusterKit/Core/Algorithm/CKNonHierarchicalDistanceBasedAlgorithm.h +++ b/Sources/ClusterKit/include/ClusterKit/CKNonHierarchicalDistanceBasedAlgorithm.h @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKClusterAlgorithm.h" +#import /** A simple clustering algorithm with O(nlog n) performance. diff --git a/ClusterKit/Core/Tree/CKQuadTree.h b/Sources/ClusterKit/include/ClusterKit/CKQuadTree.h similarity index 98% rename from ClusterKit/Core/Tree/CKQuadTree.h rename to Sources/ClusterKit/include/ClusterKit/CKQuadTree.h index 29a5603..b828bf5 100644 --- a/ClusterKit/Core/Tree/CKQuadTree.h +++ b/Sources/ClusterKit/include/ClusterKit/CKQuadTree.h @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "CKAnnotationTree.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/ClusterKit.h b/Sources/ClusterKit/include/ClusterKit/ClusterKit.h similarity index 97% rename from ClusterKit/ClusterKit.h rename to Sources/ClusterKit/include/ClusterKit/ClusterKit.h index 8b2f8fc..e93f029 100644 --- a/ClusterKit/ClusterKit.h +++ b/Sources/ClusterKit/include/ClusterKit/ClusterKit.h @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import +#import //! Project version number for ClusterKit. FOUNDATION_EXPORT double ClusterKitVersionNumber; diff --git a/ClusterKit/MapKit/MKMapView+ClusterKit.h b/Sources/ClusterKit/include/ClusterKit/MKMapView+ClusterKit.h similarity index 95% rename from ClusterKit/MapKit/MKMapView+ClusterKit.h rename to Sources/ClusterKit/include/ClusterKit/MKMapView+ClusterKit.h index 079986d..87d7c4d 100644 --- a/ClusterKit/MapKit/MKMapView+ClusterKit.h +++ b/Sources/ClusterKit/include/ClusterKit/MKMapView+ClusterKit.h @@ -21,7 +21,8 @@ // THE SOFTWARE. #import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN @@ -30,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN */ @interface MKMapView (ClusterKit) +#if __has_include() + /** Shows the specified cluster centered on screen at the greatest possible zoom level. @@ -47,6 +50,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)showCluster:(CKCluster *)cluster edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated; +#endif @end NS_ASSUME_NONNULL_END diff --git a/Framework/module.modulemap b/Sources/ClusterKit/include/module.modulemap similarity index 100% rename from Framework/module.modulemap rename to Sources/ClusterKit/include/module.modulemap diff --git a/ClusterKit/GoogleMaps/GMSMapView+ClusterKit.h b/Sources/GoogleMaps/GMSMapView+ClusterKit.h similarity index 99% rename from ClusterKit/GoogleMaps/GMSMapView+ClusterKit.h rename to Sources/GoogleMaps/GMSMapView+ClusterKit.h index 72e609f..77419fa 100644 --- a/ClusterKit/GoogleMaps/GMSMapView+ClusterKit.h +++ b/Sources/GoogleMaps/GMSMapView+ClusterKit.h @@ -22,6 +22,7 @@ #import #import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/GoogleMaps/GMSMapView+ClusterKit.m b/Sources/GoogleMaps/GMSMapView+ClusterKit.m similarity index 100% rename from ClusterKit/GoogleMaps/GMSMapView+ClusterKit.m rename to Sources/GoogleMaps/GMSMapView+ClusterKit.m diff --git a/ClusterKit/Mapbox/MGLMapView+ClusterKit.h b/Sources/Mapbox/MGLMapView+ClusterKit.h similarity index 96% rename from ClusterKit/Mapbox/MGLMapView+ClusterKit.h rename to Sources/Mapbox/MGLMapView+ClusterKit.h index 802f789..fba03a8 100644 --- a/ClusterKit/Mapbox/MGLMapView+ClusterKit.h +++ b/Sources/Mapbox/MGLMapView+ClusterKit.h @@ -21,7 +21,8 @@ // THE SOFTWARE. #import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/Mapbox/MGLMapView+ClusterKit.m b/Sources/Mapbox/MGLMapView+ClusterKit.m similarity index 98% rename from ClusterKit/Mapbox/MGLMapView+ClusterKit.m rename to Sources/Mapbox/MGLMapView+ClusterKit.m index df9da34..43b4bdf 100644 --- a/ClusterKit/Mapbox/MGLMapView+ClusterKit.m +++ b/Sources/Mapbox/MGLMapView+ClusterKit.m @@ -21,6 +21,7 @@ // THE SOFTWARE. #import + #import "MGLMapView+ClusterKit.h" MGLCoordinateBounds MGLCoordinateIncludingCoordinate(MGLCoordinateBounds bounds, CLLocationCoordinate2D coordinate) { @@ -113,7 +114,7 @@ - (void)removeClusters:(NSArray *)clusters { - (void)selectCluster:(CKCluster *)cluster animated:(BOOL)animated { if (![self.selectedAnnotations containsObject:cluster]) { - [self selectAnnotation:cluster animated:animated]; + [self selectAnnotation:cluster animated:animated completionHandler:nil]; } } diff --git a/ClusterKit/YandexMapKit/YMKMapView+ClusterKit.h b/Sources/YandexMapKit/YMKMapView+ClusterKit.h similarity index 96% rename from ClusterKit/YandexMapKit/YMKMapView+ClusterKit.h rename to Sources/YandexMapKit/YMKMapView+ClusterKit.h index d9cc647..cbb99e5 100644 --- a/ClusterKit/YandexMapKit/YMKMapView+ClusterKit.h +++ b/Sources/YandexMapKit/YMKMapView+ClusterKit.h @@ -1,5 +1,6 @@ #import -#import +#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/ClusterKit/YandexMapKit/YMKMapView+ClusterKit.m b/Sources/YandexMapKit/YMKMapView+ClusterKit.m similarity index 99% rename from ClusterKit/YandexMapKit/YMKMapView+ClusterKit.m rename to Sources/YandexMapKit/YMKMapView+ClusterKit.m index 62653a1..81b9b74 100644 --- a/ClusterKit/YandexMapKit/YMKMapView+ClusterKit.m +++ b/Sources/YandexMapKit/YMKMapView+ClusterKit.m @@ -1,7 +1,8 @@ #import -#import "YMKMapView+ClusterKit.h" #import +#import "YMKMapView+ClusterKit.h" + @implementation YMKPlacemarkMapObject (ClusterKit) - (CKCluster *)cluster { diff --git a/Tests/CKAnnotation.h b/Tests/ClusterKitTests/CKAnnotation.h similarity index 100% rename from Tests/CKAnnotation.h rename to Tests/ClusterKitTests/CKAnnotation.h diff --git a/Tests/CKAnnotation.m b/Tests/ClusterKitTests/CKAnnotation.m similarity index 100% rename from Tests/CKAnnotation.m rename to Tests/ClusterKitTests/CKAnnotation.m diff --git a/Tests/CKGridBasedAlgorithmTest.m b/Tests/ClusterKitTests/CKGridBasedAlgorithmTest.m similarity index 100% rename from Tests/CKGridBasedAlgorithmTest.m rename to Tests/ClusterKitTests/CKGridBasedAlgorithmTest.m diff --git a/Tests/CKNonHierarchicalDistanceBasedAlgorithmTest.m b/Tests/ClusterKitTests/CKNonHierarchicalDistanceBasedAlgorithmTest.m similarity index 100% rename from Tests/CKNonHierarchicalDistanceBasedAlgorithmTest.m rename to Tests/ClusterKitTests/CKNonHierarchicalDistanceBasedAlgorithmTest.m diff --git a/Tests/CKQuadTreeTest.m b/Tests/ClusterKitTests/CKQuadTreeTest.m similarity index 100% rename from Tests/CKQuadTreeTest.m rename to Tests/ClusterKitTests/CKQuadTreeTest.m diff --git a/Tests/Info.plist b/Tests/ClusterKitTests/Info.plist similarity index 100% rename from Tests/Info.plist rename to Tests/ClusterKitTests/Info.plist From e556af7cd3859e385b57cba65af79e83e67eebcd Mon Sep 17 00:00:00 2001 From: Maxime Epain Date: Fri, 17 Jul 2020 13:52:56 +0200 Subject: [PATCH 2/2] Update modulemap --- Sources/ClusterKit/include/module.modulemap | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Sources/ClusterKit/include/module.modulemap b/Sources/ClusterKit/include/module.modulemap index 6224c50..603168d 100644 --- a/Sources/ClusterKit/include/module.modulemap +++ b/Sources/ClusterKit/include/module.modulemap @@ -1,10 +1,9 @@ -framework module ClusterKit { - umbrella header "ClusterKit.h" +module ClusterKit { + umbrella header "ClusterKit/ClusterKit.h" export * - module * { export * } explicit module MapKit { - header "MKMapView+ClusterKit.h" + header "ClusterKit/MKMapView+ClusterKit.h" export * } }