From 35d55c096bb3b78c2107c178668ae1cfc3751f59 Mon Sep 17 00:00:00 2001 From: Muhammed Tanriverdi <muhammed.tanriverdi@tomtom.com> Date: Mon, 13 Nov 2023 16:59:11 +0100 Subject: [PATCH] feat: introduce spm (#45) * feat: introduce spm --- .github/workflows/build.yaml | 38 +- .gitignore | 5 +- Gemfile => CocoaPods/Gemfile | 2 +- Gemfile.lock => CocoaPods/Gemfile.lock | 0 Podfile => CocoaPods/Podfile | 0 Podfile.lock => CocoaPods/Podfile.lock | 0 CocoaPods/README.md | 55 ++ .../project.pbxproj | 237 +++---- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/TomTomSDKExamples.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 README.md | 63 +- SPM/README.md | 11 + .../project.pbxproj | 629 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/swiftpm/Package.resolved | 23 + .../xcschemes/TomTomSDKExamples.xcscheme | 82 +++ .../TomTomSDKExamplesInfo.plist | 4 + 21 files changed, 982 insertions(+), 182 deletions(-) rename Gemfile => CocoaPods/Gemfile (52%) rename Gemfile.lock => CocoaPods/Gemfile.lock (100%) rename Podfile => CocoaPods/Podfile (100%) rename Podfile.lock => CocoaPods/Podfile.lock (100%) create mode 100644 CocoaPods/README.md rename {TomTomSDKExamples.xcodeproj => CocoaPods/TomTomSDKExamples.xcodeproj}/project.pbxproj (66%) rename {TomTomSDKExamples.xcodeproj => CocoaPods/TomTomSDKExamples.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {TomTomSDKExamples.xcodeproj => CocoaPods/TomTomSDKExamples.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {TomTomSDKExamples.xcodeproj => CocoaPods/TomTomSDKExamples.xcodeproj}/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme (100%) rename {TomTomSDKExamples.xcworkspace => CocoaPods/TomTomSDKExamples.xcworkspace}/contents.xcworkspacedata (100%) rename {TomTomSDKExamples.xcworkspace => CocoaPods/TomTomSDKExamples.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 SPM/README.md create mode 100644 SPM/TomTomSDKExamples.xcodeproj/project.pbxproj create mode 100644 SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 SPM/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme rename TomTomSDKExamplesInfo.plist => TomTomSDKExamples/TomTomSDKExamplesInfo.plist (82%) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 704c0e9..569e7a4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,22 +7,52 @@ name: Buid iOS app on: workflow_call: +env: + spm_dir: './SPM' + cocoapods_dir: './CocoaPods' + platform: 'iOS Simulator' + device_name: 'iPhone 14' + ios_version: '16.4' + # clear out default permissions permissions: {} jobs: - build: - name: Buid iOS app + build-spm: + name: Buid iOS app - SPM permissions: contents: read - runs-on: macos-latest + runs-on: macos-13 + defaults: + run: + working-directory: ${{ env.spm_dir }} steps: - uses: actions/checkout@v3 + - name: Build iOS app + run: > + xcodebuild + -project 'TomTomSDKExamples.xcodeproj' + -scheme 'TomTomSDKExamples' + -destination 'platform=${{ env.platform }},name=${{ env.device_name }},OS=${{ env.ios_version }}' + + build-cocoapods: + name: Buid iOS app - CocoaPods + permissions: + contents: read + runs-on: macos-13 + defaults: + run: + working-directory: ${{ env.cocoapods_dir }} + steps: + - uses: actions/checkout@v4 + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true + env: + BUNDLE_GEMFILE: '${{ env.cocoapods_dir }}/Gemfile' - name: Add Cocoapods repository # Ensure we have repos dir created @@ -39,4 +69,4 @@ jobs: xcodebuild -workspace 'TomTomSDKExamples.xcworkspace' -scheme 'TomTomSDKExamples' - -destination 'platform=iOS Simulator,name=iPhone 14' + -destination 'platform=${{ env.platform }},name=${{ env.device_name }},OS=${{ env.ios_version }}' diff --git a/.gitignore b/.gitignore index 1bd0bad..0f49214 100644 --- a/.gitignore +++ b/.gitignore @@ -93,7 +93,4 @@ iOSInjectionProject/ *.DS_Store # Bundle gems -**/bundle - -## Offline Map files # -Map/ +**/bundle \ No newline at end of file diff --git a/Gemfile b/CocoaPods/Gemfile similarity index 52% rename from Gemfile rename to CocoaPods/Gemfile index 46dc0ab..21e7ae7 100644 --- a/Gemfile +++ b/CocoaPods/Gemfile @@ -1,4 +1,4 @@ source 'https://rubygems.org' -ruby "~>#{File.read(File.join(__dir__, ".ruby-version")).strip}" +ruby "~>#{File.read(File.join(__dir__, "../.ruby-version")).strip}" gem "cocoapods", "1.11.3" gem "cocoapods-art" diff --git a/Gemfile.lock b/CocoaPods/Gemfile.lock similarity index 100% rename from Gemfile.lock rename to CocoaPods/Gemfile.lock diff --git a/Podfile b/CocoaPods/Podfile similarity index 100% rename from Podfile rename to CocoaPods/Podfile diff --git a/Podfile.lock b/CocoaPods/Podfile.lock similarity index 100% rename from Podfile.lock rename to CocoaPods/Podfile.lock diff --git a/CocoaPods/README.md b/CocoaPods/README.md new file mode 100644 index 0000000..0997950 --- /dev/null +++ b/CocoaPods/README.md @@ -0,0 +1,55 @@ +## Development setup + +Once you have gained access, set up the development environment by following: + +1. We recommend using `rbenv` to handle `ruby` selection/installation. + 1. Install `rbenv` + ```zsh + brew install rbenv + ``` + 2. Clone the [tomtom-navigation-ios-examples] repository + ```zsh + git clone git@github.com:tomtom-international/tomtom-navigation-ios-examples.git + ``` + 3. Change directory to the related folder of the recently cloned repository and install `ruby` via `rbenv` + ```zsh + cd tomtom-navigation-ios-examples/CocoaPods + rbenv install + ``` + 4. Load `rbenv` to your shell + ```zsh + echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc + ``` + Above command assumes that `zsh` is being used. If a different shell is being used, then you can find + commands for most common shells in [rbenv documentation]. + + 5. Update `bundler` + ```zsh + gem install bundler + ``` + 6. ***reload*** your shell so the `rbenv` can extend `PATH` accordingly. + +2. Install project's `gem` dependencies via `bundler` + ```zsh + bundle install + ``` + +3. Add a reference to the [CocoaPods] private repository: + ```zsh + bundle exec pod repo-art add tomtom-sdk-cocoapods "https://repositories.tomtom.com/artifactory/api/pods/cocoapods" + ``` + +4. Install the dependencies by executing the following command in **the project folder**. + ```zsh + bundle exec pod install + ``` + +5. To update the SDK version, run the command: + ```zsh + bundle exec pod repo-art update tomtom-sdk-cocoapods + ``` +6. Open the project’s `xcworkspace` and start developing your awesome application. + +[CocoaPods]: (https://guides.cocoapods.org/using/getting-started.html) +[rbenv documentation]: https://github.com/rbenv/rbenv#readme +[tomtom-navigation-ios-examples]: https://github.com/tomtom-international/tomtom-navigation-ios-examples \ No newline at end of file diff --git a/TomTomSDKExamples.xcodeproj/project.pbxproj b/CocoaPods/TomTomSDKExamples.xcodeproj/project.pbxproj similarity index 66% rename from TomTomSDKExamples.xcodeproj/project.pbxproj rename to CocoaPods/TomTomSDKExamples.xcodeproj/project.pbxproj index efc5849..f3d0659 100644 --- a/TomTomSDKExamples.xcodeproj/project.pbxproj +++ b/CocoaPods/TomTomSDKExamples.xcodeproj/project.pbxproj @@ -8,50 +8,51 @@ /* Begin PBXBuildFile section */ 351BCD631BB328C869AA5591 /* Pods_TomTomSDKExamples.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 182816C2A2C71B776131AB66 /* Pods_TomTomSDKExamples.framework */; }; - 9D07FD2C29FABFB6008577CD /* OnlineNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D07FD2A29FABFB6008577CD /* OnlineNavigationView.swift */; }; - 9D07FD2D29FABFB6008577CD /* OnlineNavigationContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D07FD2B29FABFB6008577CD /* OnlineNavigationContent.swift */; }; - 9D2F394D29A379FC0093F702 /* TomTomSDKExamplesApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F394C29A379FC0093F702 /* TomTomSDKExamplesApp.swift */; }; - 9D2F395129A379FE0093F702 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D2F395029A379FE0093F702 /* Assets.xcassets */; }; - 9D2F395429A379FE0093F702 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D2F395329A379FE0093F702 /* Preview Assets.xcassets */; }; - 9D2F396B29A388170093F702 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F396A29A388170093F702 /* MainMenu.swift */; }; - 9D2F397429A389010093F702 /* MapExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F397329A389010093F702 /* MapExamplesView.swift */; }; - 9D2F397629A389110093F702 /* NavigationExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F397529A389110093F702 /* NavigationExamplesView.swift */; }; - 9D2F397A29A3892D0093F702 /* RoutingExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F397929A3892D0093F702 /* RoutingExamplesView.swift */; }; - 9D2F397C29A389390093F702 /* SearchExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F397B29A389390093F702 /* SearchExamplesView.swift */; }; - 9D2F398029A3896D0093F702 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 9D2F397F29A3896D0093F702 /* README.md */; }; - 9D2F398329A38B1A0093F702 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D2F398229A38B1A0093F702 /* Localizable.strings */; }; - 9D2F398729A3C58F0093F702 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D2F398629A3C58F0093F702 /* Colors.xcassets */; }; - 9D2F398A29A3C6830093F702 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D2F398929A3C6830093F702 /* Resource.swift */; }; - 9D6B2FD629A76E72008CB4A6 /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B2FD529A76E72008CB4A6 /* Keys.swift */; }; - 9D6B2FD829A76EE7008CB4A6 /* TomTomServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B2FD729A76EE7008CB4A6 /* TomTomServices.swift */; }; - 9DB8B46529E5731900E07909 /* GPX-Amsterdam.gpx in Resources */ = {isa = PBXBuildFile; fileRef = 9DB8B46429E5731900E07909 /* GPX-Amsterdam.gpx */; }; - 9DC6205F29A5179000598A05 /* BackButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC6205E29A5179000598A05 /* BackButton.swift */; }; + 9D0D46972AF9325B009E9B53 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D467C2AF9325B009E9B53 /* Colors.xcassets */; }; + 9D0D46982AF9325B009E9B53 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D467D2AF9325B009E9B53 /* Assets.xcassets */; }; + 9D0D46992AF9325B009E9B53 /* GPX-Amsterdam.gpx in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D467E2AF9325B009E9B53 /* GPX-Amsterdam.gpx */; }; + 9D0D469A2AF9325B009E9B53 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D467F2AF9325B009E9B53 /* Localizable.strings */; }; + 9D0D469B2AF9325B009E9B53 /* TomTomServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46812AF9325B009E9B53 /* TomTomServices.swift */; }; + 9D0D469C2AF9325B009E9B53 /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46822AF9325B009E9B53 /* Keys.swift */; }; + 9D0D469D2AF9325B009E9B53 /* BackButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46842AF9325B009E9B53 /* BackButton.swift */; }; + 9D0D469E2AF9325B009E9B53 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46852AF9325B009E9B53 /* Resource.swift */; }; + 9D0D469F2AF9325B009E9B53 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46872AF9325B009E9B53 /* Preview Assets.xcassets */; }; + 9D0D46A02AF9325B009E9B53 /* MapExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D468A2AF9325B009E9B53 /* MapExamplesView.swift */; }; + 9D0D46A12AF9325B009E9B53 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D468B2AF9325B009E9B53 /* MainMenu.swift */; }; + 9D0D46A22AF9325B009E9B53 /* NavigationExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D468D2AF9325B009E9B53 /* NavigationExamplesView.swift */; }; + 9D0D46A32AF9325B009E9B53 /* SearchExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D468F2AF9325B009E9B53 /* SearchExamplesView.swift */; }; + 9D0D46A42AF9325B009E9B53 /* RoutingExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46912AF9325B009E9B53 /* RoutingExamplesView.swift */; }; + 9D0D46A52AF9325B009E9B53 /* OnlineNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46932AF9325B009E9B53 /* OnlineNavigationView.swift */; }; + 9D0D46A62AF9325B009E9B53 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46942AF9325B009E9B53 /* README.md */; }; + 9D0D46A72AF9325B009E9B53 /* OnlineNavigationContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46952AF9325B009E9B53 /* OnlineNavigationContent.swift */; }; + 9D0D46A82AF9325B009E9B53 /* TomTomSDKExamplesApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46962AF9325B009E9B53 /* TomTomSDKExamplesApp.swift */; }; + 9D0D475D2AF9421B009E9B53 /* TomTomSDKExamplesInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D475C2AF9421B009E9B53 /* TomTomSDKExamplesInfo.plist */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 182816C2A2C71B776131AB66 /* Pods_TomTomSDKExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TomTomSDKExamples.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 530B2700A4400EB33E5DE5BB /* Pods-TomTomSDKExamples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TomTomSDKExamples.release.xcconfig"; path = "Target Support Files/Pods-TomTomSDKExamples/Pods-TomTomSDKExamples.release.xcconfig"; sourceTree = "<group>"; }; 9AB4C03BCE89E080FDCF7166 /* Pods-TomTomSDKExamples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TomTomSDKExamples.debug.xcconfig"; path = "Target Support Files/Pods-TomTomSDKExamples/Pods-TomTomSDKExamples.debug.xcconfig"; sourceTree = "<group>"; }; - 9D07FD2A29FABFB6008577CD /* OnlineNavigationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationView.swift; sourceTree = "<group>"; }; - 9D07FD2B29FABFB6008577CD /* OnlineNavigationContent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationContent.swift; sourceTree = "<group>"; }; - 9D2A34DE29CDA54F00BF8884 /* TomTomSDKExamplesInfo.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = TomTomSDKExamplesInfo.plist; sourceTree = SOURCE_ROOT; }; + 9D0D467C2AF9325B009E9B53 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = "<group>"; }; + 9D0D467D2AF9325B009E9B53 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; + 9D0D467E2AF9325B009E9B53 /* GPX-Amsterdam.gpx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "GPX-Amsterdam.gpx"; sourceTree = "<group>"; }; + 9D0D467F2AF9325B009E9B53 /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; + 9D0D46812AF9325B009E9B53 /* TomTomServices.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TomTomServices.swift; sourceTree = "<group>"; }; + 9D0D46822AF9325B009E9B53 /* Keys.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keys.swift; sourceTree = "<group>"; }; + 9D0D46842AF9325B009E9B53 /* BackButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackButton.swift; sourceTree = "<group>"; }; + 9D0D46852AF9325B009E9B53 /* Resource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Resource.swift; sourceTree = "<group>"; }; + 9D0D46872AF9325B009E9B53 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; + 9D0D468A2AF9325B009E9B53 /* MapExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapExamplesView.swift; sourceTree = "<group>"; }; + 9D0D468B2AF9325B009E9B53 /* MainMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = "<group>"; }; + 9D0D468D2AF9325B009E9B53 /* NavigationExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationExamplesView.swift; sourceTree = "<group>"; }; + 9D0D468F2AF9325B009E9B53 /* SearchExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46912AF9325B009E9B53 /* RoutingExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoutingExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46932AF9325B009E9B53 /* OnlineNavigationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationView.swift; sourceTree = "<group>"; }; + 9D0D46942AF9325B009E9B53 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; + 9D0D46952AF9325B009E9B53 /* OnlineNavigationContent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationContent.swift; sourceTree = "<group>"; }; + 9D0D46962AF9325B009E9B53 /* TomTomSDKExamplesApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TomTomSDKExamplesApp.swift; sourceTree = "<group>"; }; + 9D0D475C2AF9421B009E9B53 /* TomTomSDKExamplesInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = TomTomSDKExamplesInfo.plist; sourceTree = "<group>"; }; 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TomTomSDKExamples.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D2F394C29A379FC0093F702 /* TomTomSDKExamplesApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TomTomSDKExamplesApp.swift; sourceTree = "<group>"; }; - 9D2F395029A379FE0093F702 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; - 9D2F395329A379FE0093F702 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; - 9D2F396A29A388170093F702 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = "<group>"; }; - 9D2F397329A389010093F702 /* MapExamplesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapExamplesView.swift; sourceTree = "<group>"; }; - 9D2F397529A389110093F702 /* NavigationExamplesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationExamplesView.swift; sourceTree = "<group>"; }; - 9D2F397929A3892D0093F702 /* RoutingExamplesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoutingExamplesView.swift; sourceTree = "<group>"; }; - 9D2F397B29A389390093F702 /* SearchExamplesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchExamplesView.swift; sourceTree = "<group>"; }; - 9D2F397F29A3896D0093F702 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; - 9D2F398229A38B1A0093F702 /* Localizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; - 9D2F398629A3C58F0093F702 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = "<group>"; }; - 9D2F398929A3C6830093F702 /* Resource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resource.swift; sourceTree = "<group>"; }; - 9D6B2FD529A76E72008CB4A6 /* Keys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keys.swift; sourceTree = "<group>"; }; - 9D6B2FD729A76EE7008CB4A6 /* TomTomServices.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TomTomServices.swift; sourceTree = "<group>"; }; - 9DB8B46429E5731900E07909 /* GPX-Amsterdam.gpx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "GPX-Amsterdam.gpx"; sourceTree = "<group>"; }; - 9DC6205E29A5179000598A05 /* BackButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackButton.swift; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -83,128 +84,129 @@ name = Frameworks; sourceTree = "<group>"; }; - 9D2F394029A379FC0093F702 = { + 9D0D467A2AF9325B009E9B53 /* TomTomSDKExamples */ = { isa = PBXGroup; children = ( - 9D2F394B29A379FC0093F702 /* TomTomSDKExamples */, - 9D2F394A29A379FC0093F702 /* Products */, - 5D3F7FDDB19FBE13004B1041 /* Pods */, - 8C16E916058AB376AE1D4195 /* Frameworks */, + 9D0D467B2AF9325B009E9B53 /* Resources */, + 9D0D46802AF9325B009E9B53 /* Utils */, + 9D0D46862AF9325B009E9B53 /* Preview Content */, + 9D0D46882AF9325B009E9B53 /* Examples */, + 9D0D46962AF9325B009E9B53 /* TomTomSDKExamplesApp.swift */, + 9D0D475C2AF9421B009E9B53 /* TomTomSDKExamplesInfo.plist */, ); + name = TomTomSDKExamples; + path = ../TomTomSDKExamples; sourceTree = "<group>"; }; - 9D2F394A29A379FC0093F702 /* Products */ = { + 9D0D467B2AF9325B009E9B53 /* Resources */ = { isa = PBXGroup; children = ( - 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */, + 9D0D467C2AF9325B009E9B53 /* Colors.xcassets */, + 9D0D467D2AF9325B009E9B53 /* Assets.xcassets */, + 9D0D467E2AF9325B009E9B53 /* GPX-Amsterdam.gpx */, + 9D0D467F2AF9325B009E9B53 /* Localizable.strings */, ); - name = Products; + path = Resources; sourceTree = "<group>"; }; - 9D2F394B29A379FC0093F702 /* TomTomSDKExamples */ = { + 9D0D46802AF9325B009E9B53 /* Utils */ = { isa = PBXGroup; children = ( - 9D2A34DE29CDA54F00BF8884 /* TomTomSDKExamplesInfo.plist */, - 9D2F395229A379FE0093F702 /* Preview Content */, - 9D2F398129A38A120093F702 /* Resources */, - 9D2F398829A3C66F0093F702 /* Utils */, - 9D2F396C29A3885E0093F702 /* Examples */, - 9D2F394C29A379FC0093F702 /* TomTomSDKExamplesApp.swift */, - ); - path = TomTomSDKExamples; + 9D0D46812AF9325B009E9B53 /* TomTomServices.swift */, + 9D0D46822AF9325B009E9B53 /* Keys.swift */, + 9D0D46832AF9325B009E9B53 /* UI Components */, + 9D0D46852AF9325B009E9B53 /* Resource.swift */, + ); + path = Utils; sourceTree = "<group>"; }; - 9D2F395229A379FE0093F702 /* Preview Content */ = { + 9D0D46832AF9325B009E9B53 /* UI Components */ = { isa = PBXGroup; children = ( - 9D2F395329A379FE0093F702 /* Preview Assets.xcassets */, + 9D0D46842AF9325B009E9B53 /* BackButton.swift */, ); - path = "Preview Content"; + path = "UI Components"; sourceTree = "<group>"; }; - 9D2F396C29A3885E0093F702 /* Examples */ = { + 9D0D46862AF9325B009E9B53 /* Preview Content */ = { isa = PBXGroup; children = ( - 9D2F396A29A388170093F702 /* MainMenu.swift */, - 9D2F396D29A388660093F702 /* Maps */, - 9D2F396E29A3886F0093F702 /* Navigation */, - 9D2F397129A388850093F702 /* Routing */, - 9D2F397029A3887E0093F702 /* Search */, - 9D2F396F29A388780093F702 /* UseCase */, + 9D0D46872AF9325B009E9B53 /* Preview Assets.xcassets */, ); - path = Examples; + path = "Preview Content"; sourceTree = "<group>"; }; - 9D2F396D29A388660093F702 /* Maps */ = { + 9D0D46882AF9325B009E9B53 /* Examples */ = { isa = PBXGroup; children = ( - 9D2F397329A389010093F702 /* MapExamplesView.swift */, + 9D0D46892AF9325B009E9B53 /* Maps */, + 9D0D468B2AF9325B009E9B53 /* MainMenu.swift */, + 9D0D468C2AF9325B009E9B53 /* Navigation */, + 9D0D468E2AF9325B009E9B53 /* Search */, + 9D0D46902AF9325B009E9B53 /* Routing */, + 9D0D46922AF9325B009E9B53 /* UseCase */, ); - path = Maps; + path = Examples; sourceTree = "<group>"; }; - 9D2F396E29A3886F0093F702 /* Navigation */ = { + 9D0D46892AF9325B009E9B53 /* Maps */ = { isa = PBXGroup; children = ( - 9D2F397529A389110093F702 /* NavigationExamplesView.swift */, + 9D0D468A2AF9325B009E9B53 /* MapExamplesView.swift */, ); - path = Navigation; + path = Maps; sourceTree = "<group>"; }; - 9D2F396F29A388780093F702 /* UseCase */ = { + 9D0D468C2AF9325B009E9B53 /* Navigation */ = { isa = PBXGroup; children = ( - 9D2F397F29A3896D0093F702 /* README.md */, - 9D07FD2A29FABFB6008577CD /* OnlineNavigationView.swift */, - 9D07FD2B29FABFB6008577CD /* OnlineNavigationContent.swift */, + 9D0D468D2AF9325B009E9B53 /* NavigationExamplesView.swift */, ); - path = UseCase; + path = Navigation; sourceTree = "<group>"; }; - 9D2F397029A3887E0093F702 /* Search */ = { + 9D0D468E2AF9325B009E9B53 /* Search */ = { isa = PBXGroup; children = ( - 9D2F397B29A389390093F702 /* SearchExamplesView.swift */, + 9D0D468F2AF9325B009E9B53 /* SearchExamplesView.swift */, ); path = Search; sourceTree = "<group>"; }; - 9D2F397129A388850093F702 /* Routing */ = { + 9D0D46902AF9325B009E9B53 /* Routing */ = { isa = PBXGroup; children = ( - 9D2F397929A3892D0093F702 /* RoutingExamplesView.swift */, + 9D0D46912AF9325B009E9B53 /* RoutingExamplesView.swift */, ); path = Routing; sourceTree = "<group>"; }; - 9D2F398129A38A120093F702 /* Resources */ = { + 9D0D46922AF9325B009E9B53 /* UseCase */ = { isa = PBXGroup; children = ( - 9DB8B46429E5731900E07909 /* GPX-Amsterdam.gpx */, - 9D2F395029A379FE0093F702 /* Assets.xcassets */, - 9D2F398629A3C58F0093F702 /* Colors.xcassets */, - 9D2F398229A38B1A0093F702 /* Localizable.strings */, + 9D0D46932AF9325B009E9B53 /* OnlineNavigationView.swift */, + 9D0D46942AF9325B009E9B53 /* README.md */, + 9D0D46952AF9325B009E9B53 /* OnlineNavigationContent.swift */, ); - path = Resources; + path = UseCase; sourceTree = "<group>"; }; - 9D2F398829A3C66F0093F702 /* Utils */ = { + 9D2F394029A379FC0093F702 = { isa = PBXGroup; children = ( - 9D2F398929A3C6830093F702 /* Resource.swift */, - 9D6B2FD529A76E72008CB4A6 /* Keys.swift */, - 9D6B2FD729A76EE7008CB4A6 /* TomTomServices.swift */, - 9DC6205D29A516E700598A05 /* UI Components */, + 9D0D467A2AF9325B009E9B53 /* TomTomSDKExamples */, + 9D2F394A29A379FC0093F702 /* Products */, + 5D3F7FDDB19FBE13004B1041 /* Pods */, + 8C16E916058AB376AE1D4195 /* Frameworks */, ); - path = Utils; sourceTree = "<group>"; }; - 9DC6205D29A516E700598A05 /* UI Components */ = { + 9D2F394A29A379FC0093F702 /* Products */ = { isa = PBXGroup; children = ( - 9DC6205E29A5179000598A05 /* BackButton.swift */, + 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */, ); - path = "UI Components"; + name = Products; sourceTree = "<group>"; }; /* End PBXGroup section */ @@ -267,12 +269,13 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9D2F398729A3C58F0093F702 /* Colors.xcassets in Resources */, - 9D2F398029A3896D0093F702 /* README.md in Resources */, - 9D2F398329A38B1A0093F702 /* Localizable.strings in Resources */, - 9DB8B46529E5731900E07909 /* GPX-Amsterdam.gpx in Resources */, - 9D2F395429A379FE0093F702 /* Preview Assets.xcassets in Resources */, - 9D2F395129A379FE0093F702 /* Assets.xcassets in Resources */, + 9D0D46A62AF9325B009E9B53 /* README.md in Resources */, + 9D0D46992AF9325B009E9B53 /* GPX-Amsterdam.gpx in Resources */, + 9D0D469A2AF9325B009E9B53 /* Localizable.strings in Resources */, + 9D0D469F2AF9325B009E9B53 /* Preview Assets.xcassets in Resources */, + 9D0D46982AF9325B009E9B53 /* Assets.xcassets in Resources */, + 9D0D46972AF9325B009E9B53 /* Colors.xcassets in Resources */, + 9D0D475D2AF9421B009E9B53 /* TomTomSDKExamplesInfo.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -325,18 +328,18 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9D2F398A29A3C6830093F702 /* Resource.swift in Sources */, - 9D2F397429A389010093F702 /* MapExamplesView.swift in Sources */, - 9D6B2FD629A76E72008CB4A6 /* Keys.swift in Sources */, - 9D2F397C29A389390093F702 /* SearchExamplesView.swift in Sources */, - 9D07FD2C29FABFB6008577CD /* OnlineNavigationView.swift in Sources */, - 9D07FD2D29FABFB6008577CD /* OnlineNavigationContent.swift in Sources */, - 9D2F397629A389110093F702 /* NavigationExamplesView.swift in Sources */, - 9DC6205F29A5179000598A05 /* BackButton.swift in Sources */, - 9D2F396B29A388170093F702 /* MainMenu.swift in Sources */, - 9D2F397A29A3892D0093F702 /* RoutingExamplesView.swift in Sources */, - 9D2F394D29A379FC0093F702 /* TomTomSDKExamplesApp.swift in Sources */, - 9D6B2FD829A76EE7008CB4A6 /* TomTomServices.swift in Sources */, + 9D0D46A22AF9325B009E9B53 /* NavigationExamplesView.swift in Sources */, + 9D0D46A42AF9325B009E9B53 /* RoutingExamplesView.swift in Sources */, + 9D0D469B2AF9325B009E9B53 /* TomTomServices.swift in Sources */, + 9D0D46A82AF9325B009E9B53 /* TomTomSDKExamplesApp.swift in Sources */, + 9D0D46A12AF9325B009E9B53 /* MainMenu.swift in Sources */, + 9D0D46A32AF9325B009E9B53 /* SearchExamplesView.swift in Sources */, + 9D0D46A02AF9325B009E9B53 /* MapExamplesView.swift in Sources */, + 9D0D469E2AF9325B009E9B53 /* Resource.swift in Sources */, + 9D0D469C2AF9325B009E9B53 /* Keys.swift in Sources */, + 9D0D469D2AF9325B009E9B53 /* BackButton.swift in Sources */, + 9D0D46A72AF9325B009E9B53 /* OnlineNavigationContent.swift in Sources */, + 9D0D46A52AF9325B009E9B53 /* OnlineNavigationView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -465,11 +468,11 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"TomTomSDKExamples/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"../TomTomSDKExamples/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = TomTomSDKExamplesInfo.plist; + INFOPLIST_FILE = ../TomTomSDKExamples/TomTomSDKExamplesInfo.plist; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Application requires GPS to display your position on map"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Application requires GPS to display your position on map"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Application requires GPS to display your position on map"; @@ -500,11 +503,11 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"TomTomSDKExamples/Preview Content\""; + DEVELOPMENT_ASSET_PATHS = "\"../TomTomSDKExamples/Preview Content\""; DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = TomTomSDKExamplesInfo.plist; + INFOPLIST_FILE = ../TomTomSDKExamples/TomTomSDKExamplesInfo.plist; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Application requires GPS to display your position on map"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Application requires GPS to display your position on map"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Application requires GPS to display your position on map"; diff --git a/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/CocoaPods/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to CocoaPods/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/CocoaPods/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to CocoaPods/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme b/CocoaPods/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme similarity index 100% rename from TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme rename to CocoaPods/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme diff --git a/TomTomSDKExamples.xcworkspace/contents.xcworkspacedata b/CocoaPods/TomTomSDKExamples.xcworkspace/contents.xcworkspacedata similarity index 100% rename from TomTomSDKExamples.xcworkspace/contents.xcworkspacedata rename to CocoaPods/TomTomSDKExamples.xcworkspace/contents.xcworkspacedata diff --git a/TomTomSDKExamples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/CocoaPods/TomTomSDKExamples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from TomTomSDKExamples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to CocoaPods/TomTomSDKExamples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/README.md b/README.md index 01e2e29..da3497d 100644 --- a/README.md +++ b/README.md @@ -10,57 +10,11 @@ Hello and welcome to this repository with examples showcasing the [TomTom Naviga ## Development setup -Once you have gained access, set up the development environment by following: +Before beginning, make sure you have Xcode 13 or 14 installed. -1. Install Xcode if you don't already have it. Supported versions of Xcode are 13 to 14, inclusive. - -2. We recommend using `rbenv` to handle `ruby` selection/installation. - 1. Install `rbenv` - ```zsh - brew install rbenv - ``` - 2. Clone the [tomtom-navigation-ios-examples] repository - ```zsh - git clone https://github.com/tomtom-international/tomtom-navigation-ios-examples.git - ``` - 3. Change directory to the recently cloned repository and install `ruby` via `rbenv` - ```zsh - cd tomtom-navigation-ios-examples - rbenv install - ``` - 4. Load `rbenv` to your shell - ```zsh - echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc - ``` - Above command assumes that `zsh` is being used. If a different shell is being used, then you can find - commands for most common shells in [rbenv documentation]. - - 5. Update `bundler` - ```zsh - gem install bundler - ``` - 6. Ensure you ***reload*** your shell so the `rbenv` can extend `PATH` accordingly. - -3. Install project's `gem` dependencies via `bundler` - ```zsh - bundle install - ``` - -4. Add a reference to the [Cocoapods] private repository: - ```zsh - bundle exec pod repo-art add tomtom-sdk-cocoapods "https://repositories.tomtom.com/artifactory/api/pods/cocoapods" - ``` - -5. Install the dependencies by executing the following command in **the project folder**. - ``` - bundle exec pod install - ``` - -6. To update the SDK version, run the command: - ``` - bundle exec pod repo-art update tomtom-sdk-cocoapods - ``` -7. Open the project’s `xcworkspace` and start developing your awesome application. +SPM or CocoaPods can be used to install the Navigation SDK. Both configurations are available in the examples. Please navigate to the related directory and find the project setup configuration. +- [Project setup for SPM] +- [Project setup for CocoaPods] ## API Keys @@ -86,13 +40,10 @@ If you have a **black screen** when launching the Basic driving app, please foll - Check that your `API key` is valid for the requested features - Check your internet connection ---- - -[Cocoapods]: (https://guides.cocoapods.org/using/getting-started.html) [contact us]: https://developer.tomtom.com/tomtom-sdk-for-ios/request-access [How to get a TomTom API Key]: https://developer.tomtom.com/how-to-get-tomtom-api-key -[rbenv documentation]: https://github.com/rbenv/rbenv#readme [register]: https://developer.tomtom.com/user/register -[tomtom-navigation-ios-examples]: https://github.com/tomtom-international/tomtom-navigation-ios-examples [TomTom Navigation SDK for iOS]: https://developer.tomtom.com/ios/navigation/documentation/overview/introduction -[TomTom Developer Portal]: https://developer.tomtom.com/user/me/apps \ No newline at end of file +[TomTom Developer Portal]: https://developer.tomtom.com/user/me/apps +[Project setup for SPM]: /SPM +[Project setup for CocoaPods]: /CocoaPods \ No newline at end of file diff --git a/SPM/README.md b/SPM/README.md new file mode 100644 index 0000000..759c52f --- /dev/null +++ b/SPM/README.md @@ -0,0 +1,11 @@ +## Development setup + +Once you have gained access, set up the development environment by following: + +1. Clone the [tomtom-navigation-ios-examples] repository + ```zsh + git clone git@github.com:tomtom-international/tomtom-navigation-ios-examples.git + ``` +2. Open the project’s `xcodeproj` in the `SPM` folder and start developing your awesome application. + +[tomtom-navigation-ios-examples]: https://github.com/tomtom-international/tomtom-navigation-ios-examples \ No newline at end of file diff --git a/SPM/TomTomSDKExamples.xcodeproj/project.pbxproj b/SPM/TomTomSDKExamples.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b26bbd0 --- /dev/null +++ b/SPM/TomTomSDKExamples.xcodeproj/project.pbxproj @@ -0,0 +1,629 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 9D0D46CA2AF93379009E9B53 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46AF2AF93379009E9B53 /* Colors.xcassets */; }; + 9D0D46CB2AF93379009E9B53 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46B02AF93379009E9B53 /* Assets.xcassets */; }; + 9D0D46CC2AF93379009E9B53 /* GPX-Amsterdam.gpx in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46B12AF93379009E9B53 /* GPX-Amsterdam.gpx */; }; + 9D0D46CD2AF93379009E9B53 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46B22AF93379009E9B53 /* Localizable.strings */; }; + 9D0D46CE2AF93379009E9B53 /* TomTomServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46B42AF93379009E9B53 /* TomTomServices.swift */; }; + 9D0D46CF2AF93379009E9B53 /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46B52AF93379009E9B53 /* Keys.swift */; }; + 9D0D46D02AF93379009E9B53 /* BackButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46B72AF93379009E9B53 /* BackButton.swift */; }; + 9D0D46D12AF93379009E9B53 /* Resource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46B82AF93379009E9B53 /* Resource.swift */; }; + 9D0D46D22AF93379009E9B53 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46BA2AF93379009E9B53 /* Preview Assets.xcassets */; }; + 9D0D46D32AF93379009E9B53 /* MapExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46BD2AF93379009E9B53 /* MapExamplesView.swift */; }; + 9D0D46D42AF93379009E9B53 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46BE2AF93379009E9B53 /* MainMenu.swift */; }; + 9D0D46D52AF93379009E9B53 /* NavigationExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C02AF93379009E9B53 /* NavigationExamplesView.swift */; }; + 9D0D46D62AF93379009E9B53 /* SearchExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C22AF93379009E9B53 /* SearchExamplesView.swift */; }; + 9D0D46D72AF93379009E9B53 /* RoutingExamplesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C42AF93379009E9B53 /* RoutingExamplesView.swift */; }; + 9D0D46D82AF93379009E9B53 /* OnlineNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C62AF93379009E9B53 /* OnlineNavigationView.swift */; }; + 9D0D46D92AF93379009E9B53 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D46C72AF93379009E9B53 /* README.md */; }; + 9D0D46DA2AF93379009E9B53 /* OnlineNavigationContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C82AF93379009E9B53 /* OnlineNavigationContent.swift */; }; + 9D0D46DB2AF93379009E9B53 /* TomTomSDKExamplesApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D46C92AF93379009E9B53 /* TomTomSDKExamplesApp.swift */; }; + 9D0D47412AF935B5009E9B53 /* TomTomSDKCommon in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47402AF935B5009E9B53 /* TomTomSDKCommon */; }; + 9D0D47432AF935B9009E9B53 /* TomTomSDKCommonUI in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47422AF935B9009E9B53 /* TomTomSDKCommonUI */; }; + 9D0D47452AF935BE009E9B53 /* TomTomSDKDefaultTextToSpeech in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47442AF935BE009E9B53 /* TomTomSDKDefaultTextToSpeech */; }; + 9D0D47472AF935C4009E9B53 /* TomTomSDKLocationProvider in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47462AF935C4009E9B53 /* TomTomSDKLocationProvider */; }; + 9D0D47492AF935CA009E9B53 /* TomTomSDKMapDisplay in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47482AF935CA009E9B53 /* TomTomSDKMapDisplay */; }; + 9D0D474B2AF935D0009E9B53 /* TomTomSDKNavigation in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D474A2AF935D0009E9B53 /* TomTomSDKNavigation */; }; + 9D0D474D2AF935D6009E9B53 /* TomTomSDKNavigationEngines in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D474C2AF935D6009E9B53 /* TomTomSDKNavigationEngines */; }; + 9D0D474F2AF935EA009E9B53 /* TomTomSDKNavigationOnline in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D474E2AF935EA009E9B53 /* TomTomSDKNavigationOnline */; }; + 9D0D47512AF935EF009E9B53 /* TomTomSDKNavigationUI in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47502AF935EF009E9B53 /* TomTomSDKNavigationUI */; }; + 9D0D47532AF935F6009E9B53 /* TomTomSDKRoute in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47522AF935F6009E9B53 /* TomTomSDKRoute */; }; + 9D0D47552AF935FD009E9B53 /* TomTomSDKRoutePlanner in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47542AF935FD009E9B53 /* TomTomSDKRoutePlanner */; }; + 9D0D47572AF93603009E9B53 /* TomTomSDKRoutePlannerOnline in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47562AF93603009E9B53 /* TomTomSDKRoutePlannerOnline */; }; + 9D0D47592AF93609009E9B53 /* TomTomSDKRouteReplannerDefault in Frameworks */ = {isa = PBXBuildFile; productRef = 9D0D47582AF93609009E9B53 /* TomTomSDKRouteReplannerDefault */; }; + 9D0D475B2AF941E4009E9B53 /* TomTomSDKExamplesInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9D0D475A2AF941E4009E9B53 /* TomTomSDKExamplesInfo.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 182816C2A2C71B776131AB66 /* Pods_TomTomSDKExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TomTomSDKExamples.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D0D46AF2AF93379009E9B53 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = "<group>"; }; + 9D0D46B02AF93379009E9B53 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; + 9D0D46B12AF93379009E9B53 /* GPX-Amsterdam.gpx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "GPX-Amsterdam.gpx"; sourceTree = "<group>"; }; + 9D0D46B22AF93379009E9B53 /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; + 9D0D46B42AF93379009E9B53 /* TomTomServices.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TomTomServices.swift; sourceTree = "<group>"; }; + 9D0D46B52AF93379009E9B53 /* Keys.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keys.swift; sourceTree = "<group>"; }; + 9D0D46B72AF93379009E9B53 /* BackButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackButton.swift; sourceTree = "<group>"; }; + 9D0D46B82AF93379009E9B53 /* Resource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Resource.swift; sourceTree = "<group>"; }; + 9D0D46BA2AF93379009E9B53 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; + 9D0D46BD2AF93379009E9B53 /* MapExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46BE2AF93379009E9B53 /* MainMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = "<group>"; }; + 9D0D46C02AF93379009E9B53 /* NavigationExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46C22AF93379009E9B53 /* SearchExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46C42AF93379009E9B53 /* RoutingExamplesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoutingExamplesView.swift; sourceTree = "<group>"; }; + 9D0D46C62AF93379009E9B53 /* OnlineNavigationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationView.swift; sourceTree = "<group>"; }; + 9D0D46C72AF93379009E9B53 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; + 9D0D46C82AF93379009E9B53 /* OnlineNavigationContent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineNavigationContent.swift; sourceTree = "<group>"; }; + 9D0D46C92AF93379009E9B53 /* TomTomSDKExamplesApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TomTomSDKExamplesApp.swift; sourceTree = "<group>"; }; + 9D0D475A2AF941E4009E9B53 /* TomTomSDKExamplesInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = TomTomSDKExamplesInfo.plist; sourceTree = "<group>"; }; + 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TomTomSDKExamples.app; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 9D2F394629A379FC0093F702 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D0D47552AF935FD009E9B53 /* TomTomSDKRoutePlanner in Frameworks */, + 9D0D47572AF93603009E9B53 /* TomTomSDKRoutePlannerOnline in Frameworks */, + 9D0D47512AF935EF009E9B53 /* TomTomSDKNavigationUI in Frameworks */, + 9D0D474F2AF935EA009E9B53 /* TomTomSDKNavigationOnline in Frameworks */, + 9D0D47452AF935BE009E9B53 /* TomTomSDKDefaultTextToSpeech in Frameworks */, + 9D0D47532AF935F6009E9B53 /* TomTomSDKRoute in Frameworks */, + 9D0D474D2AF935D6009E9B53 /* TomTomSDKNavigationEngines in Frameworks */, + 9D0D47432AF935B9009E9B53 /* TomTomSDKCommonUI in Frameworks */, + 9D0D47412AF935B5009E9B53 /* TomTomSDKCommon in Frameworks */, + 9D0D47592AF93609009E9B53 /* TomTomSDKRouteReplannerDefault in Frameworks */, + 9D0D47492AF935CA009E9B53 /* TomTomSDKMapDisplay in Frameworks */, + 9D0D47472AF935C4009E9B53 /* TomTomSDKLocationProvider in Frameworks */, + 9D0D474B2AF935D0009E9B53 /* TomTomSDKNavigation in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 8C16E916058AB376AE1D4195 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 182816C2A2C71B776131AB66 /* Pods_TomTomSDKExamples.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 9D0D46AD2AF93379009E9B53 /* TomTomSDKExamples */ = { + isa = PBXGroup; + children = ( + 9D0D46AE2AF93379009E9B53 /* Resources */, + 9D0D46B32AF93379009E9B53 /* Utils */, + 9D0D46B92AF93379009E9B53 /* Preview Content */, + 9D0D46BB2AF93379009E9B53 /* Examples */, + 9D0D46C92AF93379009E9B53 /* TomTomSDKExamplesApp.swift */, + 9D0D475A2AF941E4009E9B53 /* TomTomSDKExamplesInfo.plist */, + ); + name = TomTomSDKExamples; + path = ../TomTomSDKExamples; + sourceTree = "<group>"; + }; + 9D0D46AE2AF93379009E9B53 /* Resources */ = { + isa = PBXGroup; + children = ( + 9D0D46AF2AF93379009E9B53 /* Colors.xcassets */, + 9D0D46B02AF93379009E9B53 /* Assets.xcassets */, + 9D0D46B12AF93379009E9B53 /* GPX-Amsterdam.gpx */, + 9D0D46B22AF93379009E9B53 /* Localizable.strings */, + ); + path = Resources; + sourceTree = "<group>"; + }; + 9D0D46B32AF93379009E9B53 /* Utils */ = { + isa = PBXGroup; + children = ( + 9D0D46B42AF93379009E9B53 /* TomTomServices.swift */, + 9D0D46B52AF93379009E9B53 /* Keys.swift */, + 9D0D46B62AF93379009E9B53 /* UI Components */, + 9D0D46B82AF93379009E9B53 /* Resource.swift */, + ); + path = Utils; + sourceTree = "<group>"; + }; + 9D0D46B62AF93379009E9B53 /* UI Components */ = { + isa = PBXGroup; + children = ( + 9D0D46B72AF93379009E9B53 /* BackButton.swift */, + ); + path = "UI Components"; + sourceTree = "<group>"; + }; + 9D0D46B92AF93379009E9B53 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 9D0D46BA2AF93379009E9B53 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = "<group>"; + }; + 9D0D46BB2AF93379009E9B53 /* Examples */ = { + isa = PBXGroup; + children = ( + 9D0D46BC2AF93379009E9B53 /* Maps */, + 9D0D46BE2AF93379009E9B53 /* MainMenu.swift */, + 9D0D46BF2AF93379009E9B53 /* Navigation */, + 9D0D46C12AF93379009E9B53 /* Search */, + 9D0D46C32AF93379009E9B53 /* Routing */, + 9D0D46C52AF93379009E9B53 /* UseCase */, + ); + path = Examples; + sourceTree = "<group>"; + }; + 9D0D46BC2AF93379009E9B53 /* Maps */ = { + isa = PBXGroup; + children = ( + 9D0D46BD2AF93379009E9B53 /* MapExamplesView.swift */, + ); + path = Maps; + sourceTree = "<group>"; + }; + 9D0D46BF2AF93379009E9B53 /* Navigation */ = { + isa = PBXGroup; + children = ( + 9D0D46C02AF93379009E9B53 /* NavigationExamplesView.swift */, + ); + path = Navigation; + sourceTree = "<group>"; + }; + 9D0D46C12AF93379009E9B53 /* Search */ = { + isa = PBXGroup; + children = ( + 9D0D46C22AF93379009E9B53 /* SearchExamplesView.swift */, + ); + path = Search; + sourceTree = "<group>"; + }; + 9D0D46C32AF93379009E9B53 /* Routing */ = { + isa = PBXGroup; + children = ( + 9D0D46C42AF93379009E9B53 /* RoutingExamplesView.swift */, + ); + path = Routing; + sourceTree = "<group>"; + }; + 9D0D46C52AF93379009E9B53 /* UseCase */ = { + isa = PBXGroup; + children = ( + 9D0D46C62AF93379009E9B53 /* OnlineNavigationView.swift */, + 9D0D46C72AF93379009E9B53 /* README.md */, + 9D0D46C82AF93379009E9B53 /* OnlineNavigationContent.swift */, + ); + path = UseCase; + sourceTree = "<group>"; + }; + 9D2F394029A379FC0093F702 = { + isa = PBXGroup; + children = ( + 9D0D46AD2AF93379009E9B53 /* TomTomSDKExamples */, + 9D2F394A29A379FC0093F702 /* Products */, + 8C16E916058AB376AE1D4195 /* Frameworks */, + ); + sourceTree = "<group>"; + }; + 9D2F394A29A379FC0093F702 /* Products */ = { + isa = PBXGroup; + children = ( + 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */, + ); + name = Products; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 9D2F394829A379FC0093F702 /* TomTomSDKExamples */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9D2F395729A379FE0093F702 /* Build configuration list for PBXNativeTarget "TomTomSDKExamples" */; + buildPhases = ( + 9D2F394529A379FC0093F702 /* Sources */, + 9D2F394629A379FC0093F702 /* Frameworks */, + 9D2F394729A379FC0093F702 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TomTomSDKExamples; + packageProductDependencies = ( + 9D0D47402AF935B5009E9B53 /* TomTomSDKCommon */, + 9D0D47422AF935B9009E9B53 /* TomTomSDKCommonUI */, + 9D0D47442AF935BE009E9B53 /* TomTomSDKDefaultTextToSpeech */, + 9D0D47462AF935C4009E9B53 /* TomTomSDKLocationProvider */, + 9D0D47482AF935CA009E9B53 /* TomTomSDKMapDisplay */, + 9D0D474A2AF935D0009E9B53 /* TomTomSDKNavigation */, + 9D0D474C2AF935D6009E9B53 /* TomTomSDKNavigationEngines */, + 9D0D474E2AF935EA009E9B53 /* TomTomSDKNavigationOnline */, + 9D0D47502AF935EF009E9B53 /* TomTomSDKNavigationUI */, + 9D0D47522AF935F6009E9B53 /* TomTomSDKRoute */, + 9D0D47542AF935FD009E9B53 /* TomTomSDKRoutePlanner */, + 9D0D47562AF93603009E9B53 /* TomTomSDKRoutePlannerOnline */, + 9D0D47582AF93609009E9B53 /* TomTomSDKRouteReplannerDefault */, + ); + productName = "TomTom SDK Examples"; + productReference = 9D2F394929A379FC0093F702 /* TomTomSDKExamples.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 9D2F394129A379FC0093F702 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1410; + LastUpgradeCheck = 1410; + TargetAttributes = { + 9D2F394829A379FC0093F702 = { + CreatedOnToolsVersion = 14.1; + }; + }; + }; + buildConfigurationList = 9D2F394429A379FC0093F702 /* Build configuration list for PBXProject "TomTomSDKExamples" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 9D2F394029A379FC0093F702; + packageReferences = ( + 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */, + 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */, + ); + productRefGroup = 9D2F394A29A379FC0093F702 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 9D2F394829A379FC0093F702 /* TomTomSDKExamples */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 9D2F394729A379FC0093F702 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D0D46D92AF93379009E9B53 /* README.md in Resources */, + 9D0D46CC2AF93379009E9B53 /* GPX-Amsterdam.gpx in Resources */, + 9D0D46CD2AF93379009E9B53 /* Localizable.strings in Resources */, + 9D0D46D22AF93379009E9B53 /* Preview Assets.xcassets in Resources */, + 9D0D46CB2AF93379009E9B53 /* Assets.xcassets in Resources */, + 9D0D46CA2AF93379009E9B53 /* Colors.xcassets in Resources */, + 9D0D475B2AF941E4009E9B53 /* TomTomSDKExamplesInfo.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 9D2F394529A379FC0093F702 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9D0D46D52AF93379009E9B53 /* NavigationExamplesView.swift in Sources */, + 9D0D46D72AF93379009E9B53 /* RoutingExamplesView.swift in Sources */, + 9D0D46CE2AF93379009E9B53 /* TomTomServices.swift in Sources */, + 9D0D46DB2AF93379009E9B53 /* TomTomSDKExamplesApp.swift in Sources */, + 9D0D46D42AF93379009E9B53 /* MainMenu.swift in Sources */, + 9D0D46D62AF93379009E9B53 /* SearchExamplesView.swift in Sources */, + 9D0D46D32AF93379009E9B53 /* MapExamplesView.swift in Sources */, + 9D0D46D12AF93379009E9B53 /* Resource.swift in Sources */, + 9D0D46CF2AF93379009E9B53 /* Keys.swift in Sources */, + 9D0D46D02AF93379009E9B53 /* BackButton.swift in Sources */, + 9D0D46DA2AF93379009E9B53 /* OnlineNavigationContent.swift in Sources */, + 9D0D46D82AF93379009E9B53 /* OnlineNavigationView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 9D2F395529A379FE0093F702 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 9D2F395629A379FE0093F702 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 9D2F395829A379FE0093F702 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"../TomTomSDKExamples/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ../TomTomSDKExamples/TomTomSDKExamplesInfo.plist; + INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.tomtom.TomTom-SDK-Examples"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 9D2F395929A379FE0093F702 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"../TomTomSDKExamples/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ../TomTomSDKExamples/TomTomSDKExamplesInfo.plist; + INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Application requires GPS to display your position on map"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.tomtom.TomTom-SDK-Examples"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 9D2F394429A379FC0093F702 /* Build configuration list for PBXProject "TomTomSDKExamples" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D2F395529A379FE0093F702 /* Debug */, + 9D2F395629A379FE0093F702 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9D2F395729A379FE0093F702 /* Build configuration list for PBXNativeTarget "TomTomSDKExamples" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9D2F395829A379FE0093F702 /* Debug */, + 9D2F395929A379FE0093F702 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/tomtom-international/tomtom-sdk-spm-navigation"; + requirement = { + kind = exactVersion; + version = 0.31.0; + }; + }; + 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/tomtom-international/tomtom-sdk-spm-core"; + requirement = { + kind = exactVersion; + version = 0.31.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 9D0D47402AF935B5009E9B53 /* TomTomSDKCommon */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKCommon; + }; + 9D0D47422AF935B9009E9B53 /* TomTomSDKCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKCommonUI; + }; + 9D0D47442AF935BE009E9B53 /* TomTomSDKDefaultTextToSpeech */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKDefaultTextToSpeech; + }; + 9D0D47462AF935C4009E9B53 /* TomTomSDKLocationProvider */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKLocationProvider; + }; + 9D0D47482AF935CA009E9B53 /* TomTomSDKMapDisplay */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKMapDisplay; + }; + 9D0D474A2AF935D0009E9B53 /* TomTomSDKNavigation */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKNavigation; + }; + 9D0D474C2AF935D6009E9B53 /* TomTomSDKNavigationEngines */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKNavigationEngines; + }; + 9D0D474E2AF935EA009E9B53 /* TomTomSDKNavigationOnline */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKNavigationOnline; + }; + 9D0D47502AF935EF009E9B53 /* TomTomSDKNavigationUI */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKNavigationUI; + }; + 9D0D47522AF935F6009E9B53 /* TomTomSDKRoute */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKRoute; + }; + 9D0D47542AF935FD009E9B53 /* TomTomSDKRoutePlanner */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKRoutePlanner; + }; + 9D0D47562AF93603009E9B53 /* TomTomSDKRoutePlannerOnline */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D47332AF93514009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-core" */; + productName = TomTomSDKRoutePlannerOnline; + }; + 9D0D47582AF93609009E9B53 /* TomTomSDKRouteReplannerDefault */ = { + isa = XCSwiftPackageProductDependency; + package = 9D0D46DE2AF933E7009E9B53 /* XCRemoteSwiftPackageReference "tomtom-sdk-spm-navigation" */; + productName = TomTomSDKRouteReplannerDefault; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 9D2F394129A379FC0093F702 /* Project object */; +} diff --git a/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:"> + </FileRef> +</Workspace> diff --git a/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IDEDidComputeMac32BitWarning</key> + <true/> +</dict> +</plist> diff --git a/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..f8c25ac --- /dev/null +++ b/SPM/TomTomSDKExamples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,23 @@ +{ + "pins" : [ + { + "identity" : "tomtom-sdk-spm-core", + "kind" : "remoteSourceControl", + "location" : "https://github.com/tomtom-international/tomtom-sdk-spm-core", + "state" : { + "revision" : "21c7350c8f45c788fe40e888b6d17427f536546d", + "version" : "0.31.0" + } + }, + { + "identity" : "tomtom-sdk-spm-navigation", + "kind" : "remoteSourceControl", + "location" : "https://github.com/tomtom-international/tomtom-sdk-spm-navigation", + "state" : { + "revision" : "2e2508fa4ae3511026dfeeec93d00a6cd5de45b2", + "version" : "0.31.0" + } + } + ], + "version" : 2 +} diff --git a/SPM/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme b/SPM/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme new file mode 100644 index 0000000..a17165e --- /dev/null +++ b/SPM/TomTomSDKExamples.xcodeproj/xcshareddata/xcschemes/TomTomSDKExamples.xcscheme @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "1410" + version = "1.7"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "9D2F394829A379FC0093F702" + BuildableName = "TomTomSDKExamples.app" + BlueprintName = "TomTomSDKExamples" + ReferencedContainer = "container:TomTomSDKExamples.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + buildConfiguration = "Debug" + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES"> + <Testables> + </Testables> + </TestAction> + <LaunchAction + buildConfiguration = "Debug" + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + debugServiceExtension = "internal" + allowLocationSimulation = "YES"> + <BuildableProductRunnable + runnableDebuggingMode = "0"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "9D2F394829A379FC0093F702" + BuildableName = "TomTomSDKExamples.app" + BlueprintName = "TomTomSDKExamples" + ReferencedContainer = "container:TomTomSDKExamples.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <LocationScenarioReference + identifier = "../TomTomSDKExamples/Resources/GPX-Amsterdam.gpx" + referenceType = "0"> + </LocationScenarioReference> + </LaunchAction> + <ProfileAction + buildConfiguration = "Release" + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable + runnableDebuggingMode = "0"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "9D2F394829A379FC0093F702" + BuildableName = "TomTomSDKExamples.app" + BlueprintName = "TomTomSDKExamples" + ReferencedContainer = "container:TomTomSDKExamples.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/TomTomSDKExamplesInfo.plist b/TomTomSDKExamples/TomTomSDKExamplesInfo.plist similarity index 82% rename from TomTomSDKExamplesInfo.plist rename to TomTomSDKExamples/TomTomSDKExamplesInfo.plist index 12d29c4..8b20de6 100644 --- a/TomTomSDKExamplesInfo.plist +++ b/TomTomSDKExamples/TomTomSDKExamplesInfo.plist @@ -9,5 +9,9 @@ <key>UISceneConfigurations</key> <dict/> </dict> + <key>UIBackgroundModes</key> + <array> + <string>fetch</string> + </array> </dict> </plist>