From a28aee55dfd02947d91e13613c02ab473cd664eb Mon Sep 17 00:00:00 2001 From: Jack Alto <384288+aokj4ck@users.noreply.github.com> Date: Fri, 9 Feb 2024 10:52:37 -0500 Subject: [PATCH 1/6] Move Examples/SearchExample.xcworkspace SearchUI attribution and logo to top left (out of SearchUI) #165 (#170) ### Description Fixes https://github.com/mapbox/mapbox-search-ios/issues/165 - Update SearchExample > Integrate SearchUI module to demonstrate correct attribution on a Mapbox MapView when using the SearchUI - Attribution guide: https://docs.mapbox.com/help/getting-started/attribution/#mapbox-maps-sdk-for-ios ### Checklist - ~[ ] Update `CHANGELOG`~ | Before | After | After (iPhone SE) | | -- | -- | -- | | ![Simulator Screen Shot - iPhone 14 Pro - 2024-02-07 at 14 14 06](https://github.com/mapbox/mapbox-search-ios/assets/384288/727d2952-488e-41b4-a263-6e098460a428) | ![Simulator Screen Shot - iPhone 14 Pro - 2024-02-07 at 14 09 12](https://github.com/mapbox/mapbox-search-ios/assets/384288/4f553bf3-56ba-4554-8037-5c298b925385) | ![Simulator Screen Shot - iPhone SE (2nd generation) - 2024-02-07 at 14 19 18](https://github.com/mapbox/mapbox-search-ios/assets/384288/0ed6e44b-8dfa-486a-8332-334ac608fb34) | --- .../SimpleUISearchViewController.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Examples/SearchExamples/SimpleUISearchViewController.swift b/Examples/SearchExamples/SimpleUISearchViewController.swift index eb5abf760..9f7366353 100644 --- a/Examples/SearchExamples/SimpleUISearchViewController.swift +++ b/Examples/SearchExamples/SimpleUISearchViewController.swift @@ -19,6 +19,25 @@ class SimpleUISearchViewController: MapsViewController { let cameraOptions = CameraOptions(center: .sanFrancisco, zoom: 15) mapView.camera.fly(to: cameraOptions, duration: 1, completion: nil) + let horizontalMargin: CGFloat = 4 + mapView.ornaments.options.logo = LogoViewOptions( + position: .topLeading, + margins: CGPoint(x: horizontalMargin, y: 0) + ) + + mapView.ornaments.options.attributionButton = AttributionButtonOptions( + position: .topLeading, + margins: CGPoint(x: 0, y: 4) + ) + + let scalarX = mapView.ornaments.logoView.bounds.maxX + 12 + mapView.ornaments.options.scaleBar = ScaleBarViewOptions( + position: .topLeading, + margins: CGPoint(x: scalarX, y: 0), + visibility: .visible, + useMetricUnits: false + ) + searchController.delegate = self addChild(panelController) } From 036392bee7387c0478507f1c3024113da6f084d5 Mon Sep 17 00:00:00 2001 From: Jack Alto <384288+aokj4ck@users.noreply.github.com> Date: Mon, 12 Feb 2024 13:09:16 -0500 Subject: [PATCH 2/6] Clean up unused Autofill.xcasset (#173) ### Description - Remove unused Autofill.xcasset - MapboxSearch does not provide UI elements - Xcode metadata: - Remove unused .travis.yml reference - Add references to Changelog, Brewfile, fastlane (will clean-up in the future) --- MapboxSearch.xcodeproj/project.pbxproj | 28 ++++++++++++++---- Sources/Demo/Autofill.xcassets/Contents.json | 6 ---- .../pin.imageset/Contents.json | 21 ------------- .../pin.imageset/icons8-map-pin-48.png | Bin 825 -> 0 bytes 4 files changed, 22 insertions(+), 33 deletions(-) delete mode 100644 Sources/Demo/Autofill.xcassets/Contents.json delete mode 100644 Sources/Demo/Autofill.xcassets/pin.imageset/Contents.json delete mode 100644 Sources/Demo/Autofill.xcassets/pin.imageset/icons8-map-pin-48.png diff --git a/MapboxSearch.xcodeproj/project.pbxproj b/MapboxSearch.xcodeproj/project.pbxproj index 9298b0489..d463a3a77 100644 --- a/MapboxSearch.xcodeproj/project.pbxproj +++ b/MapboxSearch.xcodeproj/project.pbxproj @@ -36,7 +36,6 @@ 141789BB2878AD9B0000AE79 /* AddressAutofill.Options+Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141789BA2878AD9B0000AE79 /* AddressAutofill.Options+Tests.swift */; }; 141789E7287C05060000AE79 /* AddressAutofill.Suggestion+SearchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141789E6287C05060000AE79 /* AddressAutofill.Suggestion+SearchResult.swift */; }; 141789EE287C125E0000AE79 /* AddressAutofill.Suggestion+Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141789E9287C115C0000AE79 /* AddressAutofill.Suggestion+Tests.swift */; }; - 1419EB6929670638009672CA /* Autofill.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1419EB6829670638009672CA /* Autofill.xcassets */; }; 1420F31C29A2800300D4A511 /* CoreSearchResultStub+Samples.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1420F31729A25B5800D4A511 /* CoreSearchResultStub+Samples.swift */; }; 1420F31D29A2800500D4A511 /* CoreSearchResultStub+Samples.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1420F31729A25B5800D4A511 /* CoreSearchResultStub+Samples.swift */; }; 1421416A2953450C00774439 /* PlaceAutocomplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = 142141692953450C00774439 /* PlaceAutocomplete.swift */; }; @@ -499,6 +498,13 @@ 04C127572B62FFDB00884325 /* ApiType+Core.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ApiType+Core.swift"; sourceTree = ""; }; 04E5FF952B48828500DADC18 /* SearchAddressCountry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchAddressCountry.swift; sourceTree = ""; }; 04E5FF982B48829200DADC18 /* SearchAddressRegion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchAddressRegion.swift; sourceTree = ""; }; + 04E84CFD2B768EDA0056C269 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; + 04E84CFE2B768EDA0056C269 /* Brewfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Brewfile; sourceTree = ""; }; + 04E84D012B768F210056C269 /* Pluginfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Pluginfile; sourceTree = ""; }; + 04E84D022B768F210056C269 /* Appfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Appfile; sourceTree = ""; }; + 04E84D032B768F210056C269 /* Fastfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Fastfile; sourceTree = ""; }; + 04E84D042B768F210056C269 /* .env */ = {isa = PBXFileReference; lastKnownFileType = text; path = .env; sourceTree = ""; }; + 04E84D052B768F210056C269 /* Matchfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Matchfile; sourceTree = ""; }; 140D1BDB286DB479001A51C2 /* SearchResultAccuracy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultAccuracy.swift; sourceTree = ""; }; 140E47A1298BC90E00677E30 /* Discover.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Discover.swift; sourceTree = ""; }; 140E47A4298BC94D00677E30 /* Discover+Options.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Discover+Options.swift"; sourceTree = ""; }; @@ -513,7 +519,6 @@ 141789BA2878AD9B0000AE79 /* AddressAutofill.Options+Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressAutofill.Options+Tests.swift"; sourceTree = ""; }; 141789E6287C05060000AE79 /* AddressAutofill.Suggestion+SearchResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressAutofill.Suggestion+SearchResult.swift"; sourceTree = ""; }; 141789E9287C115C0000AE79 /* AddressAutofill.Suggestion+Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressAutofill.Suggestion+Tests.swift"; sourceTree = ""; }; - 1419EB6829670638009672CA /* Autofill.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Autofill.xcassets; sourceTree = ""; }; 1420F31729A25B5800D4A511 /* CoreSearchResultStub+Samples.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CoreSearchResultStub+Samples.swift"; sourceTree = ""; }; 142141692953450C00774439 /* PlaceAutocomplete.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaceAutocomplete.swift; sourceTree = ""; }; 143695F5289927FD00861F1A /* UIApplication+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extensions.swift"; sourceTree = ""; }; @@ -646,7 +651,6 @@ FE114D8824C1A86A001B2CE8 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; FE114D8924C1A86A001B2CE8 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; FE114D8A24C1A86A001B2CE8 /* .swiftformat */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftformat; sourceTree = ""; }; - FE114D8B24C1A86A001B2CE8 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .travis.yml; sourceTree = ""; }; FE114D8C24C1A873001B2CE8 /* MapboxSearchUI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = MapboxSearchUI.podspec; sourceTree = ""; }; FE114D8D24C1A873001B2CE8 /* MapboxSearch.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = MapboxSearch.podspec; sourceTree = ""; }; FE114D8E24C1A880001B2CE8 /* Gemfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Gemfile; sourceTree = ""; }; @@ -928,6 +932,18 @@ path = Region; sourceTree = ""; }; + 04E84D002B768F210056C269 /* .fastlane */ = { + isa = PBXGroup; + children = ( + 04E84D012B768F210056C269 /* Pluginfile */, + 04E84D022B768F210056C269 /* Appfile */, + 04E84D032B768F210056C269 /* Fastfile */, + 04E84D042B768F210056C269 /* .env */, + 04E84D052B768F210056C269 /* Matchfile */, + ); + path = .fastlane; + sourceTree = ""; + }; 140E47A0298BC8F800677E30 /* Discover API */ = { isa = PBXGroup; children = ( @@ -1065,7 +1081,6 @@ 1419EB6729670629009672CA /* Resources */ = { isa = PBXGroup; children = ( - 1419EB6829670638009672CA /* Autofill.xcassets */, ); name = Resources; sourceTree = ""; @@ -1502,12 +1517,14 @@ FE114D8524C1A857001B2CE8 /* Metadata */ = { isa = PBXGroup; children = ( + 04E84D002B768F210056C269 /* .fastlane */, + 04E84CFE2B768EDA0056C269 /* Brewfile */, + 04E84CFD2B768EDA0056C269 /* CHANGELOG.md */, FE529611253704F900F61A0F /* .circleci */, FE114D8824C1A86A001B2CE8 /* .gitignore */, FE114D8624C1A86A001B2CE8 /* .swift-version */, FE114D8A24C1A86A001B2CE8 /* .swiftformat */, FE114D8924C1A86A001B2CE8 /* .swiftlint.yml */, - FE114D8B24C1A86A001B2CE8 /* .travis.yml */, FE114D8724C1A86A001B2CE8 /* Cartfile */, FE114D8F24C1A880001B2CE8 /* CODEOWNERS */, FE114D8E24C1A880001B2CE8 /* Gemfile */, @@ -2045,7 +2062,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1419EB6929670638009672CA /* Autofill.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Sources/Demo/Autofill.xcassets/Contents.json b/Sources/Demo/Autofill.xcassets/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/Sources/Demo/Autofill.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Sources/Demo/Autofill.xcassets/pin.imageset/Contents.json b/Sources/Demo/Autofill.xcassets/pin.imageset/Contents.json deleted file mode 100644 index b4cd0d632..000000000 --- a/Sources/Demo/Autofill.xcassets/pin.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "icons8-map-pin-48.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Sources/Demo/Autofill.xcassets/pin.imageset/icons8-map-pin-48.png b/Sources/Demo/Autofill.xcassets/pin.imageset/icons8-map-pin-48.png deleted file mode 100644 index f61e84a7e6972376769b12d9ebaa9f8d0ee382bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 825 zcmV-91IGM`P)q$gGRCt{2mdj2PQ5eV1lc-!;KmprAOK;N|+8KJC7Rs&k0Ze=V z-I=g3wkDclVyJ*y9z%pTFfN28QG4&)yK(iIGc7RE!NkPmbdvccUoy+z|9qDWLN+!w z{}qida9Xx_)Z+^m8o%AsGFv?@wRNtfHV(CTo<*aIvbyc;<#x_`xgu!%4rrMIXz6WG zQ(K@WH$hEofD&H^naiIlY~F!J2{l`c^m0Y9m)!x4Hy2k{@*uNoAjeigj^;!$nxoLj zynMDG>f#x5afMq0nbpNXTF!#R@F3C|L8kdh(*8)z6i%?Xmi~))>_%LoGayFNAW|vl zh7xDw7Z!`BHbG6Ai_6hraWR|(As7cCumT+~8zUA#Np60`;%ed!@ns$)=C*i37w;}{ z(Dkv(0)v5!~)1{PBRs!Qho6t7RTc<5MPWM#3Rs}4?}Y{q!0@rGW^A`_+UYG zaqdQ39~T1DYR$K&FP;5qM$&kn?A{Lq+M!t&4<_e2p%1b_U~?aQLixr;W4hla%Kjzy@A zdrlE)Bp)}{@y0rTUY7oX>f-vG`=K$7#eKSXePRLX<8I;mgq!@Y1g7nYP%Sqt+$lcg zgNDNk^+_!5f!df`sEy5y#?RapZCAw6nhSnzUN5MrIMg1vPDbYC&1lX9VhyMF;H!s$ z%PBuxI(_hEo`RqET?aqz&68c&f8pu#T`(518qaoLgRzj+cu}f=v5?hx`Sv{+3t5d) zWgm=%tVVgS3dTZKqihEtjNJj!*c~8^-2u|r9UzU}0n%8$1EsyHbS00!k<}jzI zs8o-U)p+&h&{^Kw|Ah;GBP&vRxBmneX%8D4bT_{Nq>yk6e$`7h00000NkvXXu0mjf D+`4;> From 6c5422018de17b643d0193ba5c5028672be9eae4 Mon Sep 17 00:00:00 2001 From: Thibaud Lopez Schneider Date: Mon, 12 Feb 2024 16:43:24 -0800 Subject: [PATCH 3/6] Create dependabot.yml (#175) Enable Dependabot version updates --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..0d08e261a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "github-actions" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" From 1bd33bfc93234d31fdffe8675e79dcb22b276560 Mon Sep 17 00:00:00 2001 From: Jack Alto <384288+aokj4ck@users.noreply.github.com> Date: Tue, 13 Feb 2024 12:11:04 -0500 Subject: [PATCH 4/6] [SSDK-545] Add xcprivacy (#174) ### Description **Ticket**: [SSDK-545](https://mapbox.atlassian.net/browse/SSDK-545) - Add PrivacyInfo.xcprivacy support - Follow guide at https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests - MapboxSearch - Uses location data _if the app has permissions_ - Uses other identifiers (software versions) for User Agents - MapboxSearchUI - Does not collect information - Privacy report from Demo app: - [Demo-PrivacyReport 2024-02-12 12-46-04.pdf](https://github.com/mapbox/mapbox-search-ios/files/14245941/Demo-PrivacyReport.2024-02-12.12-46-04.pdf) - (No entries for MapboxSearchUI because it does not collect info). ### Checklist - [x] Update `CHANGELOG` [SSDK-545]: https://mapbox.atlassian.net/browse/SSDK-545 --- CHANGELOG.md | 2 + .../xcshareddata/swiftpm/Package.resolved | 9 ---- MapboxSearch.xcodeproj/project.pbxproj | 28 ++++++++++ Package.swift | 8 ++- .../Resources/PrivacyInfo.xcprivacy | 52 +++++++++++++++++++ .../Resources/PrivacyInfo.xcprivacy | 14 +++++ .../SearchHistoryTableViewSource.swift | 1 - 7 files changed, 103 insertions(+), 11 deletions(-) create mode 100644 Sources/MapboxSearch/Resources/PrivacyInfo.xcprivacy create mode 100644 Sources/MapboxSearchUI/Resources/PrivacyInfo.xcprivacy diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e73f1ef..584f00654 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Guide: https://keepachangelog.com/en/1.0.0/ +- [Core] Add xcprivacy for MapboxSearch and MapboxSearchUI + - [SearchUI] Update Maki icons to all SVG, latest versions from https://github.com/mapbox/maki - [SearchUI] Remove all custom Maki icons - [Unit Tests] Update and correct tests for iOS 17 using all mocked data. diff --git a/Examples/SearchExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Examples/SearchExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 5c187f18f..397726ea0 100644 --- a/Examples/SearchExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Examples/SearchExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -28,15 +28,6 @@ "version": "10.2.0" } }, - { - "package": "MapboxMobileEvents", - "repositoryURL": "https://github.com/mapbox/mapbox-events-ios.git", - "state": { - "branch": null, - "revision": "e29f48d9ed02b31ef51f9774a9c45f1d7c2c2b78", - "version": "1.0.6" - } - }, { "package": "MapboxMaps", "repositoryURL": "git@github.com:mapbox/mapbox-maps-ios.git", diff --git a/MapboxSearch.xcodeproj/project.pbxproj b/MapboxSearch.xcodeproj/project.pbxproj index d463a3a77..55a8aeade 100644 --- a/MapboxSearch.xcodeproj/project.pbxproj +++ b/MapboxSearch.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 042477C62B72CCB000D870D5 /* geocoding-reverse-geocoding.json in Resources */ = {isa = PBXBuildFile; fileRef = 042477C42B72CCB000D870D5 /* geocoding-reverse-geocoding.json */; }; 042477C72B72CCB000D870D5 /* geocoding-reverse-geocoding.json in Resources */ = {isa = PBXBuildFile; fileRef = 042477C42B72CCB000D870D5 /* geocoding-reverse-geocoding.json */; }; 043A3D4D2B30F38300DB681B /* CoreAddress+AddressComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043A3D4C2B30F38300DB681B /* CoreAddress+AddressComponents.swift */; }; + 04970F8D2B7A97C900213763 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 04970F8C2B7A97C900213763 /* PrivacyInfo.xcprivacy */; }; 04AB0B4B2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json in Resources */ = {isa = PBXBuildFile; fileRef = 04AB0B4A2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json */; }; 04AB0B4C2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json in Resources */ = {isa = PBXBuildFile; fileRef = 04AB0B4A2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json */; }; 04AB0B4D2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json in Resources */ = {isa = PBXBuildFile; fileRef = 04AB0B4A2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json */; }; @@ -22,6 +23,8 @@ 04C127582B62FFDB00884325 /* ApiType+Core.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C127572B62FFDB00884325 /* ApiType+Core.swift */; }; 04E5FF962B48828500DADC18 /* SearchAddressCountry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E5FF952B48828500DADC18 /* SearchAddressCountry.swift */; }; 04E5FF992B48829200DADC18 /* SearchAddressRegion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E5FF982B48829200DADC18 /* SearchAddressRegion.swift */; }; + 04E84D122B76BA230056C269 /* Resources-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 04E84D112B76BA230056C269 /* Resources-Info.plist */; }; + 04E84D132B7A8F4D0056C269 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 04E84D072B7691610056C269 /* PrivacyInfo.xcprivacy */; }; 140D1BDC286DB479001A51C2 /* SearchResultAccuracy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140D1BDB286DB479001A51C2 /* SearchResultAccuracy.swift */; }; 140E47A2298BC90E00677E30 /* Discover.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140E47A1298BC90E00677E30 /* Discover.swift */; }; 140E47A5298BC94D00677E30 /* Discover+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140E47A4298BC94D00677E30 /* Discover+Options.swift */; }; @@ -491,6 +494,7 @@ 042477C12B7290E700D870D5 /* SearchEngineGeocodingIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchEngineGeocodingIntegrationTests.swift; sourceTree = ""; }; 042477C42B72CCB000D870D5 /* geocoding-reverse-geocoding.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "geocoding-reverse-geocoding.json"; sourceTree = ""; }; 043A3D4C2B30F38300DB681B /* CoreAddress+AddressComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoreAddress+AddressComponents.swift"; sourceTree = ""; }; + 04970F8C2B7A97C900213763 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 04AB0B4A2B6AADB700FDE7D5 /* mapbox.places.san.francisco.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = mapbox.places.san.francisco.json; sourceTree = ""; }; 04BBC6332B61898F00E24E99 /* LocalhostMockServiceProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalhostMockServiceProvider.swift; sourceTree = ""; }; 04C0848C2B4C82F3002F9C69 /* SdkInformation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SdkInformation.swift; sourceTree = ""; }; @@ -505,6 +509,8 @@ 04E84D032B768F210056C269 /* Fastfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Fastfile; sourceTree = ""; }; 04E84D042B768F210056C269 /* .env */ = {isa = PBXFileReference; lastKnownFileType = text; path = .env; sourceTree = ""; }; 04E84D052B768F210056C269 /* Matchfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Matchfile; sourceTree = ""; }; + 04E84D072B7691610056C269 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 04E84D112B76BA230056C269 /* Resources-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Resources-Info.plist"; sourceTree = ""; }; 140D1BDB286DB479001A51C2 /* SearchResultAccuracy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultAccuracy.swift; sourceTree = ""; }; 140E47A1298BC90E00677E30 /* Discover.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Discover.swift; sourceTree = ""; }; 140E47A4298BC94D00677E30 /* Discover+Options.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Discover+Options.swift"; sourceTree = ""; }; @@ -916,6 +922,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 04970F8B2B7A97C900213763 /* Resources */ = { + isa = PBXGroup; + children = ( + 04970F8C2B7A97C900213763 /* PrivacyInfo.xcprivacy */, + ); + path = Resources; + sourceTree = ""; + }; 04C127562B62FFD000884325 /* Engine */ = { isa = PBXGroup; children = ( @@ -944,6 +958,14 @@ path = .fastlane; sourceTree = ""; }; + 04E84D062B7691420056C269 /* Resources */ = { + isa = PBXGroup; + children = ( + 04E84D072B7691610056C269 /* PrivacyInfo.xcprivacy */, + ); + path = Resources; + sourceTree = ""; + }; 140E47A0298BC8F800677E30 /* Discover API */ = { isa = PBXGroup; children = ( @@ -1582,6 +1604,7 @@ FEEDD2C02508DFE400DC0A98 /* MapboxSearch */ = { isa = PBXGroup; children = ( + 04E84D062B7691420056C269 /* Resources */, FEEDD2C12508DFE400DC0A98 /* InternalAPI */, FEEDD2D42508DFE400DC0A98 /* PublicAPI */, ); @@ -1683,6 +1706,8 @@ FEEDD31E2508E02700DC0A98 /* MapboxSearchUI */ = { isa = PBXGroup; children = ( + 04E84D112B76BA230056C269 /* Resources-Info.plist */, + 04970F8B2B7A97C900213763 /* Resources */, FEEDD34E2508E02700DC0A98 /* ActivityProgressView.swift */, FEEDD33F2508E02700DC0A98 /* ActivityProgressView.xib */, FE4F260525F8E8B700454BC5 /* AddToFavoritesCell.swift */, @@ -2062,6 +2087,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 04E84D132B7A8F4D0056C269 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2183,6 +2209,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 04E84D122B76BA230056C269 /* Resources-Info.plist in Resources */, + 04970F8D2B7A97C900213763 /* PrivacyInfo.xcprivacy in Resources */, FEC6EEE5246BFBB30051732D /* MapboxSearchUIResources.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Package.swift b/Package.swift index f0254e1e5..446db8208 100644 --- a/Package.swift +++ b/Package.swift @@ -38,12 +38,18 @@ let package = Package( "MapboxCommon", ], exclude: ["Info.plist"], + resources: [ + .copy("Resources/PrivacyInfo.xcprivacy"), + ], linkerSettings: [.linkedLibrary("c++")] ), .target( name: "MapboxSearchUI", dependencies: ["MapboxSearch"], - exclude: ["Info.plist", "Resources-Info.plist"] + exclude: ["Info.plist", "Resources-Info.plist"], + resources: [ + .copy("Resources/PrivacyInfo.xcprivacy"), + ] ), coreSearchTarget( diff --git a/Sources/MapboxSearch/Resources/PrivacyInfo.xcprivacy b/Sources/MapboxSearch/Resources/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..a3686ebaa --- /dev/null +++ b/Sources/MapboxSearch/Resources/PrivacyInfo.xcprivacy @@ -0,0 +1,52 @@ + + + + + NSPrivacyAccessedAPITypes + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCoarseLocation + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePreciseLocation + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyTracking + + + diff --git a/Sources/MapboxSearchUI/Resources/PrivacyInfo.xcprivacy b/Sources/MapboxSearchUI/Resources/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..90211906c --- /dev/null +++ b/Sources/MapboxSearchUI/Resources/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyAccessedAPITypes + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + + diff --git a/Sources/MapboxSearchUI/SearchHistoryTableViewSource.swift b/Sources/MapboxSearchUI/SearchHistoryTableViewSource.swift index 7423f43f2..ca43da667 100644 --- a/Sources/MapboxSearchUI/SearchHistoryTableViewSource.swift +++ b/Sources/MapboxSearchUI/SearchHistoryTableViewSource.swift @@ -1,4 +1,3 @@ -import CoreLocation import MapboxSearch import UIKit From ef23a646fc1d678ac41affc6bf9456f9c626dcf3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 09:38:45 -0800 Subject: [PATCH 5/6] Bump github/codeql-action from 2 to 3 (#177) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 12737985c..9cac4666f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -72,6 +72,6 @@ jobs: ./scripts/build_spm_sample.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" From 7a397385bbd074aab06df20ffecd84e793adda86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 09:39:18 -0800 Subject: [PATCH 6/6] Bump actions/checkout from 3 to 4 (#176) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thibaud Lopez Schneider --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 9cac4666f..474d5a307 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -42,7 +42,7 @@ jobs: sudo xcode-select -s /Applications/Xcode_14.1.app - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL