diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
index a4b1a3c52..febaf2e2d 100644
--- a/.github/workflows/ios.yml
+++ b/.github/workflows/ios.yml
@@ -41,25 +41,23 @@ jobs:
channel: "stable"
cache: true
- - name: Cache CocoaPods
+ # The iOS build uses Swift Package Manager, not CocoaPods (there is no
+ # Podfile). Cache SPM's clone/artifact store keyed on the resolved pins.
+ - name: Cache Swift Packages
uses: actions/cache@v4
with:
path: |
- ios/Pods
- ~/Library/Caches/CocoaPods
- key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}
+ ~/Library/Caches/org.swift.swiftpm
+ ~/Library/Developer/Xcode/DerivedData/**/SourcePackages
+ key: ${{ runner.os }}-spm-${{ hashFiles('ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}
restore-keys: |
- ${{ runner.os }}-pods-
+ ${{ runner.os }}-spm-
- name: Install dependencies and run build_runner
run: |
flutter pub get
dart run build_runner build --delete-conflicting-outputs
- - name: Install iOS Pods
- working-directory: ios
- run: pod install --repo-update
-
- name: Build iOS App and create IPA
run: |
flutter build ios --debug --no-codesign
diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml
index b4403a57f..109bcb267 100644
--- a/.github/workflows/review.yml
+++ b/.github/workflows/review.yml
@@ -116,6 +116,7 @@ jobs:
llm_url: ${{ secrets.OCR_LLM_URL }}
llm_auth_token: ${{ secrets.OCR_LLM_AUTH_TOKEN }}
llm_model: ${{ secrets.OCR_LLM_MODEL }}
+ llm_use_anthropic: false
language: 中文
# For issue_comment triggers, pass the resolved refs; for
# pull_request_target the action resolves them from the event.
diff --git a/README.md b/README.md
index 3d2c41793..c596eb5a0 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,169 @@
-# dpip
+[](#下載)
-A new Flutter project.
+
+
+DPIP(Disaster Prevention Information Platform)是由臺灣本土團隊開發的行動應用程式,整合了 TREM-Net(臺灣即時地震觀測網)的強震即時警報與地震資訊,以及中央氣象署的資料,為使用者提供一個整合、便捷的防災資訊平台。
+
+### 強震即時警報
+
+強震即時警報(Earthquake Early Warning, EEW)系統透過部署於各地的地震波觀測站,在地震發生時即時回傳地震波數據至伺服器進行分析,並產生地震速報。這項技術能為使用者爭取數秒至數十秒的寶貴時間,讓民眾能及時採取防災應變及避難措施。
+
+### TREM-Net 臺灣即時地震觀測網
+
+TREM-Net 是一個自 2022 年 6 月起開始在全臺各地部署的觀測網專案,由兩個子系統組成:**SE-Net**(強震觀測網,使用加速度儀)及 **MS-Net**(微震觀測網,使用速度儀),共同記錄地震發生時的完整數據。
+
+## 合作夥伴
+
+我們很榮幸能與以下優秀的企業合作,共同推動防災資訊的普及:
+
+
+
+巨科資訊有限公司是一家專注於地理資訊系統的專業公司,為我們的開發工作提供了寶貴的設備支援。他們的專業知識和資源對專案的發展起到了重要作用。
+
+
+
+台灣數位串流有限公司為我們提供了強大的雲端運算資源和網路頻寬支援,同時也提供了寶貴的技術諮詢。他們的支援確保了我們的服務能夠穩定且高效地運行。
+
+我們由衷感謝這些合作夥伴對開源社群的支持與貢獻。正是有了他們的協助,我們才能持續為使用者提供更好的服務。
+
+## 資料來源
+
+本應用程式的資料來源包括:
+
+### 官方來源
+
+- [交通部中央氣象署](https://www.cwa.gov.tw/)
+- [國家災害防救科技中心](https://www.ncdr.nat.gov.tw/)
+
+### 非官方來源
+
+- TREM-Net by [ExpTech Studio](https://exptech.dev/)
+
+## 下載
+
+你可以在 [Play Store](https://play.google.com/store/apps/details?id=com.exptech.dpip) 和 [App Store](https://apps.apple.com/tw/app/dpip-%E7%81%BD%E5%AE%B3%E5%A4%A9%E6%B0%A3%E8%88%87%E5%9C%B0%E9%9C%87%E9%80%9F%E5%A0%B1/id6468026362) 上取得 DPIP。
+
+你也可以從我們的 [Release 頁面](https://github.com/ExpTechTW/DPIP-Pocket/releases/latest)上取得 DPIP 的安裝包進行手動安裝。
+
+## 翻譯
+
+DPIP 支援多語言,我們正在 Crowdin 平台上進行翻譯。如果你願意協助我們將這個專案翻譯成其他語言,歡迎加入我們的 Crowdin 翻譯社群。
+
+你可以[點擊這裡前往我們的 Crowdin 專案頁面](https://crowdin.com/project/dpip),選擇你熟悉的語言並開始翻譯。每一份貢獻都將幫助我們將防災資訊傳遞給更多的人!
+
+如果你沒有看到你熟悉的語言,歡迎在我們的 [Issue](https://github.com/ExpTechTW/DPIP-Pocket/issues) 中提出新的語言請求,我們會盡快為你開啟。
+
+## 從原始碼建置
+
+### 環境需求
+
+在開始建置之前,請確保你的開發環境已安裝並配置以下軟體:
+
+- **Flutter SDK**: [安裝指引](https://docs.flutter.dev/get-started/install)
+- **Dart SDK**: 已包含在 Flutter SDK 中
+- [**Android Studio**](https://developer.android.com/studio?hl=ja) 或 [**Xcode**](https://developer.apple.com/jp/xcode/)(iOS 開發用)
+ - 也可以使用 [VSCode](https://code.visualstudio.com/) 或其他你喜歡的 IDE
+- _\*可選\*_ [**Git**](https://git-scm.com/): 用於複製存儲庫
+
+```console
+Flutter 3.35.1 • channel stable • https://github.com/flutter/flutter.git
+Framework • revision 20f8274939 • 2025-08-14 10:53:09 -0700
+Engine • hash 6cd51c08a88e7bbe848a762c20ad3ecb8b063c0e • 2025-08-13 23:35:25.000Z
+Tools • Dart 3.9.0 • DevTools 2.48.0
+```
+
+### 建置步驟
+
+1. 取得原始碼
+
+ - **下載壓縮檔**
+
+ 你可以直接在 Github 上下載存儲庫壓縮檔
+
+ 
+
+ - **使用 Git**
+
+ 使用以下指令複製專案:
+
+ ```bash
+ git clone https://github.com/ExpTechTW/DPIP-Pocket.git
+ ```
+
+2. 進入專案目錄
+
+ ```bash
+ cd DPIP
+ ```
+
+3. 安裝相依套件
+
+ ```bash
+ flutter pub get --no-example
+ ```
+
+4. 產生建置檔案
+
+ ```bash
+ dart run build_runner build
+ ```
+
+5. 建置應用程式
+
+ - **Android APK**
+
+ ```bash
+ flutter build apk --release
+ ```
+
+ - **iOS**
+
+ ```bash
+ flutter build ios --release
+ ```
+
+## 如何貢獻
+
+我們歡迎各種形式的貢獻!你可以透過以下方式參與專案:
+
+- 回報問題或提出新功能建議:請在 [Issues](https://github.com/ExpTechTW/DPIP-Pocket/issues) 中提出
+- 提交程式碼:請 [Fork](https://github.com/ExpTechTW/DPIP-Pocket/fork) 此倉庫,建立新分支進行修改,然後提交 [Pull Request](https://github.com/ExpTechTW/TREM/pulls)
+- 改進文件:協助我們改進現有文件或撰寫新文件
+
+衷心感謝所有讓 DPIP 成為可能的貢獻者:
+
+
+
+## 開放原始碼授權
+
+詳細的授權資訊請參閱 [LICENSE](LICENSE) 檔案
+
+## Star History
+
+
+
+
+
+
+
+
diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig
index ec97fc6f3..592ceee85 100644
--- a/ios/Flutter/Debug.xcconfig
+++ b/ios/Flutter/Debug.xcconfig
@@ -1,2 +1 @@
-#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig
index c4855bfe2..592ceee85 100644
--- a/ios/Flutter/Release.xcconfig
+++ b/ios/Flutter/Release.xcconfig
@@ -1,2 +1 @@
-#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
diff --git a/ios/Podfile b/ios/Podfile
deleted file mode 100644
index 78a6442f8..000000000
--- a/ios/Podfile
+++ /dev/null
@@ -1,69 +0,0 @@
-# Uncomment this line to define a global platform for your project
-platform :ios, '15.0'
-
-# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
-ENV['COCOAPODS_DISABLE_STATS'] = 'true'
-
-project 'Runner', {
- 'Debug' => :debug,
- 'Profile' => :release,
- 'Release' => :release,
-}
-
-def flutter_root
- generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
- unless File.exist?(generated_xcode_build_settings_path)
- raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
- end
-
- File.foreach(generated_xcode_build_settings_path) do |line|
- matches = line.match(/FLUTTER_ROOT\=(.*)/)
- return matches[1].strip if matches
- end
- raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
-end
-
-require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
-
-flutter_ios_podfile_setup
-
-target 'Runner' do
- use_frameworks!
-
- # Use the vendored MapLibre xcframework (ios/vendor/maplibre) instead of
- # downloading it every build — the upstream GitHub release CDN stalls
- # unreliably here. Version must match maplibre_gl's `MapLibre` dependency.
- pod 'MapLibre', :path => 'vendor/maplibre'
-
- flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
- target 'RunnerTests' do
- inherit! :search_paths
- end
-end
-
-post_install do |installer|
- # Firebase (and its Google deps) require iOS 15+. Force every Pod target and
- # the generated Pods project to the same minimum so the simulator build's
- # deployment-target range check passes.
- installer.pods_project.build_configurations.each do |config|
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
- end
- installer.pods_project.targets.each do |target|
- flutter_additional_ios_build_settings(target)
- target.build_configurations.each do |config|
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
- end
- end
-
- ################ Awesome Notifications pod modification 1 ###################
- awesome_pod_file = File.expand_path(File.join('plugins', 'awesome_notifications', 'ios', 'Scripts', 'AwesomePodFile'), '.symlinks')
- require awesome_pod_file
- update_awesome_pod_build_settings(installer)
- ################ Awesome Notifications pod modification 1 ###################
-end
-
-################ Awesome Notifications pod modification 2 ###################
-awesome_pod_file = File.expand_path(File.join('plugins', 'awesome_notifications', 'ios', 'Scripts', 'AwesomePodFile'), '.symlinks')
-require awesome_pod_file
-update_awesome_main_target_settings('Runner', File.dirname(File.realpath(__FILE__)), flutter_root)
-################ Awesome Notifications pod modification 2 ###################
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
deleted file mode 100644
index 85292ccae..000000000
--- a/ios/Podfile.lock
+++ /dev/null
@@ -1,178 +0,0 @@
-PODS:
- - awesome_notifications (0.12.0):
- - Flutter
- - IosAwnCore (~> 0.12.0)
- - Firebase/CoreOnly (12.15.0):
- - FirebaseCore (~> 12.15.0)
- - Firebase/Messaging (12.15.0):
- - Firebase/CoreOnly
- - FirebaseMessaging (~> 12.15.0)
- - firebase_core (4.11.0):
- - Firebase/CoreOnly (= 12.15.0)
- - Flutter
- - firebase_messaging (16.4.1):
- - Firebase/Messaging (= 12.15.0)
- - firebase_core
- - Flutter
- - FirebaseCore (12.15.0):
- - FirebaseCoreInternal (~> 12.15.0)
- - GoogleUtilities/Environment (~> 8.1)
- - GoogleUtilities/Logger (~> 8.1)
- - FirebaseCoreInternal (12.15.0):
- - "GoogleUtilities/NSData+zlib (~> 8.1)"
- - FirebaseInstallations (12.15.0):
- - FirebaseCore (~> 12.15.0)
- - GoogleUtilities/Environment (~> 8.1)
- - GoogleUtilities/UserDefaults (~> 8.1)
- - PromisesObjC (~> 2.4)
- - FirebaseMessaging (12.15.0):
- - FirebaseCore (~> 12.15.0)
- - FirebaseInstallations (~> 12.15.0)
- - GoogleDataTransport (~> 10.1)
- - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- - GoogleUtilities/Environment (~> 8.1)
- - GoogleUtilities/Reachability (~> 8.1)
- - GoogleUtilities/UserDefaults (~> 8.1)
- - nanopb (~> 3.30910.0)
- - Flutter (1.0.0)
- - geolocator_apple (1.2.0):
- - Flutter
- - FlutterMacOS
- - GoogleDataTransport (10.1.0):
- - nanopb (~> 3.30910.0)
- - PromisesObjC (~> 2.4)
- - GoogleUtilities/AppDelegateSwizzler (8.1.2):
- - GoogleUtilities/Environment
- - GoogleUtilities/Logger
- - GoogleUtilities/Network
- - GoogleUtilities/Privacy
- - GoogleUtilities/Environment (8.1.2):
- - GoogleUtilities/Privacy
- - GoogleUtilities/Logger (8.1.2):
- - GoogleUtilities/Environment
- - GoogleUtilities/Privacy
- - GoogleUtilities/Network (8.1.2):
- - GoogleUtilities/Logger
- - "GoogleUtilities/NSData+zlib"
- - GoogleUtilities/Privacy
- - GoogleUtilities/Reachability
- - "GoogleUtilities/NSData+zlib (8.1.2)":
- - GoogleUtilities/Privacy
- - GoogleUtilities/Privacy (8.1.2)
- - GoogleUtilities/Reachability (8.1.2):
- - GoogleUtilities/Logger
- - GoogleUtilities/Privacy
- - GoogleUtilities/UserDefaults (8.1.2):
- - GoogleUtilities/Logger
- - GoogleUtilities/Privacy
- - in_app_purchase_storekit (0.0.1):
- - Flutter
- - FlutterMacOS
- - IosAwnCore (0.12.1)
- - MapLibre (6.19.1)
- - maplibre_gl (0.25.0):
- - Flutter
- - MapLibre (= 6.19.1)
- - nanopb (3.30910.0):
- - nanopb/decode (= 3.30910.0)
- - nanopb/encode (= 3.30910.0)
- - nanopb/decode (3.30910.0)
- - nanopb/encode (3.30910.0)
- - package_info_plus (0.4.5):
- - Flutter
- - PromisesObjC (2.4.1)
- - share_plus (0.0.1):
- - Flutter
- - shared_preferences_foundation (0.0.1):
- - Flutter
- - FlutterMacOS
- - sqflite_darwin (0.0.4):
- - Flutter
- - FlutterMacOS
- - url_launcher_ios (0.0.1):
- - Flutter
-
-DEPENDENCIES:
- - awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`)
- - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- - Flutter (from `Flutter`)
- - geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`)
- - in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/darwin`)
- - MapLibre (from `vendor/maplibre`)
- - maplibre_gl (from `.symlinks/plugins/maplibre_gl/ios`)
- - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- - share_plus (from `.symlinks/plugins/share_plus/ios`)
- - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
- - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
-
-SPEC REPOS:
- trunk:
- - Firebase
- - FirebaseCore
- - FirebaseCoreInternal
- - FirebaseInstallations
- - FirebaseMessaging
- - GoogleDataTransport
- - GoogleUtilities
- - IosAwnCore
- - nanopb
- - PromisesObjC
-
-EXTERNAL SOURCES:
- awesome_notifications:
- :path: ".symlinks/plugins/awesome_notifications/ios"
- firebase_core:
- :path: ".symlinks/plugins/firebase_core/ios"
- firebase_messaging:
- :path: ".symlinks/plugins/firebase_messaging/ios"
- Flutter:
- :path: Flutter
- geolocator_apple:
- :path: ".symlinks/plugins/geolocator_apple/darwin"
- in_app_purchase_storekit:
- :path: ".symlinks/plugins/in_app_purchase_storekit/darwin"
- MapLibre:
- :path: vendor/maplibre
- maplibre_gl:
- :path: ".symlinks/plugins/maplibre_gl/ios"
- package_info_plus:
- :path: ".symlinks/plugins/package_info_plus/ios"
- share_plus:
- :path: ".symlinks/plugins/share_plus/ios"
- shared_preferences_foundation:
- :path: ".symlinks/plugins/shared_preferences_foundation/darwin"
- sqflite_darwin:
- :path: ".symlinks/plugins/sqflite_darwin/darwin"
- url_launcher_ios:
- :path: ".symlinks/plugins/url_launcher_ios/ios"
-
-SPEC CHECKSUMS:
- awesome_notifications: e52a8e6a8cdaca4edbd31f38f345305a377445c5
- Firebase: a8539b633d474fbeb654c7043f9c1649e274045b
- firebase_core: fc23178af8ea070194d09031ae4198a9608a3d22
- firebase_messaging: 870b2939a7f7cc52bc38ca0250127c45b42f4bad
- FirebaseCore: 2e86a4ea1684d4381707069e4a6d89ac808e901e
- FirebaseCoreInternal: 6ab6a02c94446c026d2cf35cf5383842ebaa4992
- FirebaseInstallations: eb29ccbf64eaedf86fd5b2ccc7fabde567660b52
- FirebaseMessaging: 40017d7bc8457ee295b0f41d480a80fdabc9994e
- Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
- geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
- GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
- GoogleUtilities: 766ace00c6b10d8148408f329d10c4f051931850
- in_app_purchase_storekit: 22cca7d08eebca9babdf4d07d0baccb73325d3c8
- IosAwnCore: ea91b2d2ee2fd3236748e1b9cdc16194f9558327
- MapLibre: 8dc92bf2c6a6e2d9b8a2364204ab2027e3e2c8f4
- maplibre_gl: a2114567cbd1065866614fbd34dfb75ab782aaa2
- nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
- package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
- PromisesObjC: 752c3227f599e3467650e47ea36f433eeb10c273
- share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
- shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
- sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
- url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
-
-PODFILE CHECKSUM: 4a241cc0e6b313c4155af194e04b2d0d6e17cdbd
-
-COCOAPODS: 1.16.2
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 7c162e8ab..0b7e1cf38 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -64,11 +64,9 @@
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 36D4F0ABFF9E9802DF0B18DB /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; };
3AE87ED82FDB896B2B5C5F1B /* warn.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = warn.aiff; sourceTree = ""; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
4D00D2962CF4598B61D0C722 /* eew_alert.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = eew_alert.aiff; sourceTree = ""; };
- 4E75948A2764FCB4459BCA7C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
5262079930061C32003784C2 /* MapCachePlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapCachePlugin.swift; sourceTree = ""; };
53F7778619923A421CDD3202 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
682D0165E2FF3895C5B252C5 /* eq.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = eq.aiff; sourceTree = ""; };
@@ -89,16 +87,12 @@
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
A382CD9DEA741E45DBF741D7 /* rain.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = rain.aiff; sourceTree = ""; };
- A88AF2D7E75B244D1EFBD92A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; };
- A953C4AACE3DD385E8D3B6F4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; };
AA0000000000000000000C01 /* CompassPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompassPlugin.swift; sourceTree = ""; };
AA0000000000000000000D01 /* DeviceInfoPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceInfoPlugin.swift; sourceTree = ""; };
- B49B9B0F3A5A3685FFAFB100 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
B916667D1B2356583B174E80 /* normal.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = normal.aiff; sourceTree = ""; };
CAC4EF00000000000000B002 /* MapCachePlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MapCachePlugin.swift; sourceTree = ""; };
CAC4EF00000000000000C002 /* BackgroundLocationPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BackgroundLocationPlugin.swift; sourceTree = ""; };
CCF0E2286072A9283A916C69 /* tsunami.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = tsunami.aiff; sourceTree = ""; };
- D9F1D69E3B0409C874D92222 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
F9BCED8E5498E9FD7A454E8F /* info.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = info.aiff; sourceTree = ""; };
FD769D73A7C4BE3619C1F9FB /* report.aiff */ = {isa = PBXFileReference; includeInIndex = 1; path = report.aiff; sourceTree = ""; };
/* End PBXFileReference section */
@@ -132,19 +126,6 @@
path = RunnerTests;
sourceTree = "";
};
- 36B960A28A4B479EC7646966 /* Pods */ = {
- isa = PBXGroup;
- children = (
- 4E75948A2764FCB4459BCA7C /* Pods-Runner.debug.xcconfig */,
- B49B9B0F3A5A3685FFAFB100 /* Pods-Runner.release.xcconfig */,
- D9F1D69E3B0409C874D92222 /* Pods-Runner.profile.xcconfig */,
- A953C4AACE3DD385E8D3B6F4 /* Pods-RunnerTests.debug.xcconfig */,
- A88AF2D7E75B244D1EFBD92A /* Pods-RunnerTests.release.xcconfig */,
- 36D4F0ABFF9E9802DF0B18DB /* Pods-RunnerTests.profile.xcconfig */,
- );
- path = Pods;
- sourceTree = "";
- };
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
@@ -164,7 +145,6 @@
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
331C8082294A63A400263BE5 /* RunnerTests */,
- 36B960A28A4B479EC7646966 /* Pods */,
C69DD930D3A5CD60164E0CA5 /* Frameworks */,
);
sourceTree = "";
@@ -226,7 +206,6 @@
isa = PBXNativeTarget;
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
- F40A6CFB1C81265FDF3DDA2F /* [CP] Check Pods Manifest.lock */,
331C807D294A63A400263BE5 /* Sources */,
331C807F294A63A400263BE5 /* Resources */,
E4840FFE0A305DC1BCA83CC3 /* Frameworks */,
@@ -245,15 +224,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
- 67DC89190DCF7FD5BC55453F /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
- 144ECCF7ECD4C615A4C51479 /* [CP] Embed Pods Frameworks */,
- 0C8721DF2681EF8972B29074 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -341,40 +317,6 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- 0C8721DF2681EF8972B29074 /* [CP] Copy Pods Resources */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
- );
- name = "[CP] Copy Pods Resources";
- outputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 144ECCF7ECD4C615A4C51479 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
- );
- name = "[CP] Embed Pods Frameworks";
- outputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -391,28 +333,6 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
- 67DC89190DCF7FD5BC55453F /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -428,28 +348,6 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
- F40A6CFB1C81265FDF3DDA2F /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -586,7 +484,6 @@
};
331C8088294A63A400263BE5 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = A953C4AACE3DD385E8D3B6F4 /* Pods-RunnerTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
@@ -604,7 +501,6 @@
};
331C8089294A63A400263BE5 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = A88AF2D7E75B244D1EFBD92A /* Pods-RunnerTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
@@ -620,7 +516,6 @@
};
331C808A294A63A400263BE5 /* Profile */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 36D4F0ABFF9E9802DF0B18DB /* Pods-RunnerTests.profile.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..11c5949ca
--- /dev/null
+++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,140 @@
+{
+ "pins" : [
+ {
+ "identity" : "abseil-cpp-binary",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/abseil-cpp-binary.git",
+ "state" : {
+ "revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5",
+ "version" : "1.2024072200.0"
+ }
+ },
+ {
+ "identity" : "app-check",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/app-check.git",
+ "state" : {
+ "revision" : "3e33dd27dd4c69bd81c7c81fe61d8ccf58846902",
+ "version" : "11.3.1"
+ }
+ },
+ {
+ "identity" : "firebase-ios-sdk",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/firebase-ios-sdk",
+ "state" : {
+ "revision" : "42e81d245e30e49ea6a5830cf2842d44a1591270",
+ "version" : "12.15.0"
+ }
+ },
+ {
+ "identity" : "google-ads-on-device-conversion-ios-sdk",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/googleads/google-ads-on-device-conversion-ios-sdk",
+ "state" : {
+ "revision" : "dc39082d8881109d35b94b1c122164c0e8d08a55",
+ "version" : "3.6.1"
+ }
+ },
+ {
+ "identity" : "googleappmeasurement",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleAppMeasurement.git",
+ "state" : {
+ "revision" : "144855f40d8668927f256a3045f7fdc4c3f4338b",
+ "version" : "12.15.0"
+ }
+ },
+ {
+ "identity" : "googledatatransport",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleDataTransport.git",
+ "state" : {
+ "revision" : "617af071af9aa1d6a091d59a202910ac482128f9",
+ "version" : "10.1.0"
+ }
+ },
+ {
+ "identity" : "googleutilities",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleUtilities.git",
+ "state" : {
+ "revision" : "9f183ae842be978784f2963a343682e0c46d8fb3",
+ "version" : "8.1.2"
+ }
+ },
+ {
+ "identity" : "grpc-binary",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/grpc-binary.git",
+ "state" : {
+ "revision" : "75b31c842f664a0f46a2e590a570e370249fd8f6",
+ "version" : "1.69.1"
+ }
+ },
+ {
+ "identity" : "gtm-session-fetcher",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/gtm-session-fetcher.git",
+ "state" : {
+ "revision" : "c0ac7575d70050c2973ba2318bd5af47f8e8153a",
+ "version" : "5.3.0"
+ }
+ },
+ {
+ "identity" : "interop-ios-for-google-sdks",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
+ "state" : {
+ "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe",
+ "version" : "101.0.0"
+ }
+ },
+ {
+ "identity" : "iosawncore",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/rafaelsetragni/IosAwnCore.git",
+ "state" : {
+ "revision" : "2253f8cad36e8020c409c82a13f7fd5b9ec49b5b",
+ "version" : "0.12.1"
+ }
+ },
+ {
+ "identity" : "leveldb",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/leveldb.git",
+ "state" : {
+ "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
+ "version" : "1.22.5"
+ }
+ },
+ {
+ "identity" : "maplibre-gl-native-distribution",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/maplibre/maplibre-gl-native-distribution.git",
+ "state" : {
+ "revision" : "84a79bc375a301169390ac110c868f06c857b83f",
+ "version" : "6.27.0"
+ }
+ },
+ {
+ "identity" : "nanopb",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/nanopb.git",
+ "state" : {
+ "revision" : "3851d94a41890dea16dc3db34caf60e585cb4163",
+ "version" : "2.30910.1"
+ }
+ },
+ {
+ "identity" : "promises",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/promises.git",
+ "state" : {
+ "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837",
+ "version" : "2.4.1"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..11c5949ca
--- /dev/null
+++ b/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,140 @@
+{
+ "pins" : [
+ {
+ "identity" : "abseil-cpp-binary",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/abseil-cpp-binary.git",
+ "state" : {
+ "revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5",
+ "version" : "1.2024072200.0"
+ }
+ },
+ {
+ "identity" : "app-check",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/app-check.git",
+ "state" : {
+ "revision" : "3e33dd27dd4c69bd81c7c81fe61d8ccf58846902",
+ "version" : "11.3.1"
+ }
+ },
+ {
+ "identity" : "firebase-ios-sdk",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/firebase-ios-sdk",
+ "state" : {
+ "revision" : "42e81d245e30e49ea6a5830cf2842d44a1591270",
+ "version" : "12.15.0"
+ }
+ },
+ {
+ "identity" : "google-ads-on-device-conversion-ios-sdk",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/googleads/google-ads-on-device-conversion-ios-sdk",
+ "state" : {
+ "revision" : "dc39082d8881109d35b94b1c122164c0e8d08a55",
+ "version" : "3.6.1"
+ }
+ },
+ {
+ "identity" : "googleappmeasurement",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleAppMeasurement.git",
+ "state" : {
+ "revision" : "144855f40d8668927f256a3045f7fdc4c3f4338b",
+ "version" : "12.15.0"
+ }
+ },
+ {
+ "identity" : "googledatatransport",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleDataTransport.git",
+ "state" : {
+ "revision" : "617af071af9aa1d6a091d59a202910ac482128f9",
+ "version" : "10.1.0"
+ }
+ },
+ {
+ "identity" : "googleutilities",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/GoogleUtilities.git",
+ "state" : {
+ "revision" : "9f183ae842be978784f2963a343682e0c46d8fb3",
+ "version" : "8.1.2"
+ }
+ },
+ {
+ "identity" : "grpc-binary",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/grpc-binary.git",
+ "state" : {
+ "revision" : "75b31c842f664a0f46a2e590a570e370249fd8f6",
+ "version" : "1.69.1"
+ }
+ },
+ {
+ "identity" : "gtm-session-fetcher",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/gtm-session-fetcher.git",
+ "state" : {
+ "revision" : "c0ac7575d70050c2973ba2318bd5af47f8e8153a",
+ "version" : "5.3.0"
+ }
+ },
+ {
+ "identity" : "interop-ios-for-google-sdks",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
+ "state" : {
+ "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe",
+ "version" : "101.0.0"
+ }
+ },
+ {
+ "identity" : "iosawncore",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/rafaelsetragni/IosAwnCore.git",
+ "state" : {
+ "revision" : "2253f8cad36e8020c409c82a13f7fd5b9ec49b5b",
+ "version" : "0.12.1"
+ }
+ },
+ {
+ "identity" : "leveldb",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/leveldb.git",
+ "state" : {
+ "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
+ "version" : "1.22.5"
+ }
+ },
+ {
+ "identity" : "maplibre-gl-native-distribution",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/maplibre/maplibre-gl-native-distribution.git",
+ "state" : {
+ "revision" : "84a79bc375a301169390ac110c868f06c857b83f",
+ "version" : "6.27.0"
+ }
+ },
+ {
+ "identity" : "nanopb",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/firebase/nanopb.git",
+ "state" : {
+ "revision" : "3851d94a41890dea16dc3db34caf60e585cb4163",
+ "version" : "2.30910.1"
+ }
+ },
+ {
+ "identity" : "promises",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/google/promises.git",
+ "state" : {
+ "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837",
+ "version" : "2.4.1"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/ios/vendor/maplibre/MapLibre.podspec b/ios/vendor/maplibre/MapLibre.podspec
index aec1076fa..4669d7934 100644
--- a/ios/vendor/maplibre/MapLibre.podspec
+++ b/ios/vendor/maplibre/MapLibre.podspec
@@ -1,9 +1,9 @@
Pod::Spec.new do |s|
s.name = 'MapLibre'
- s.version = '6.19.1'
+ s.version = '6.27.0'
s.summary = 'MapLibre Native iOS SDK — vendored xcframework.'
s.description = <<-DESC
- Vendored copy of the MapLibre Native iOS dynamic xcframework (v6.19.1),
+ Vendored copy of the MapLibre Native iOS dynamic xcframework (v6.27.0),
committed to the repo so `pod install` never downloads it. The upstream
GitHub release CDN stalls unreliably here; this keeps the iOS build
deterministic and offline-capable. Satisfies maplibre_gl's `MapLibre`
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h
new file mode 100755
index 000000000..18a0396d6
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h
@@ -0,0 +1,108 @@
+// This file is generated.
+// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`.
+
+#import "MLNFoundation.h"
+#import "MLNForegroundStyleLayer.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Client-side elevation coloring based on DEM data. The implementation supports
+ Mapbox Terrain RGB, Mapzen Terrarium tiles and custom encodings.
+
+ You can access an existing color-relief style layer using the
+ ``MLNStyle/layerWithIdentifier:`` method if you know its identifier;
+ otherwise, find it using the ``MLNStyle/layers`` property. You can also create a
+ new color-relief style layer and add it to the style using a method such as
+ ``MLNStyle/addLayer:``.
+
+ ### Example
+
+ ```swift
+ ```
+ */
+MLN_EXPORT
+@interface MLNColorReliefStyleLayer : MLNForegroundStyleLayer
+
+/**
+ Returns a color-relief style layer initialized with an identifier and source.
+
+ After initializing and configuring the style layer, add it to a map view’s
+ style using the ``MLNStyle/addLayer:`` or
+ ``MLNStyle/insertLayer:belowLayer:`` method.
+
+ @param identifier A string that uniquely identifies the source in the style to
+ which it is added.
+ @param source The source from which to obtain the data to style. If the source
+ has not yet been added to the current style, the behavior is undefined.
+ @return An initialized foreground style layer.
+ */
+- (instancetype)initWithIdentifier:(NSString *)identifier source:(MLNSource *)source;
+
+// MARK: - Accessing the Paint Attributes
+
+#if TARGET_OS_IPHONE
+/**
+ Defines the color of each point based on its elevation. Should be an expression
+ that uses `["elevation"]` as input.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `UIColor` values
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$elevation` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefColor;
+#else
+/**
+ Defines the color of each point based on its elevation. Should be an expression
+ that uses `["elevation"]` as input.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `NSColor` values
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$elevation` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefColor;
+#endif
+
+/**
+ The opacity at which the color-relief will be drawn.
+
+ The default value of this property is an expression that evaluates to the float
+ `1`. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant numeric values between 0 and 1 inclusive
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefOpacity;
+
+/**
+ The transition affecting any changes to this layer’s `colorReliefOpacity` property.
+
+ This property corresponds to the `color-relief-opacity-transition` property in the style JSON file format.
+*/
+@property (nonatomic) MLNTransition colorReliefOpacityTransition;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNDisplayUtils.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNDisplayUtils.h
new file mode 100644
index 000000000..2b22518d9
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNDisplayUtils.h
@@ -0,0 +1,10 @@
+#import
+#import
+
+#if TARGET_OS_IPHONE || TARGET_OS_TV
+#import
+#else
+#import
+#endif
+
+FOUNDATION_EXTERN CGFloat MLNEffectiveScaleFactorForView(id viewOrNil);
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
index 612f15c69..f5f0d8966 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
@@ -23,6 +23,44 @@ typedef NS_ENUM(NSUInteger, MLNHillshadeIlluminationAnchor) {
MLNHillshadeIlluminationAnchorViewport,
};
+/**
+ The hillshade algorithm to use, one of `MLNHillshadeMethodStandard`,
+ `MLNHillshadeMethodBasic`, `MLNHillshadeMethodCombined`,
+ `MLNHillshadeMethodIgor`, or `MLNHillshadeMethodMultidirectional`.
+ 
+
+ Values of this type are used in the ``MLNHillshadeStyleLayer/hillshadeMethod``
+ property.
+ */
+typedef NS_ENUM(NSUInteger, MLNHillshadeMethod) {
+ /**
+ The legacy hillshade method.
+ */
+ MLNHillshadeMethodStandard,
+ /**
+ Basic hillshade. Uses a simple physics model where the reflected light
+ intensity is proportional to the cosine of the angle between the incident
+ light and the surface normal. Similar to GDAL's `gdaldem` default
+ algorithm.
+ */
+ MLNHillshadeMethodBasic,
+ /**
+ Hillshade algorithm whose intensity scales with slope. Similar to GDAL's
+ `gdaldem` with `Combined` option.
+ */
+ MLNHillshadeMethodCombined,
+ /**
+ Hillshade algorithm which tries to minimize effects on other map features
+ beneath. Similar to GDAL's `gdaldem` with `Igor` option.
+ */
+ MLNHillshadeMethodIgor,
+ /**
+ Hillshade with multiple illumination directions. Uses the basic hillshade
+ model with multiple independent light sources.
+ */
+ MLNHillshadeMethodMultidirectional,
+};
+
/**
An ``MLNHillshadeStyleLayer`` is a style layer that renders raster digital elevation
@@ -149,15 +187,17 @@ MLN_EXPORT
#if TARGET_OS_IPHONE
/**
- The shading color of areas that faces towards the light source.
+ The shading color of areas that faces towards the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `UIColor.whiteColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `UIColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `UIColor` values
+ * Constant `UIColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -169,15 +209,17 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeHighlightColor;
#else
/**
- The shading color of areas that faces towards the light source.
+ The shading color of areas that faces towards the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `NSColor.whiteColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `NSColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `NSColor` values
+ * Constant `NSColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -196,6 +238,27 @@ MLN_EXPORT
*/
@property (nonatomic) MLNTransition hillshadeHighlightColorTransition;
+/**
+ The altitude of the light source(s) used to generate the hillshading with 0 as
+ sunset and 90 as noon. Only when `hillshadeMethod` is set to
+ `MLNHillshadeMethodMultidirectional` can you specify multiple light sources.
+
+ The default value of this property is an expression that evaluates to an array
+ of numeric values. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant numeric array values between 0 and 90 inclusive
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationAltitude;
+
/**
Direction of light source when map is rotated.
@@ -221,17 +284,19 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationAnchor;
/**
- The direction of the light source used to generate the hillshading with 0 as
+ The direction of the light source(s) used to generate the hillshading with 0 as
the top of the viewport if `hillshadeIlluminationAnchor` is set to
`MLNHillshadeIlluminationAnchorViewport` and due north if
`hillshadeIlluminationAnchor` is set to `MLNHillshadeIlluminationAnchorMap`.
+ Only when `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can
+ you specify multiple light sources.
- The default value of this property is an expression that evaluates to the float
- `335`. Set this property to `nil` to reset it to the default value.
+ The default value of this property is an expression that evaluates to an array
+ of numeric values. Set this property to `nil` to reset it to the default value.
You can set this property to an expression containing any of the following:
- * Constant numeric values between 0 and 359 inclusive
+ * Constant numeric array values between 0 and 359 inclusive
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -242,17 +307,53 @@ MLN_EXPORT
*/
@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationDirection;
-#if TARGET_OS_IPHONE
/**
- The shading color of areas that face away from the light source.
+ The hillshade algorithm to use, one of `MLNHillshadeMethodStandard`,
+ `MLNHillshadeMethodBasic`, `MLNHillshadeMethodCombined`,
+ `MLNHillshadeMethodIgor`, or `MLNHillshadeMethodMultidirectional`.
+ 
The default value of this property is an expression that evaluates to
- `UIColor.blackColor`. Set this property to `nil` to reset it to the default
+ `standard`. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `MLNHillshadeMethod` values
+ * Any of the following constant string values:
+ * `standard`: The legacy hillshade method.
+ * `basic`: Basic hillshade. Uses a simple physics model where the reflected
+ light intensity is proportional to the cosine of the angle between the incident
+ light and the surface normal. Similar to GDAL's `gdaldem` default algorithm.
+ * `combined`: Hillshade algorithm whose intensity scales with slope. Similar
+ to GDAL's `gdaldem` with `-combined` option.
+ * `igor`: Hillshade algorithm which tries to minimize effects on other map
+ features beneath. Similar to GDAL's `gdaldem` with `-igor` option.
+ * `multidirectional`: Hillshade with multiple illumination directions. Uses
+ the basic hillshade model with multiple independent light sources.
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation functions to the
+ `$zoomLevel` variable or applying interpolation or step functions to feature
+ attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *hillshadeMethod;
+
+#if TARGET_OS_IPHONE
+/**
+ The shading color of areas that face away from the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
+
+ The default value of this property is an expression that evaluates to an array
+ of `UIColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `UIColor` values
+ * Constant `UIColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -264,15 +365,17 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeShadowColor;
#else
/**
- The shading color of areas that face away from the light source.
+ The shading color of areas that face away from the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `NSColor.blackColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `NSColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `NSColor` values
+ * Constant `NSColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -314,6 +417,19 @@ MLN_EXPORT
*/
@property (readonly) MLNHillshadeIlluminationAnchor MLNHillshadeIlluminationAnchorValue;
+/**
+ Creates a new value object containing the given `MLNHillshadeMethod` enumeration.
+
+ @param hillshadeMethod The value for the new object.
+ @return A new value object that contains the enumeration value.
+ */
++ (instancetype)valueWithMLNHillshadeMethod:(MLNHillshadeMethod)hillshadeMethod;
+
+/**
+ The ``MLNHillshadeMethod`` enumeration representation of the value.
+ */
+@property (readonly) MLNHillshadeMethod MLNHillshadeMethodValue;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapCamera.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapCamera.h
index cc52c83d4..7cc10cf59 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapCamera.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapCamera.h
@@ -26,6 +26,9 @@ MLN_EXPORT
/** Heading measured in degrees clockwise from true north. */
@property (nonatomic) CLLocationDirection heading;
+/** Roll measured in degrees clockwise around the viewing axis. */
+@property (nonatomic) CLLocationDirection roll;
+
/**
Pitch toward the horizon measured in degrees, with 0 degrees resulting in a
two-dimensional map.
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapSnapshotter.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapSnapshotter.h
index ef8352ede..ba405f350 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapSnapshotter.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapSnapshotter.h
@@ -6,7 +6,13 @@
NS_ASSUME_NONNULL_BEGIN
+@class MLNAnnotationImage;
+@class MLNShape;
+@class MLNPolyline;
+@class MLNPolygon;
+
@protocol MLNMapSnapshotterDelegate;
+@protocol MLNAnnotation;
/**
An overlay that is placed within a ``MLNMapSnapshot``.
@@ -79,11 +85,15 @@ MLN_EXPORT
// MARK: - Configuring the Map
/**
- :nodoc:
Whether to include the MapLibre logo. Note this is not required.
*/
@property (nonatomic, readwrite) BOOL showsLogo;
+/**
+ Whether to add attribution from the sources on the snapshots. Enabled by default.
+ */
+@property (nonatomic, readwrite) BOOL showsAttribution;
+
/**
URL of the map style to snapshot.
*/
@@ -245,6 +255,35 @@ MLN_EXPORT
*/
- (instancetype)initWithOptions:(MLNMapSnapshotOptions *)options NS_DESIGNATED_INITIALIZER;
+/**
+ Adds an annotation to the snapshotter.
+
+ > Note: ``MLNMultiPolyline``, ``MLNMultiPolyline``, ``MLNMultiPolyline``, and
+ ``MLNPointCollection`` objects cannot be added to the snapshotter at this time.
+ Any multipoint, multipolyline, multipolygon, shape or point collection
+ object that is specified is silently ignored.
+
+ @param annotation The annotation object to add to the receiver. This object
+ must conform to the ``MLNAnnotation`` protocol. The snapshotter retains the
+ annotation object.
+ */
+- (void)addAnnotation:(id)annotation;
+
+/**
+ Adds an array of annotations to the snapshotter.
+
+ > Note: ``MLNMultiPolyline``, ``MLNMultiPolyline``, and ``MLNMultiPolyline`` objects
+ cannot be added to the snapshotter at this time. Nor can ``MLNMultiPoint``
+ objects that are not instances of ``MLNPolyline`` or ``MLNPolyline``. Any
+ multipoint, multipolyline, multipolygon, or shape collection objects that
+ are specified are silently ignored.
+
+ @param annotations An array of annotation objects. Each object in the array
+ must conform to the ``MLNAnnotation`` protocol. The snapshotter retains each
+ individual annotation object.
+ */
+- (void)addAnnotations:(NSArray> *)annotations;
+
/**
Starts the snapshot creation and executes the specified block with the result.
@@ -363,6 +402,89 @@ MLN_EXPORT
- (void)mapSnapshotter:(MLNMapSnapshotter *)snapshotter didFailLoadingImageNamed:(NSString *)name;
+/**
+ Returns an annotation image object to mark the given point annotation object on
+ the map.
+
+ Implement this method to mark a point annotation with a static image.
+
+ Static annotation images use less memory and draw more quickly than annotation
+ views. On the other hand, annotation views are compatible with UIKit, Core
+ Animation, and other Cocoa Touch frameworks.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The object representing the annotation that is about to be
+ displayed.
+ @return The annotation image object to display for the given annotation or
+ `nil` if you want to display the default marker image or an annotation view.
+*/
+- (nullable MLNAnnotationImage *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ imageForAnnotation:(id)annotation;
+
+/**
+ Returns the alpha value to use when rendering a shape annotation.
+
+ A value of `0.0` results in a completely transparent shape. A value of `1.0`,
+ the default, results in a completely opaque shape.
+
+ This method sets the opacity of an entire shape, inclusive of its stroke and
+ fill. To independently set the values for stroke or fill, specify an alpha
+ component in the color returned by `-mapSnapshotter:strokeColorForShapeAnnotation:` or
+ `-mapSnapshotter:fillColorForPolygonAnnotation:`.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return An alpha value between `0` and `1.0`.
+ */
+- (CGFloat)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ alphaForShapeAnnotation:(MLNShape *)annotation;
+
+/**
+ Returns the color to use when rendering the outline of a shape annotation.
+
+ The default stroke color is MLNColor.whiteColor.
+
+ Opacity may be set by specifying an alpha component. The default alpha value is
+ `1.0` and results in a completely opaque stroke.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return A color to use for the shape outline.
+
+ */
+- (MLNColor *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ strokeColorForShapeAnnotation:(MLNShape *)annotation;
+
+/**
+ Returns the color to use when rendering the fill of a polygon annotation.
+
+ The default fill color is the MLNColor.whiteColor.
+
+ Opacity may be set by specifying an alpha component. The default alpha value is
+ `1.0` and results in a completely opaque shape.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return The polygon’s interior fill color.
+
+ */
+- (MLNColor *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ fillColorForPolygonAnnotation:(MLNPolygon *)annotation;
+
+/**
+ Returns the line width in points to use when rendering the outline of a
+ polyline annotation.
+
+ By default, the polyline is outlined with a line `3.0` points wide.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return A line width for the polyline, measured in points.
+
+ */
+- (CGFloat)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ lineWidthForPolylineAnnotation:(MLNPolyline *)annotation;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapView.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapView.h
index 6533c56d3..bf7acae4a 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapView.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapView.h
@@ -532,6 +532,16 @@ MLN_EXPORT
*/
@property (nonatomic, assign) double tileLodZoomShift;
+/**
+ Frustum offset used to disable rendering of elements at the edge of the screen
+
+ Offset applied to camera frustum and scissor rectangle. The camrea frustum is modified
+ to avoid loading geometry that's behind UI elements at the top of the screen. The scissor
+ rectangle is used to avoid shading fragments that are behind UI elements at the edges of
+ the screen. All values are in logical pixels.
+ */
+@property (nonatomic, assign) UIEdgeInsets frustumOffset;
+
// MARK: Displaying the User’s Location
/**
@@ -855,6 +865,15 @@ vertically on the map.
*/
@property (nonatomic, getter=isRotateEnabled) BOOL rotateEnabled;
+/**
+The threshold, measured in degrees, that determines when the map's bearing will snap to north.
+For example, with a toleranceForSnappingToNorth of 7, if the user rotates the map within 7 degrees
+of north, the map will automatically snap to exact north.
+
+ The default value of this property is 7.
+ */
+@property (nonatomic) CGFloat toleranceForSnappingToNorth;
+
/**
A Boolean value that determines whether the user may change the pitch (tilt) of
the map.
@@ -1046,8 +1065,6 @@ vertically on the map.
/**
* The maximum bounds of the map that can be shown on screen.
- *
- * @param MLNCoordinateBounds the bounds to constrain the screen to.
*/
@property (nonatomic) MLNCoordinateBounds maximumScreenBounds;
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapViewDelegate.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapViewDelegate.h
index ec9dd6e54..535058985 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapViewDelegate.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNMapViewDelegate.h
@@ -503,6 +503,17 @@ Called when an error occurs while loading a sprite.
*/
- (void)mapView:(MLNMapView *)mapView spriteDidError:(NSString *)id url:(NSString *)url;
+// MARK: - Renderer
+
+/**
+Called when an error occurs while trying to render a layer or drawable.
+
+@param mapView The ``MLNMapView`` instance invoking this delegate method.
+
+> Warning: This method is not thread-safe.
+*/
+- (void)mapViewRendererDidError:(MLNMapView *)mapView;
+
// MARK: Tracking User Location
/**
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkConfiguration.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkConfiguration.h
index 01c0fee46..19fc298e2 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkConfiguration.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkConfiguration.h
@@ -1,6 +1,7 @@
#import
#import "MLNFoundation.h"
+#import "MLNNetworkResponse.h"
NS_ASSUME_NONNULL_BEGIN
@@ -24,6 +25,11 @@ NS_ASSUME_NONNULL_BEGIN
are not supported at this time.
*/
- (NSURLSession *)sessionForNetworkConfiguration:(MLNNetworkConfiguration *)configuration;
+
+- (NSMutableURLRequest *)willSendRequest:(NSMutableURLRequest *)request;
+
+- (MLNNetworkResponse *)didReceiveResponse:(MLNNetworkResponse *)response;
+
@end
/**
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkResponse.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkResponse.h
new file mode 100644
index 000000000..b425c4540
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNNetworkResponse.h
@@ -0,0 +1,19 @@
+#import
+#import "MLNFoundation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+MLN_EXPORT
+@interface MLNNetworkResponse : NSObject
+
+@property (retain, nullable) NSError *error;
+@property (retain, nullable) NSData *data;
+@property (retain, nullable) NSURLResponse *response;
+
++ (MLNNetworkResponse *)responseWithData:(NSData *)data
+ urlResponse:(NSURLResponse *)response
+ error:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNOfflinePack.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNOfflinePack.h
index 567c65e35..f0f7301c0 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNOfflinePack.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNOfflinePack.h
@@ -121,6 +121,18 @@ typedef struct __attribute__((objc_boxable)) MLNOfflinePackProgress {
MLN_EXPORT
@interface MLNOfflinePack : NSObject
+/**
+ The unique identifier of the offline region associated with this pack.
+
+ This identifier is an auto-incrementing value assigned by the offline database
+ when the region is created. It is stable across application launches and can be
+ used to distinguish between different offline packs.
+
+ The value is `nil` for packs that have not yet been saved to the database. In
+ Swift, this property is typed as `NSNumber?`.
+ */
+@property (nonatomic, readonly, nullable) NSNumber *regionId;
+
/**
The region for which the pack manages resources.
*/
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNRasterDEMSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNRasterDEMSource.h
index 5793ca0ed..be6e6cec8 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNRasterDEMSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNRasterDEMSource.h
@@ -10,11 +10,30 @@
The default value for this option is ``MLNDEMEncoding/MLNDEMEncodingMapbox``.
This option cannot be represented in a TileJSON or style JSON file. It is used
- with the ``MLNRasterDEMSource`` class and is ignored when creating an
+ with the ``MLNRasterDEMSource`` class and is ignored when creating a
``MLNRasterTileSource`` or ``MLNRasterTileSource`` object.
*/
FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNTileSourceOptionDEMEncoding;
+/**
+ The encoding formula used to generate the raster tileset
+*/
+
+typedef NS_ENUM(NSUInteger, MLNDEMEncoding) {
+
+ /**
+ Raster tiles generated with the [Mapbox encoding
+ formula](https://docs.mapbox.com/help/troubleshooting/access-elevation-data/#mapbox-terrain-rgb)
+ */
+ MLNDEMEncodingMapbox = 0,
+
+ /**
+ Raster tiles generated with the [Mapzen Terrarium encoding
+ formula](https://aws.amazon.com/public-datasets/terrain/).
+ */
+ MLNDEMEncodingTerrarium = 1,
+};
+
/**
``MLNRasterDEMSource`` is a map content source that supplies rasterized
digital elevation model
@@ -23,8 +42,9 @@ FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNTileSourceOptionDEMEnc
conforms to the
TileJSON specification.
A raster DEM source is added to an ``MLNStyle`` object along with one or more
- ``MLNHillshadeStyleLayer`` objects. Use a hillshade style layer to control the
- appearance of content supplied by the raster DEM source.
+ ``MLNHillshadeStyleLayer`` or ``MLNColorReliefStyleLayer`` objects. Use a hillshade
+ style layer to control the appearance of content supplied by the raster DEM source,
+ or a color relief style layer to render elevation data with a color ramp.
Each
raster-dem
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNScaleBar.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNScaleBar.h
index 6e788cb5d..ad979a3a1 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNScaleBar.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNScaleBar.h
@@ -1,6 +1,9 @@
#import
#import
+#import "MLNFoundation.h"
+
+MLN_EXPORT
@interface MLNScaleBar : UIView
// Sets the scale and redraws the scale bar
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNShapeSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNShapeSource.h
index 2b6188ac8..ef7cbb162 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNShapeSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNShapeSource.h
@@ -163,6 +163,12 @@ FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionSimp
*/
FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionLineDistanceMetrics;
+/**
+ An `NSNumber` object containing a Boolean flag defining whether or not the fetched tiles for the
+ given source should be synchronously updated on the render thread. The default value is `NO`.
+ */
+FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionSynchronousUpdate;
+
/**
``MLNShapeSource`` is a map content source that supplies vector shapes to be
shown on the map. The shapes may be instances of ``MLNShape`` or ``MLNShape``,
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNSymbolStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
index da14084a2..7184802a5 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
@@ -1741,8 +1741,10 @@ MLN_EXPORT
`textVariableAnchor`, `textOffset`, and `textRadialOffset`.
```json
+
{ "text-variable-anchor-offset": ["top", [0, 4], "left", [3,0], "bottom", [1,
1]] }
+
```
When the renderer chooses the `top` anchor, `[0, 4]` will be used for
@@ -1784,8 +1786,10 @@ MLN_EXPORT
`textVariableAnchor`, `textOffset`, and `textRadialOffset`.
```json
+
{ "text-variable-anchor-offset": ["top", [0, 4], "left", [3,0], "bottom", [1,
1]] }
+
```
When the renderer chooses the `top` anchor, `[0, 4]` will be used for
@@ -1988,6 +1992,7 @@ MLN_EXPORT
/**
Distance of halo to the icon outline.
+
The unit is in points only for SDF sprites that were created with a blur radius
of 8, multiplied by the display density. I.e., the radius needs to be 16 for
`@2x` sprites, etc.
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNTileSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNTileSource.h
index 9ea6b0bcd..445ad622c 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNTileSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNTileSource.h
@@ -142,25 +142,6 @@ typedef NS_ENUM(NSUInteger, MLNTileCoordinateSystem) {
MLNTileCoordinateSystemTMS
};
-/**
- The encoding formula used to generate the raster-dem tileset
-*/
-
-typedef NS_ENUM(NSUInteger, MLNDEMEncoding) {
-
- /**
- Raster tiles generated with the [Mapbox encoding
- formula](https://docs.mapbox.com/help/troubleshooting/access-elevation-data/#mapbox-terrain-rgb).
- */
- MLNDEMEncodingMapbox = 0,
-
- /**
- Raster tiles generated with the [Mapzen Terrarium encoding
- formula](https://aws.amazon.com/public-datasets/terrain/).
- */
- MLNDEMEncodingTerrarium
-};
-
/**
``MLNTileSource`` is a map content source that supplies map tiles to be shown on
the map. The location of and metadata about the tiles are defined either by an
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNVectorTileSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNVectorTileSource.h
index a3c807b49..e120febfd 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNVectorTileSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MLNVectorTileSource.h
@@ -4,6 +4,33 @@
NS_ASSUME_NONNULL_BEGIN
+/**
+ An `NSNumber` object containing an unsigned integer that specifies the encoding
+ formula for vector tilesets. The integer corresponds to one of the constants in
+ ``MLNVectorTileSourceEncoding``.
+
+ The default value for this option is
+ ``MLNVectorTileSourceEncoding/MLNVectorTileSourceEncodingMapbox``.
+ */
+FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNVectorTileSourceOptionEncoding;
+
+/**
+ The encoding formula used to generate the raster-dem tileset
+*/
+
+typedef NS_ENUM(NSUInteger, MLNVectorTileSourceEncoding) {
+
+ /**
+ Vector tiles in [MVT format](https://github.com/mapbox/vector-tile-spec).
+ */
+ MLNVectorTileSourceEncodingMapbox = 0,
+
+ /**
+ Vector tiles in [MLT format](https://github.com/maplibre/maplibre-tile-spec).
+ */
+ MLNVectorTileSourceEncodingMLT = 1,
+};
+
/**
``MLNVectorTileSource`` is a map content source that supplies tiled vector data
in Mapbox Vector Tile format
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MapLibre.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MapLibre.h
index ddea2c9a0..04ed5c021 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MapLibre.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Headers/MapLibre.h
@@ -1,5 +1,6 @@
#import
#import
+#import
#import
#import
#import
@@ -22,6 +23,7 @@
#import
#import
#import
+#import
#import
#import
#import
@@ -35,6 +37,7 @@
#import
#import
#import
+#import
#import
#import
#import
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Info.plist b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Info.plist
index 9b07ac76f..e2eb32381 100755
Binary files a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Info.plist and b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/Info.plist differ
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/MapLibre b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/MapLibre
index 6047b53b4..6dfd724aa 100755
Binary files a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/MapLibre and b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64/MapLibre.framework/MapLibre differ
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h
new file mode 100755
index 000000000..18a0396d6
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNColorReliefStyleLayer.h
@@ -0,0 +1,108 @@
+// This file is generated.
+// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`.
+
+#import "MLNFoundation.h"
+#import "MLNForegroundStyleLayer.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Client-side elevation coloring based on DEM data. The implementation supports
+ Mapbox Terrain RGB, Mapzen Terrarium tiles and custom encodings.
+
+ You can access an existing color-relief style layer using the
+ ``MLNStyle/layerWithIdentifier:`` method if you know its identifier;
+ otherwise, find it using the ``MLNStyle/layers`` property. You can also create a
+ new color-relief style layer and add it to the style using a method such as
+ ``MLNStyle/addLayer:``.
+
+ ### Example
+
+ ```swift
+ ```
+ */
+MLN_EXPORT
+@interface MLNColorReliefStyleLayer : MLNForegroundStyleLayer
+
+/**
+ Returns a color-relief style layer initialized with an identifier and source.
+
+ After initializing and configuring the style layer, add it to a map view’s
+ style using the ``MLNStyle/addLayer:`` or
+ ``MLNStyle/insertLayer:belowLayer:`` method.
+
+ @param identifier A string that uniquely identifies the source in the style to
+ which it is added.
+ @param source The source from which to obtain the data to style. If the source
+ has not yet been added to the current style, the behavior is undefined.
+ @return An initialized foreground style layer.
+ */
+- (instancetype)initWithIdentifier:(NSString *)identifier source:(MLNSource *)source;
+
+// MARK: - Accessing the Paint Attributes
+
+#if TARGET_OS_IPHONE
+/**
+ Defines the color of each point based on its elevation. Should be an expression
+ that uses `["elevation"]` as input.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `UIColor` values
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$elevation` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefColor;
+#else
+/**
+ Defines the color of each point based on its elevation. Should be an expression
+ that uses `["elevation"]` as input.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `NSColor` values
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$elevation` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefColor;
+#endif
+
+/**
+ The opacity at which the color-relief will be drawn.
+
+ The default value of this property is an expression that evaluates to the float
+ `1`. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant numeric values between 0 and 1 inclusive
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *colorReliefOpacity;
+
+/**
+ The transition affecting any changes to this layer’s `colorReliefOpacity` property.
+
+ This property corresponds to the `color-relief-opacity-transition` property in the style JSON file format.
+*/
+@property (nonatomic) MLNTransition colorReliefOpacityTransition;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNDisplayUtils.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNDisplayUtils.h
new file mode 100644
index 000000000..2b22518d9
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNDisplayUtils.h
@@ -0,0 +1,10 @@
+#import
+#import
+
+#if TARGET_OS_IPHONE || TARGET_OS_TV
+#import
+#else
+#import
+#endif
+
+FOUNDATION_EXTERN CGFloat MLNEffectiveScaleFactorForView(id viewOrNil);
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
index 612f15c69..f5f0d8966 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNHillshadeStyleLayer.h
@@ -23,6 +23,44 @@ typedef NS_ENUM(NSUInteger, MLNHillshadeIlluminationAnchor) {
MLNHillshadeIlluminationAnchorViewport,
};
+/**
+ The hillshade algorithm to use, one of `MLNHillshadeMethodStandard`,
+ `MLNHillshadeMethodBasic`, `MLNHillshadeMethodCombined`,
+ `MLNHillshadeMethodIgor`, or `MLNHillshadeMethodMultidirectional`.
+ 
+
+ Values of this type are used in the ``MLNHillshadeStyleLayer/hillshadeMethod``
+ property.
+ */
+typedef NS_ENUM(NSUInteger, MLNHillshadeMethod) {
+ /**
+ The legacy hillshade method.
+ */
+ MLNHillshadeMethodStandard,
+ /**
+ Basic hillshade. Uses a simple physics model where the reflected light
+ intensity is proportional to the cosine of the angle between the incident
+ light and the surface normal. Similar to GDAL's `gdaldem` default
+ algorithm.
+ */
+ MLNHillshadeMethodBasic,
+ /**
+ Hillshade algorithm whose intensity scales with slope. Similar to GDAL's
+ `gdaldem` with `Combined` option.
+ */
+ MLNHillshadeMethodCombined,
+ /**
+ Hillshade algorithm which tries to minimize effects on other map features
+ beneath. Similar to GDAL's `gdaldem` with `Igor` option.
+ */
+ MLNHillshadeMethodIgor,
+ /**
+ Hillshade with multiple illumination directions. Uses the basic hillshade
+ model with multiple independent light sources.
+ */
+ MLNHillshadeMethodMultidirectional,
+};
+
/**
An ``MLNHillshadeStyleLayer`` is a style layer that renders raster digital elevation
@@ -149,15 +187,17 @@ MLN_EXPORT
#if TARGET_OS_IPHONE
/**
- The shading color of areas that faces towards the light source.
+ The shading color of areas that faces towards the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `UIColor.whiteColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `UIColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `UIColor` values
+ * Constant `UIColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -169,15 +209,17 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeHighlightColor;
#else
/**
- The shading color of areas that faces towards the light source.
+ The shading color of areas that faces towards the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `NSColor.whiteColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `NSColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `NSColor` values
+ * Constant `NSColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -196,6 +238,27 @@ MLN_EXPORT
*/
@property (nonatomic) MLNTransition hillshadeHighlightColorTransition;
+/**
+ The altitude of the light source(s) used to generate the hillshading with 0 as
+ sunset and 90 as noon. Only when `hillshadeMethod` is set to
+ `MLNHillshadeMethodMultidirectional` can you specify multiple light sources.
+
+ The default value of this property is an expression that evaluates to an array
+ of numeric values. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant numeric array values between 0 and 90 inclusive
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Interpolation and step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation or step functions to
+ feature attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationAltitude;
+
/**
Direction of light source when map is rotated.
@@ -221,17 +284,19 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationAnchor;
/**
- The direction of the light source used to generate the hillshading with 0 as
+ The direction of the light source(s) used to generate the hillshading with 0 as
the top of the viewport if `hillshadeIlluminationAnchor` is set to
`MLNHillshadeIlluminationAnchorViewport` and due north if
`hillshadeIlluminationAnchor` is set to `MLNHillshadeIlluminationAnchorMap`.
+ Only when `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can
+ you specify multiple light sources.
- The default value of this property is an expression that evaluates to the float
- `335`. Set this property to `nil` to reset it to the default value.
+ The default value of this property is an expression that evaluates to an array
+ of numeric values. Set this property to `nil` to reset it to the default value.
You can set this property to an expression containing any of the following:
- * Constant numeric values between 0 and 359 inclusive
+ * Constant numeric array values between 0 and 359 inclusive
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -242,17 +307,53 @@ MLN_EXPORT
*/
@property (nonatomic, null_resettable) NSExpression *hillshadeIlluminationDirection;
-#if TARGET_OS_IPHONE
/**
- The shading color of areas that face away from the light source.
+ The hillshade algorithm to use, one of `MLNHillshadeMethodStandard`,
+ `MLNHillshadeMethodBasic`, `MLNHillshadeMethodCombined`,
+ `MLNHillshadeMethodIgor`, or `MLNHillshadeMethodMultidirectional`.
+ 
The default value of this property is an expression that evaluates to
- `UIColor.blackColor`. Set this property to `nil` to reset it to the default
+ `standard`. Set this property to `nil` to reset it to the default value.
+
+ You can set this property to an expression containing any of the following:
+
+ * Constant `MLNHillshadeMethod` values
+ * Any of the following constant string values:
+ * `standard`: The legacy hillshade method.
+ * `basic`: Basic hillshade. Uses a simple physics model where the reflected
+ light intensity is proportional to the cosine of the angle between the incident
+ light and the surface normal. Similar to GDAL's `gdaldem` default algorithm.
+ * `combined`: Hillshade algorithm whose intensity scales with slope. Similar
+ to GDAL's `gdaldem` with `-combined` option.
+ * `igor`: Hillshade algorithm which tries to minimize effects on other map
+ features beneath. Similar to GDAL's `gdaldem` with `-igor` option.
+ * `multidirectional`: Hillshade with multiple illumination directions. Uses
+ the basic hillshade model with multiple independent light sources.
+ * Predefined functions, including mathematical and string operators
+ * Conditional expressions
+ * Variable assignments and references to assigned variables
+ * Step functions applied to the `$zoomLevel` variable
+
+ This property does not support applying interpolation functions to the
+ `$zoomLevel` variable or applying interpolation or step functions to feature
+ attributes.
+ */
+@property (nonatomic, null_resettable) NSExpression *hillshadeMethod;
+
+#if TARGET_OS_IPHONE
+/**
+ The shading color of areas that face away from the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
+
+ The default value of this property is an expression that evaluates to an array
+ of `UIColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `UIColor` values
+ * Constant `UIColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -264,15 +365,17 @@ MLN_EXPORT
@property (nonatomic, null_resettable) NSExpression *hillshadeShadowColor;
#else
/**
- The shading color of areas that face away from the light source.
+ The shading color of areas that face away from the light source(s). Only when
+ `hillshadeMethod` is set to `MLNHillshadeMethodMultidirectional` can you
+ specify multiple light sources.
- The default value of this property is an expression that evaluates to
- `NSColor.blackColor`. Set this property to `nil` to reset it to the default
+ The default value of this property is an expression that evaluates to an array
+ of `NSColor` objects. Set this property to `nil` to reset it to the default
value.
You can set this property to an expression containing any of the following:
- * Constant `NSColor` values
+ * Constant `NSColor` array values
* Predefined functions, including mathematical and string operators
* Conditional expressions
* Variable assignments and references to assigned variables
@@ -314,6 +417,19 @@ MLN_EXPORT
*/
@property (readonly) MLNHillshadeIlluminationAnchor MLNHillshadeIlluminationAnchorValue;
+/**
+ Creates a new value object containing the given `MLNHillshadeMethod` enumeration.
+
+ @param hillshadeMethod The value for the new object.
+ @return A new value object that contains the enumeration value.
+ */
++ (instancetype)valueWithMLNHillshadeMethod:(MLNHillshadeMethod)hillshadeMethod;
+
+/**
+ The ``MLNHillshadeMethod`` enumeration representation of the value.
+ */
+@property (readonly) MLNHillshadeMethod MLNHillshadeMethodValue;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapCamera.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapCamera.h
index cc52c83d4..7cc10cf59 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapCamera.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapCamera.h
@@ -26,6 +26,9 @@ MLN_EXPORT
/** Heading measured in degrees clockwise from true north. */
@property (nonatomic) CLLocationDirection heading;
+/** Roll measured in degrees clockwise around the viewing axis. */
+@property (nonatomic) CLLocationDirection roll;
+
/**
Pitch toward the horizon measured in degrees, with 0 degrees resulting in a
two-dimensional map.
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapSnapshotter.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapSnapshotter.h
index ef8352ede..ba405f350 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapSnapshotter.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapSnapshotter.h
@@ -6,7 +6,13 @@
NS_ASSUME_NONNULL_BEGIN
+@class MLNAnnotationImage;
+@class MLNShape;
+@class MLNPolyline;
+@class MLNPolygon;
+
@protocol MLNMapSnapshotterDelegate;
+@protocol MLNAnnotation;
/**
An overlay that is placed within a ``MLNMapSnapshot``.
@@ -79,11 +85,15 @@ MLN_EXPORT
// MARK: - Configuring the Map
/**
- :nodoc:
Whether to include the MapLibre logo. Note this is not required.
*/
@property (nonatomic, readwrite) BOOL showsLogo;
+/**
+ Whether to add attribution from the sources on the snapshots. Enabled by default.
+ */
+@property (nonatomic, readwrite) BOOL showsAttribution;
+
/**
URL of the map style to snapshot.
*/
@@ -245,6 +255,35 @@ MLN_EXPORT
*/
- (instancetype)initWithOptions:(MLNMapSnapshotOptions *)options NS_DESIGNATED_INITIALIZER;
+/**
+ Adds an annotation to the snapshotter.
+
+ > Note: ``MLNMultiPolyline``, ``MLNMultiPolyline``, ``MLNMultiPolyline``, and
+ ``MLNPointCollection`` objects cannot be added to the snapshotter at this time.
+ Any multipoint, multipolyline, multipolygon, shape or point collection
+ object that is specified is silently ignored.
+
+ @param annotation The annotation object to add to the receiver. This object
+ must conform to the ``MLNAnnotation`` protocol. The snapshotter retains the
+ annotation object.
+ */
+- (void)addAnnotation:(id)annotation;
+
+/**
+ Adds an array of annotations to the snapshotter.
+
+ > Note: ``MLNMultiPolyline``, ``MLNMultiPolyline``, and ``MLNMultiPolyline`` objects
+ cannot be added to the snapshotter at this time. Nor can ``MLNMultiPoint``
+ objects that are not instances of ``MLNPolyline`` or ``MLNPolyline``. Any
+ multipoint, multipolyline, multipolygon, or shape collection objects that
+ are specified are silently ignored.
+
+ @param annotations An array of annotation objects. Each object in the array
+ must conform to the ``MLNAnnotation`` protocol. The snapshotter retains each
+ individual annotation object.
+ */
+- (void)addAnnotations:(NSArray> *)annotations;
+
/**
Starts the snapshot creation and executes the specified block with the result.
@@ -363,6 +402,89 @@ MLN_EXPORT
- (void)mapSnapshotter:(MLNMapSnapshotter *)snapshotter didFailLoadingImageNamed:(NSString *)name;
+/**
+ Returns an annotation image object to mark the given point annotation object on
+ the map.
+
+ Implement this method to mark a point annotation with a static image.
+
+ Static annotation images use less memory and draw more quickly than annotation
+ views. On the other hand, annotation views are compatible with UIKit, Core
+ Animation, and other Cocoa Touch frameworks.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The object representing the annotation that is about to be
+ displayed.
+ @return The annotation image object to display for the given annotation or
+ `nil` if you want to display the default marker image or an annotation view.
+*/
+- (nullable MLNAnnotationImage *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ imageForAnnotation:(id)annotation;
+
+/**
+ Returns the alpha value to use when rendering a shape annotation.
+
+ A value of `0.0` results in a completely transparent shape. A value of `1.0`,
+ the default, results in a completely opaque shape.
+
+ This method sets the opacity of an entire shape, inclusive of its stroke and
+ fill. To independently set the values for stroke or fill, specify an alpha
+ component in the color returned by `-mapSnapshotter:strokeColorForShapeAnnotation:` or
+ `-mapSnapshotter:fillColorForPolygonAnnotation:`.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return An alpha value between `0` and `1.0`.
+ */
+- (CGFloat)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ alphaForShapeAnnotation:(MLNShape *)annotation;
+
+/**
+ Returns the color to use when rendering the outline of a shape annotation.
+
+ The default stroke color is MLNColor.whiteColor.
+
+ Opacity may be set by specifying an alpha component. The default alpha value is
+ `1.0` and results in a completely opaque stroke.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return A color to use for the shape outline.
+
+ */
+- (MLNColor *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ strokeColorForShapeAnnotation:(MLNShape *)annotation;
+
+/**
+ Returns the color to use when rendering the fill of a polygon annotation.
+
+ The default fill color is the MLNColor.whiteColor.
+
+ Opacity may be set by specifying an alpha component. The default alpha value is
+ `1.0` and results in a completely opaque shape.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return The polygon’s interior fill color.
+
+ */
+- (MLNColor *)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ fillColorForPolygonAnnotation:(MLNPolygon *)annotation;
+
+/**
+ Returns the line width in points to use when rendering the outline of a
+ polyline annotation.
+
+ By default, the polyline is outlined with a line `3.0` points wide.
+
+ @param snapshotter The snapshotter that has just loaded a style.
+ @param annotation The annotation being rendered.
+ @return A line width for the polyline, measured in points.
+
+ */
+- (CGFloat)mapSnapshotter:(MLNMapSnapshotter *)snapshotter
+ lineWidthForPolylineAnnotation:(MLNPolyline *)annotation;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapView.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapView.h
index 6533c56d3..bf7acae4a 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapView.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapView.h
@@ -532,6 +532,16 @@ MLN_EXPORT
*/
@property (nonatomic, assign) double tileLodZoomShift;
+/**
+ Frustum offset used to disable rendering of elements at the edge of the screen
+
+ Offset applied to camera frustum and scissor rectangle. The camrea frustum is modified
+ to avoid loading geometry that's behind UI elements at the top of the screen. The scissor
+ rectangle is used to avoid shading fragments that are behind UI elements at the edges of
+ the screen. All values are in logical pixels.
+ */
+@property (nonatomic, assign) UIEdgeInsets frustumOffset;
+
// MARK: Displaying the User’s Location
/**
@@ -855,6 +865,15 @@ vertically on the map.
*/
@property (nonatomic, getter=isRotateEnabled) BOOL rotateEnabled;
+/**
+The threshold, measured in degrees, that determines when the map's bearing will snap to north.
+For example, with a toleranceForSnappingToNorth of 7, if the user rotates the map within 7 degrees
+of north, the map will automatically snap to exact north.
+
+ The default value of this property is 7.
+ */
+@property (nonatomic) CGFloat toleranceForSnappingToNorth;
+
/**
A Boolean value that determines whether the user may change the pitch (tilt) of
the map.
@@ -1046,8 +1065,6 @@ vertically on the map.
/**
* The maximum bounds of the map that can be shown on screen.
- *
- * @param MLNCoordinateBounds the bounds to constrain the screen to.
*/
@property (nonatomic) MLNCoordinateBounds maximumScreenBounds;
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapViewDelegate.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapViewDelegate.h
index ec9dd6e54..535058985 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapViewDelegate.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNMapViewDelegate.h
@@ -503,6 +503,17 @@ Called when an error occurs while loading a sprite.
*/
- (void)mapView:(MLNMapView *)mapView spriteDidError:(NSString *)id url:(NSString *)url;
+// MARK: - Renderer
+
+/**
+Called when an error occurs while trying to render a layer or drawable.
+
+@param mapView The ``MLNMapView`` instance invoking this delegate method.
+
+> Warning: This method is not thread-safe.
+*/
+- (void)mapViewRendererDidError:(MLNMapView *)mapView;
+
// MARK: Tracking User Location
/**
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkConfiguration.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkConfiguration.h
index 01c0fee46..19fc298e2 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkConfiguration.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkConfiguration.h
@@ -1,6 +1,7 @@
#import
#import "MLNFoundation.h"
+#import "MLNNetworkResponse.h"
NS_ASSUME_NONNULL_BEGIN
@@ -24,6 +25,11 @@ NS_ASSUME_NONNULL_BEGIN
are not supported at this time.
*/
- (NSURLSession *)sessionForNetworkConfiguration:(MLNNetworkConfiguration *)configuration;
+
+- (NSMutableURLRequest *)willSendRequest:(NSMutableURLRequest *)request;
+
+- (MLNNetworkResponse *)didReceiveResponse:(MLNNetworkResponse *)response;
+
@end
/**
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkResponse.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkResponse.h
new file mode 100644
index 000000000..b425c4540
--- /dev/null
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNNetworkResponse.h
@@ -0,0 +1,19 @@
+#import
+#import "MLNFoundation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+MLN_EXPORT
+@interface MLNNetworkResponse : NSObject
+
+@property (retain, nullable) NSError *error;
+@property (retain, nullable) NSData *data;
+@property (retain, nullable) NSURLResponse *response;
+
++ (MLNNetworkResponse *)responseWithData:(NSData *)data
+ urlResponse:(NSURLResponse *)response
+ error:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNOfflinePack.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNOfflinePack.h
index 567c65e35..f0f7301c0 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNOfflinePack.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNOfflinePack.h
@@ -121,6 +121,18 @@ typedef struct __attribute__((objc_boxable)) MLNOfflinePackProgress {
MLN_EXPORT
@interface MLNOfflinePack : NSObject
+/**
+ The unique identifier of the offline region associated with this pack.
+
+ This identifier is an auto-incrementing value assigned by the offline database
+ when the region is created. It is stable across application launches and can be
+ used to distinguish between different offline packs.
+
+ The value is `nil` for packs that have not yet been saved to the database. In
+ Swift, this property is typed as `NSNumber?`.
+ */
+@property (nonatomic, readonly, nullable) NSNumber *regionId;
+
/**
The region for which the pack manages resources.
*/
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNRasterDEMSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNRasterDEMSource.h
index 5793ca0ed..be6e6cec8 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNRasterDEMSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNRasterDEMSource.h
@@ -10,11 +10,30 @@
The default value for this option is ``MLNDEMEncoding/MLNDEMEncodingMapbox``.
This option cannot be represented in a TileJSON or style JSON file. It is used
- with the ``MLNRasterDEMSource`` class and is ignored when creating an
+ with the ``MLNRasterDEMSource`` class and is ignored when creating a
``MLNRasterTileSource`` or ``MLNRasterTileSource`` object.
*/
FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNTileSourceOptionDEMEncoding;
+/**
+ The encoding formula used to generate the raster tileset
+*/
+
+typedef NS_ENUM(NSUInteger, MLNDEMEncoding) {
+
+ /**
+ Raster tiles generated with the [Mapbox encoding
+ formula](https://docs.mapbox.com/help/troubleshooting/access-elevation-data/#mapbox-terrain-rgb)
+ */
+ MLNDEMEncodingMapbox = 0,
+
+ /**
+ Raster tiles generated with the [Mapzen Terrarium encoding
+ formula](https://aws.amazon.com/public-datasets/terrain/).
+ */
+ MLNDEMEncodingTerrarium = 1,
+};
+
/**
``MLNRasterDEMSource`` is a map content source that supplies rasterized
digital elevation model
@@ -23,8 +42,9 @@ FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNTileSourceOptionDEMEnc
conforms to the
TileJSON specification.
A raster DEM source is added to an ``MLNStyle`` object along with one or more
- ``MLNHillshadeStyleLayer`` objects. Use a hillshade style layer to control the
- appearance of content supplied by the raster DEM source.
+ ``MLNHillshadeStyleLayer`` or ``MLNColorReliefStyleLayer`` objects. Use a hillshade
+ style layer to control the appearance of content supplied by the raster DEM source,
+ or a color relief style layer to render elevation data with a color ramp.
Each
raster-dem
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNScaleBar.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNScaleBar.h
index 6e788cb5d..ad979a3a1 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNScaleBar.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNScaleBar.h
@@ -1,6 +1,9 @@
#import
#import
+#import "MLNFoundation.h"
+
+MLN_EXPORT
@interface MLNScaleBar : UIView
// Sets the scale and redraws the scale bar
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNShapeSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNShapeSource.h
index 2b6188ac8..ef7cbb162 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNShapeSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNShapeSource.h
@@ -163,6 +163,12 @@ FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionSimp
*/
FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionLineDistanceMetrics;
+/**
+ An `NSNumber` object containing a Boolean flag defining whether or not the fetched tiles for the
+ given source should be synchronously updated on the render thread. The default value is `NO`.
+ */
+FOUNDATION_EXTERN MLN_EXPORT const MLNShapeSourceOption MLNShapeSourceOptionSynchronousUpdate;
+
/**
``MLNShapeSource`` is a map content source that supplies vector shapes to be
shown on the map. The shapes may be instances of ``MLNShape`` or ``MLNShape``,
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNSymbolStyleLayer.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
index da14084a2..7184802a5 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNSymbolStyleLayer.h
@@ -1741,8 +1741,10 @@ MLN_EXPORT
`textVariableAnchor`, `textOffset`, and `textRadialOffset`.
```json
+
{ "text-variable-anchor-offset": ["top", [0, 4], "left", [3,0], "bottom", [1,
1]] }
+
```
When the renderer chooses the `top` anchor, `[0, 4]` will be used for
@@ -1784,8 +1786,10 @@ MLN_EXPORT
`textVariableAnchor`, `textOffset`, and `textRadialOffset`.
```json
+
{ "text-variable-anchor-offset": ["top", [0, 4], "left", [3,0], "bottom", [1,
1]] }
+
```
When the renderer chooses the `top` anchor, `[0, 4]` will be used for
@@ -1988,6 +1992,7 @@ MLN_EXPORT
/**
Distance of halo to the icon outline.
+
The unit is in points only for SDF sprites that were created with a blur radius
of 8, multiplied by the display density. I.e., the radius needs to be 16 for
`@2x` sprites, etc.
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNTileSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNTileSource.h
index 9ea6b0bcd..445ad622c 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNTileSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNTileSource.h
@@ -142,25 +142,6 @@ typedef NS_ENUM(NSUInteger, MLNTileCoordinateSystem) {
MLNTileCoordinateSystemTMS
};
-/**
- The encoding formula used to generate the raster-dem tileset
-*/
-
-typedef NS_ENUM(NSUInteger, MLNDEMEncoding) {
-
- /**
- Raster tiles generated with the [Mapbox encoding
- formula](https://docs.mapbox.com/help/troubleshooting/access-elevation-data/#mapbox-terrain-rgb).
- */
- MLNDEMEncodingMapbox = 0,
-
- /**
- Raster tiles generated with the [Mapzen Terrarium encoding
- formula](https://aws.amazon.com/public-datasets/terrain/).
- */
- MLNDEMEncodingTerrarium
-};
-
/**
``MLNTileSource`` is a map content source that supplies map tiles to be shown on
the map. The location of and metadata about the tiles are defined either by an
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNVectorTileSource.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNVectorTileSource.h
index a3c807b49..e120febfd 100644
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNVectorTileSource.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MLNVectorTileSource.h
@@ -4,6 +4,33 @@
NS_ASSUME_NONNULL_BEGIN
+/**
+ An `NSNumber` object containing an unsigned integer that specifies the encoding
+ formula for vector tilesets. The integer corresponds to one of the constants in
+ ``MLNVectorTileSourceEncoding``.
+
+ The default value for this option is
+ ``MLNVectorTileSourceEncoding/MLNVectorTileSourceEncodingMapbox``.
+ */
+FOUNDATION_EXTERN MLN_EXPORT const MLNTileSourceOption MLNVectorTileSourceOptionEncoding;
+
+/**
+ The encoding formula used to generate the raster-dem tileset
+*/
+
+typedef NS_ENUM(NSUInteger, MLNVectorTileSourceEncoding) {
+
+ /**
+ Vector tiles in [MVT format](https://github.com/mapbox/vector-tile-spec).
+ */
+ MLNVectorTileSourceEncodingMapbox = 0,
+
+ /**
+ Vector tiles in [MLT format](https://github.com/maplibre/maplibre-tile-spec).
+ */
+ MLNVectorTileSourceEncodingMLT = 1,
+};
+
/**
``MLNVectorTileSource`` is a map content source that supplies tiled vector data
in Mapbox Vector Tile format
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MapLibre.h b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MapLibre.h
index ddea2c9a0..04ed5c021 100755
--- a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MapLibre.h
+++ b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Headers/MapLibre.h
@@ -1,5 +1,6 @@
#import
#import
+#import
#import
#import
#import
@@ -22,6 +23,7 @@
#import
#import
#import
+#import
#import
#import
#import
@@ -35,6 +37,7 @@
#import
#import
#import
+#import
#import
#import
#import
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Info.plist b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Info.plist
index 9b07ac76f..e2eb32381 100755
Binary files a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Info.plist and b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/Info.plist differ
diff --git a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/MapLibre b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/MapLibre
index 15a908932..11578abf3 100755
Binary files a/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/MapLibre and b/ios/vendor/maplibre/MapLibre.xcframework/ios-arm64_x86_64-simulator/MapLibre.framework/MapLibre differ
diff --git a/pubspec.lock b/pubspec.lock
index e8a5834f3..7aec9c0ee 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -317,10 +317,10 @@ packages:
dependency: "direct main"
description:
name: fl_chart
- sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08"
+ sha256: b938f77d042cbcd822936a7a359a7235bad8bd72070de1f827efc2cc297ac888
url: "https://pub.dev"
source: hosted
- version: "0.69.2"
+ version: "1.2.0"
flutter:
dependency: "direct main"
description: flutter
@@ -641,26 +641,26 @@ packages:
dependency: "direct main"
description:
name: maplibre_gl
- sha256: d9773555ae4ebab94bbc3ae2176b077cfda486ec729eefe01e1613f164cb8410
+ sha256: b676f124a2fcf88c4dafedc7b462155e6396d61ce7af46354b4de11b45c9812f
url: "https://pub.dev"
source: hosted
- version: "0.25.0"
+ version: "0.26.2"
maplibre_gl_platform_interface:
dependency: transitive
description:
name: maplibre_gl_platform_interface
- sha256: bd7de401dea24dd7e8a6f2fa736ddee7dbbee3e24a9027f0afdd619994702047
+ sha256: "1f0ca8a99f03fa9434618ee21f4e42dd615830a7dd973e632b11c73ffec993a8"
url: "https://pub.dev"
source: hosted
- version: "0.25.0"
+ version: "0.26.2"
maplibre_gl_web:
dependency: transitive
description:
name: maplibre_gl_web
- sha256: af0e48bf96e8dd99f8b958a1953126971eb8a0527b9735441d4f24df3913f5a2
+ sha256: bbf022f29ceef26d73f63e584819fbd02fbaf4eb1facf5234206c78936cf8f1c
url: "https://pub.dev"
source: hosted
- version: "0.25.0"
+ version: "0.26.2"
matcher:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 5ce95d123..c16859eab 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -25,6 +25,10 @@ dependencies:
in_app_purchase: ^3.2.3
intl: ^0.20.2
json_annotation: ^4.12.0
+ # Requires MapLibre 6.27.0 exactly — both its podspec and its Package.swift
+ # pin that version. ios/vendor/maplibre vendors that exact xcframework, so
+ # bump the two together: a mismatch fails `pod install` with a version
+ # conflict (and SPM resolution with the same `exact:` constraint).
maplibre_gl: ^0.26.2
package_info_plus: ^10.2.0
path_provider: ^2.1.6
@@ -45,7 +49,7 @@ dev_dependencies:
flutter:
config:
- enable-swift-package-manager: false
+ enable-swift-package-manager: true
uses-material-design: true
generate: true
shaders: