diff --git a/README.md b/README.md
index 0f57517..69d91b7 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,38 @@
-# Siro Project
+# Siro Ecosystem 🚗📦
-Welcome to the Siro project.
+Welcome to **Siro**, a comprehensive suite of applications built to power a modern, scalable, and fully integrated ride-hailing and service delivery ecosystem.
+
+Siro provides specialized solutions for every stakeholder in the transportation and delivery network, ensuring a seamless experience across all touchpoints.
+
+## 📱 Applications Included
+
+The Siro repository is a unified monorepo containing the following core applications:
+
+- **siro_rider**: The customer-facing application. Users can easily book rides, request services, track their driver in real-time, and manage their payments securely.
+- **siro_driver**: The captain/driver application. Provides drivers with ride requests, real-time navigation, earnings tracking, and a built-in wallet system.
+- **siro_admin**: The centralized control panel for system administrators. Monitor active rides, manage drivers and users, adjust pricing algorithms, and view comprehensive analytics.
+- **siro_service**: Dedicated application for specialized service providers within the Siro network, facilitating efficient task management and service fulfillment.
+- **backend**: The robust and scalable backend infrastructure that powers the entire Siro ecosystem, handling real-time socket connections, database operations, and secure API endpoints.
+
+## 🚀 Key Features
+
+* **Real-time Tracking**: Live location updates for riders and drivers powered by precise socket integrations.
+* **Comprehensive Wallet System**: Built-in digital wallet for both users and captains to handle payments, promotional points, and automated cashouts.
+* **Advanced Administrator Control**: Complete oversight over the platform's operations, user base, and financial metrics.
+* **Multi-Service Capability**: Beyond traditional ride-hailing, Siro supports various service requests seamlessly integrated into the ecosystem.
+
+## 🛠 Tech Stack
+
+Siro is built utilizing modern frameworks and tools to ensure high performance and maintainability across both mobile and backend environments.
+- **Frontend App**: Flutter (Dart)
+- **Backend Infrastructure**: Scalable Server Environment
+- **Payment Integration**: Secure, robust handling of dynamic budgets and digital wallets.
+
+## ⚙️ Setup & Deployment
+
+1. Make sure to run `flutter pub get` in each of the app directories to fetch dependencies.
+2. Use the provided `./deploy.sh` script to quickly commit and push your changes to the remote repository.
+
+---
+
+*Built with passion for a seamless transportation experience.*
diff --git a/siro_driver/ios b/siro_driver/ios
deleted file mode 160000
index b3d9fcd..0000000
--- a/siro_driver/ios
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b3d9fcd385161092da675a919217bee83c40cf06
diff --git a/siro_driver/ios/.gitignore b/siro_driver/ios/.gitignore
new file mode 100644
index 0000000..7a7f987
--- /dev/null
+++ b/siro_driver/ios/.gitignore
@@ -0,0 +1,34 @@
+**/dgph
+*.mode1v3
+*.mode2v3
+*.moved-aside
+*.pbxuser
+*.perspectivev3
+**/*sync/
+.sconsign.dblite
+.tags*
+**/.vagrant/
+**/DerivedData/
+Icon?
+**/Pods/
+**/.symlinks/
+profile
+xcuserdata
+**/.generated/
+Flutter/App.framework
+Flutter/Flutter.framework
+Flutter/Flutter.podspec
+Flutter/Generated.xcconfig
+Flutter/ephemeral/
+Flutter/app.flx
+Flutter/app.zip
+Flutter/flutter_assets/
+Flutter/flutter_export_environment.sh
+ServiceDefinitions.json
+Runner/GeneratedPluginRegistrant.*
+
+# Exceptions to above rules.
+!default.mode1v3
+!default.mode2v3
+!default.pbxuser
+!default.perspectivev3
diff --git a/siro_driver/ios/Flutter/AppFrameworkInfo.plist b/siro_driver/ios/Flutter/AppFrameworkInfo.plist
new file mode 100644
index 0000000..391a902
--- /dev/null
+++ b/siro_driver/ios/Flutter/AppFrameworkInfo.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ App
+ CFBundleIdentifier
+ io.flutter.flutter.app
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ App
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+
+
diff --git a/siro_driver/ios/Flutter/Debug.xcconfig b/siro_driver/ios/Flutter/Debug.xcconfig
new file mode 100644
index 0000000..ec97fc6
--- /dev/null
+++ b/siro_driver/ios/Flutter/Debug.xcconfig
@@ -0,0 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
+#include "Generated.xcconfig"
diff --git a/siro_driver/ios/Flutter/Release.xcconfig b/siro_driver/ios/Flutter/Release.xcconfig
new file mode 100644
index 0000000..c4855bf
--- /dev/null
+++ b/siro_driver/ios/Flutter/Release.xcconfig
@@ -0,0 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
+#include "Generated.xcconfig"
diff --git a/siro_driver/ios/Podfile b/siro_driver/ios/Podfile
new file mode 100644
index 0000000..bff061e
--- /dev/null
+++ b/siro_driver/ios/Podfile
@@ -0,0 +1,48 @@
+# 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_modular_headers!
+
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+ target 'RunnerTests' do
+ inherit! :search_paths
+ end
+end
+
+post_install do |installer|
+ 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'
+ # config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
+ end
+ end
+end
diff --git a/siro_driver/ios/Podfile.lock b/siro_driver/ios/Podfile.lock
new file mode 100644
index 0000000..9ee3c93
--- /dev/null
+++ b/siro_driver/ios/Podfile.lock
@@ -0,0 +1,542 @@
+PODS:
+ - AppAuth (2.0.0):
+ - AppAuth/Core (= 2.0.0)
+ - AppAuth/ExternalUserAgent (= 2.0.0)
+ - AppAuth/Core (2.0.0)
+ - AppAuth/ExternalUserAgent (2.0.0):
+ - AppAuth/Core
+ - AppCheckCore (11.2.0):
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/UserDefaults (~> 8.0)
+ - PromisesObjC (~> 2.4)
+ - audio_session (0.0.1):
+ - Flutter
+ - battery_plus (1.0.0):
+ - Flutter
+ - connectivity_plus (0.0.1):
+ - Flutter
+ - device_info_plus (0.0.1):
+ - Flutter
+ - Firebase/Auth (12.9.0):
+ - Firebase/CoreOnly
+ - FirebaseAuth (~> 12.9.0)
+ - Firebase/CoreOnly (12.9.0):
+ - FirebaseCore (~> 12.9.0)
+ - Firebase/Messaging (12.9.0):
+ - Firebase/CoreOnly
+ - FirebaseMessaging (~> 12.9.0)
+ - firebase_auth (6.3.0):
+ - Firebase/Auth (= 12.9.0)
+ - firebase_core
+ - Flutter
+ - firebase_core (4.6.0):
+ - Firebase/CoreOnly (= 12.9.0)
+ - Flutter
+ - firebase_messaging (16.1.3):
+ - Firebase/Messaging (= 12.9.0)
+ - firebase_core
+ - Flutter
+ - FirebaseAppCheckInterop (12.9.0)
+ - FirebaseAuth (12.9.0):
+ - FirebaseAppCheckInterop (~> 12.9.0)
+ - FirebaseAuthInterop (~> 12.9.0)
+ - FirebaseCore (~> 12.9.0)
+ - FirebaseCoreExtension (~> 12.9.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GTMSessionFetcher/Core (< 6.0, >= 3.4)
+ - RecaptchaInterop (~> 101.0)
+ - FirebaseAuthInterop (12.9.0)
+ - FirebaseCore (12.9.0):
+ - FirebaseCoreInternal (~> 12.9.0)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GoogleUtilities/Logger (~> 8.1)
+ - FirebaseCoreExtension (12.9.0):
+ - FirebaseCore (~> 12.9.0)
+ - FirebaseCoreInternal (12.9.0):
+ - "GoogleUtilities/NSData+zlib (~> 8.1)"
+ - FirebaseInstallations (12.9.0):
+ - FirebaseCore (~> 12.9.0)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GoogleUtilities/UserDefaults (~> 8.1)
+ - PromisesObjC (~> 2.4)
+ - FirebaseMessaging (12.9.0):
+ - FirebaseCore (~> 12.9.0)
+ - FirebaseInstallations (~> 12.9.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)
+ - flutter_app_group_directory (0.0.1):
+ - Flutter
+ - flutter_background_service_ios (0.0.3):
+ - Flutter
+ - flutter_contacts (0.0.1):
+ - Flutter
+ - flutter_image_compress_common (1.0.0):
+ - Flutter
+ - Mantle
+ - SDWebImage
+ - SDWebImageWebPCoder
+ - flutter_inappwebview_ios (0.0.1):
+ - Flutter
+ - flutter_inappwebview_ios/Core (= 0.0.1)
+ - OrderedSet (~> 6.0.3)
+ - flutter_inappwebview_ios/Core (0.0.1):
+ - Flutter
+ - OrderedSet (~> 6.0.3)
+ - flutter_local_notifications (0.0.1):
+ - Flutter
+ - flutter_secure_storage_darwin (10.0.0):
+ - Flutter
+ - FlutterMacOS
+ - flutter_tts (0.0.1):
+ - Flutter
+ - flutter_web_browser (0.17.3):
+ - Flutter
+ - flutter_webrtc (1.4.0):
+ - Flutter
+ - WebRTC-SDK (= 144.7559.01)
+ - geolocator_apple (1.2.0):
+ - Flutter
+ - FlutterMacOS
+ - google_sign_in_ios (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - GoogleSignIn (~> 9.0)
+ - GTMSessionFetcher (>= 3.4.0)
+ - GoogleDataTransport (10.1.0):
+ - nanopb (~> 3.30910.0)
+ - PromisesObjC (~> 2.4)
+ - GoogleSignIn (9.1.0):
+ - AppAuth (~> 2.0)
+ - AppCheckCore (~> 11.0)
+ - GTMAppAuth (~> 5.0)
+ - GTMSessionFetcher/Core (~> 3.3)
+ - GoogleUtilities/AppDelegateSwizzler (8.1.0):
+ - GoogleUtilities/Environment
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Network
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Environment (8.1.0):
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Logger (8.1.0):
+ - GoogleUtilities/Environment
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Network (8.1.0):
+ - GoogleUtilities/Logger
+ - "GoogleUtilities/NSData+zlib"
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Reachability
+ - "GoogleUtilities/NSData+zlib (8.1.0)":
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Privacy (8.1.0)
+ - GoogleUtilities/Reachability (8.1.0):
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/UserDefaults (8.1.0):
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Privacy
+ - GTMAppAuth (5.0.0):
+ - AppAuth/Core (~> 2.0)
+ - GTMSessionFetcher/Core (< 4.0, >= 3.3)
+ - GTMSessionFetcher (3.5.0):
+ - GTMSessionFetcher/Full (= 3.5.0)
+ - GTMSessionFetcher/Core (3.5.0)
+ - GTMSessionFetcher/Full (3.5.0):
+ - GTMSessionFetcher/Core
+ - image_cropper (0.0.5):
+ - Flutter
+ - TOCropViewController (~> 3.1.1)
+ - image_picker_ios (0.0.1):
+ - Flutter
+ - IOSSecuritySuite (1.9.11)
+ - jailbreak_root_detection (1.0.1):
+ - Flutter
+ - IOSSecuritySuite (~> 1.9.10)
+ - just_audio (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - libwebp (1.5.0):
+ - libwebp/demux (= 1.5.0)
+ - libwebp/mux (= 1.5.0)
+ - libwebp/sharpyuv (= 1.5.0)
+ - libwebp/webp (= 1.5.0)
+ - libwebp/demux (1.5.0):
+ - libwebp/webp
+ - libwebp/mux (1.5.0):
+ - libwebp/demux
+ - libwebp/sharpyuv (1.5.0)
+ - libwebp/webp (1.5.0):
+ - libwebp/sharpyuv
+ - live_activities (0.0.1):
+ - Flutter
+ - local_auth_darwin (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - location (0.0.1):
+ - Flutter
+ - Mantle (2.2.0):
+ - Mantle/extobjc (= 2.2.0)
+ - Mantle/extobjc (2.2.0)
+ - 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)
+ - OrderedSet (6.0.3)
+ - package_info_plus (0.4.5):
+ - Flutter
+ - permission_handler_apple (9.3.0):
+ - Flutter
+ - PromisesObjC (2.4.0)
+ - quick_actions_ios (0.0.1):
+ - Flutter
+ - RecaptchaInterop (101.0.0)
+ - record_ios (1.2.0):
+ - Flutter
+ - SDWebImage (5.21.7):
+ - SDWebImage/Core (= 5.21.7)
+ - SDWebImage/Core (5.21.7)
+ - SDWebImageWebPCoder (0.15.0):
+ - libwebp (~> 1.0)
+ - SDWebImage/Core (~> 5.17)
+ - share_plus (0.0.1):
+ - Flutter
+ - sign_in_with_apple (0.0.1):
+ - Flutter
+ - sqflite_darwin (0.0.4):
+ - Flutter
+ - FlutterMacOS
+ - Stripe (25.6.4):
+ - StripeApplePay (= 25.6.4)
+ - StripeCore (= 25.6.4)
+ - StripeIssuing (= 25.6.4)
+ - StripePayments (= 25.6.4)
+ - StripePaymentsUI (= 25.6.4)
+ - StripeUICore (= 25.6.4)
+ - stripe_ios (0.0.1):
+ - Flutter
+ - Stripe (~> 25.6.0)
+ - stripe_ios/stripe_ios (= 0.0.1)
+ - stripe_ios/stripe_objc (= 0.0.1)
+ - StripeApplePay (~> 25.6.0)
+ - StripeFinancialConnections (~> 25.6.0)
+ - StripePayments (~> 25.6.0)
+ - StripePaymentSheet (~> 25.6.0)
+ - StripePaymentsUI (~> 25.6.0)
+ - stripe_ios/stripe_ios (0.0.1):
+ - Flutter
+ - Stripe (~> 25.6.0)
+ - stripe_ios/stripe_objc
+ - StripeApplePay (~> 25.6.0)
+ - StripeFinancialConnections (~> 25.6.0)
+ - StripePayments (~> 25.6.0)
+ - StripePaymentSheet (~> 25.6.0)
+ - StripePaymentsUI (~> 25.6.0)
+ - stripe_ios/stripe_objc (0.0.1):
+ - Flutter
+ - Stripe (~> 25.6.0)
+ - StripeApplePay (~> 25.6.0)
+ - StripeFinancialConnections (~> 25.6.0)
+ - StripePayments (~> 25.6.0)
+ - StripePaymentSheet (~> 25.6.0)
+ - StripePaymentsUI (~> 25.6.0)
+ - StripeApplePay (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripeCore (25.6.4)
+ - StripeFinancialConnections (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripeUICore (= 25.6.4)
+ - StripeIssuing (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripePayments (= 25.6.4)
+ - StripePaymentsUI (= 25.6.4)
+ - StripePayments (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripePayments/Stripe3DS2 (= 25.6.4)
+ - StripePayments/Stripe3DS2 (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripePaymentSheet (25.6.4):
+ - StripeApplePay (= 25.6.4)
+ - StripeCore (= 25.6.4)
+ - StripePayments (= 25.6.4)
+ - StripePaymentsUI (= 25.6.4)
+ - StripePaymentsUI (25.6.4):
+ - StripeCore (= 25.6.4)
+ - StripePayments (= 25.6.4)
+ - StripeUICore (= 25.6.4)
+ - StripeUICore (25.6.4):
+ - StripeCore (= 25.6.4)
+ - TOCropViewController (3.1.2)
+ - url_launcher_ios (0.0.1):
+ - Flutter
+ - vibration (3.0.0):
+ - Flutter
+ - video_player_avfoundation (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - wakelock_plus (0.0.1):
+ - Flutter
+ - WebRTC-SDK (144.7559.01)
+ - webview_flutter_wkwebview (0.0.1):
+ - Flutter
+ - FlutterMacOS
+
+DEPENDENCIES:
+ - audio_session (from `.symlinks/plugins/audio_session/ios`)
+ - battery_plus (from `.symlinks/plugins/battery_plus/ios`)
+ - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
+ - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
+ - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
+ - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
+ - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
+ - Flutter (from `Flutter`)
+ - flutter_app_group_directory (from `.symlinks/plugins/flutter_app_group_directory/ios`)
+ - flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
+ - flutter_contacts (from `.symlinks/plugins/flutter_contacts/ios`)
+ - flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
+ - flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
+ - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
+ - flutter_secure_storage_darwin (from `.symlinks/plugins/flutter_secure_storage_darwin/darwin`)
+ - flutter_tts (from `.symlinks/plugins/flutter_tts/ios`)
+ - flutter_web_browser (from `.symlinks/plugins/flutter_web_browser/ios`)
+ - flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
+ - geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`)
+ - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
+ - image_cropper (from `.symlinks/plugins/image_cropper/ios`)
+ - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
+ - jailbreak_root_detection (from `.symlinks/plugins/jailbreak_root_detection/ios`)
+ - just_audio (from `.symlinks/plugins/just_audio/darwin`)
+ - live_activities (from `.symlinks/plugins/live_activities/ios`)
+ - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`)
+ - location (from `.symlinks/plugins/location/ios`)
+ - maplibre_gl (from `.symlinks/plugins/maplibre_gl/ios`)
+ - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
+ - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
+ - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
+ - record_ios (from `.symlinks/plugins/record_ios/ios`)
+ - share_plus (from `.symlinks/plugins/share_plus/ios`)
+ - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`)
+ - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
+ - stripe_ios (from `.symlinks/plugins/stripe_ios/ios`)
+ - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
+ - vibration (from `.symlinks/plugins/vibration/ios`)
+ - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
+ - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
+ - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
+
+SPEC REPOS:
+ trunk:
+ - AppAuth
+ - AppCheckCore
+ - Firebase
+ - FirebaseAppCheckInterop
+ - FirebaseAuth
+ - FirebaseAuthInterop
+ - FirebaseCore
+ - FirebaseCoreExtension
+ - FirebaseCoreInternal
+ - FirebaseInstallations
+ - FirebaseMessaging
+ - GoogleDataTransport
+ - GoogleSignIn
+ - GoogleUtilities
+ - GTMAppAuth
+ - GTMSessionFetcher
+ - IOSSecuritySuite
+ - libwebp
+ - Mantle
+ - MapLibre
+ - nanopb
+ - OrderedSet
+ - PromisesObjC
+ - RecaptchaInterop
+ - SDWebImage
+ - SDWebImageWebPCoder
+ - Stripe
+ - StripeApplePay
+ - StripeCore
+ - StripeFinancialConnections
+ - StripeIssuing
+ - StripePayments
+ - StripePaymentSheet
+ - StripePaymentsUI
+ - StripeUICore
+ - TOCropViewController
+ - WebRTC-SDK
+
+EXTERNAL SOURCES:
+ audio_session:
+ :path: ".symlinks/plugins/audio_session/ios"
+ battery_plus:
+ :path: ".symlinks/plugins/battery_plus/ios"
+ connectivity_plus:
+ :path: ".symlinks/plugins/connectivity_plus/ios"
+ device_info_plus:
+ :path: ".symlinks/plugins/device_info_plus/ios"
+ firebase_auth:
+ :path: ".symlinks/plugins/firebase_auth/ios"
+ firebase_core:
+ :path: ".symlinks/plugins/firebase_core/ios"
+ firebase_messaging:
+ :path: ".symlinks/plugins/firebase_messaging/ios"
+ Flutter:
+ :path: Flutter
+ flutter_app_group_directory:
+ :path: ".symlinks/plugins/flutter_app_group_directory/ios"
+ flutter_background_service_ios:
+ :path: ".symlinks/plugins/flutter_background_service_ios/ios"
+ flutter_contacts:
+ :path: ".symlinks/plugins/flutter_contacts/ios"
+ flutter_image_compress_common:
+ :path: ".symlinks/plugins/flutter_image_compress_common/ios"
+ flutter_inappwebview_ios:
+ :path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
+ flutter_local_notifications:
+ :path: ".symlinks/plugins/flutter_local_notifications/ios"
+ flutter_secure_storage_darwin:
+ :path: ".symlinks/plugins/flutter_secure_storage_darwin/darwin"
+ flutter_tts:
+ :path: ".symlinks/plugins/flutter_tts/ios"
+ flutter_web_browser:
+ :path: ".symlinks/plugins/flutter_web_browser/ios"
+ flutter_webrtc:
+ :path: ".symlinks/plugins/flutter_webrtc/ios"
+ geolocator_apple:
+ :path: ".symlinks/plugins/geolocator_apple/darwin"
+ google_sign_in_ios:
+ :path: ".symlinks/plugins/google_sign_in_ios/darwin"
+ image_cropper:
+ :path: ".symlinks/plugins/image_cropper/ios"
+ image_picker_ios:
+ :path: ".symlinks/plugins/image_picker_ios/ios"
+ jailbreak_root_detection:
+ :path: ".symlinks/plugins/jailbreak_root_detection/ios"
+ just_audio:
+ :path: ".symlinks/plugins/just_audio/darwin"
+ live_activities:
+ :path: ".symlinks/plugins/live_activities/ios"
+ local_auth_darwin:
+ :path: ".symlinks/plugins/local_auth_darwin/darwin"
+ location:
+ :path: ".symlinks/plugins/location/ios"
+ maplibre_gl:
+ :path: ".symlinks/plugins/maplibre_gl/ios"
+ package_info_plus:
+ :path: ".symlinks/plugins/package_info_plus/ios"
+ permission_handler_apple:
+ :path: ".symlinks/plugins/permission_handler_apple/ios"
+ quick_actions_ios:
+ :path: ".symlinks/plugins/quick_actions_ios/ios"
+ record_ios:
+ :path: ".symlinks/plugins/record_ios/ios"
+ share_plus:
+ :path: ".symlinks/plugins/share_plus/ios"
+ sign_in_with_apple:
+ :path: ".symlinks/plugins/sign_in_with_apple/ios"
+ sqflite_darwin:
+ :path: ".symlinks/plugins/sqflite_darwin/darwin"
+ stripe_ios:
+ :path: ".symlinks/plugins/stripe_ios/ios"
+ url_launcher_ios:
+ :path: ".symlinks/plugins/url_launcher_ios/ios"
+ vibration:
+ :path: ".symlinks/plugins/vibration/ios"
+ video_player_avfoundation:
+ :path: ".symlinks/plugins/video_player_avfoundation/darwin"
+ wakelock_plus:
+ :path: ".symlinks/plugins/wakelock_plus/ios"
+ webview_flutter_wkwebview:
+ :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
+
+SPEC CHECKSUMS:
+ AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063
+ AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
+ audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
+ battery_plus: b42253f6d2dde71712f8c36fef456d99121c5977
+ connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd
+ device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
+ Firebase: 065f2bb395062046623036d8e6dc857bc2521d56
+ firebase_auth: 323c64eedef33fc3fdf438d16c29d2624b2ce4f4
+ firebase_core: 8e6f58412ca227827c366b92e7cee047a2148c60
+ firebase_messaging: c3aa897e0d40109cfb7927c40dc0dea799863f3b
+ FirebaseAppCheckInterop: 4bade10286cc977e516f75d2d8312cbdfa534789
+ FirebaseAuth: 3a39f6436c21ebfd7919b698228b4f89ff94c23b
+ FirebaseAuthInterop: f8f6ff72dc24621906497fbe5cf3c42ee815e59c
+ FirebaseCore: 428912f751178b06bef0a1793effeb4a5e09a9b8
+ FirebaseCoreExtension: e911052d59cd0da237a45d706fc0f81654f035c1
+ FirebaseCoreInternal: b321eafae5362113bc182956fafc9922cfc77b72
+ FirebaseInstallations: 7b64ffd006032b2b019a59b803858df5112d9eaa
+ FirebaseMessaging: 7d6cdbff969127c4151c824fe432f0e301210f15
+ Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
+ flutter_app_group_directory: 55b5362007d1c0cb45dc1dd1e94f67d615f45a6b
+ flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e
+ flutter_contacts: 5383945387e7ca37cf963d4be57c21f2fc15ca9f
+ flutter_image_compress_common: 1697a328fd72bfb335507c6bca1a65fa5ad87df1
+ flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
+ flutter_local_notifications: 643a3eda1ce1c0599413ca31672536d423dee214
+ flutter_secure_storage_darwin: acdb3f316ed05a3e68f856e0353b133eec373a23
+ flutter_tts: 35ac3c7d42412733e795ea96ad2d7e05d0a75113
+ flutter_web_browser: 68b27d2c4773b059cef19e12c890cb204518d3c3
+ flutter_webrtc: ec91d94b484ad49cf191ef93413f64a40ffd3b4c
+ geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
+ google_sign_in_ios: 000870aa06da9b28d1d0bf7ef70ff0213059dd28
+ GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
+ GoogleSignIn: fcee2257188d5eda57a5e2b6a715550ffff9206d
+ GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
+ GTMAppAuth: 217a876b249c3c585a54fd6f73e6b58c4f5c4238
+ GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
+ image_cropper: e405d3e44183f8e8edbec2e49b01ff9c819c7ac8
+ image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
+ IOSSecuritySuite: b51056d5411aee567153ca86ce7f6edfdc5d2654
+ jailbreak_root_detection: 9201e1dfd51dc23069cbfb8d4f4a2d18305170bf
+ just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
+ libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
+ live_activities: 4dfa736d0736e1c77866a2f9c056a76513cc9e7b
+ local_auth_darwin: c3ee6cce0a8d56be34c8ccb66ba31f7f180aaebb
+ location: 155caecf9da4f280ab5fe4a55f94ceccfab838f8
+ Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
+ MapLibre: 7f24faba45439f80ccb0f83393c29fa32cb81952
+ maplibre_gl: a2114567cbd1065866614fbd34dfb75ab782aaa2
+ nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
+ OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
+ package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
+ permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
+ PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
+ quick_actions_ios: 500fcc11711d9f646739093395c4ae8eec25f779
+ RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba
+ record_ios: 412daca2350b228e698fffcd08f1f94ceb1e3844
+ SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf
+ SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377
+ share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
+ sign_in_with_apple: c5dcc141574c8c54d5ac99dd2163c0c72ad22418
+ sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
+ Stripe: 7cb1009980324c6c16b6a4af5843b8ef54549065
+ stripe_ios: eebee52319de946cc0da2d6ddc98a89b04cec95e
+ StripeApplePay: 91000b0927f53c58a2a1f829a4ee246d508bd1c4
+ StripeCore: f6ca805768a7807ec014c0523cd99a3d16d21d6b
+ StripeFinancialConnections: 2cb9bc81468599d1b4b41178f49879a65c8ac52e
+ StripeIssuing: 7ffde774af77d713aff204858fcf765eeb3677d3
+ StripePayments: 4de3976a0d5f626cfc8ad4e010aff1cbda8dc1e5
+ StripePaymentSheet: 29443db7e8635e2d3a00758f1ecebbb17a24ff19
+ StripePaymentsUI: 37551e684263db449368ccac27438947e1b45f84
+ StripeUICore: f1e43a68ab1e1428f8738df821eb64efac1d871a
+ TOCropViewController: a916930c465b5d9445a74d95e0c0da931771b4df
+ url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
+ vibration: ca8104a8875b9c493e15b21b04e456befd0ff6eb
+ video_player_avfoundation: dd410b52df6d2466a42d28550e33e4146928280a
+ wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
+ WebRTC-SDK: ab9b5319e458c2bfebdc92b3600740da35d5630d
+ webview_flutter_wkwebview: 8ebf4fded22593026f7dbff1fbff31ea98573c8d
+
+PODFILE CHECKSUM: d5cc456343636170778b0bcb448cd4e9f40d8e6f
+
+COCOAPODS: 1.16.2
diff --git a/siro_driver/ios/README.md b/siro_driver/ios/README.md
new file mode 100644
index 0000000..94f66f3
--- /dev/null
+++ b/siro_driver/ios/README.md
@@ -0,0 +1 @@
+# intaleq-driver
diff --git a/siro_driver/ios/Runner.xcodeproj/project.pbxproj b/siro_driver/ios/Runner.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..7790da1
--- /dev/null
+++ b/siro_driver/ios/Runner.xcodeproj/project.pbxproj
@@ -0,0 +1,778 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+ 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
+ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
+ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
+ 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+ 97FFC0E3F6ED9DE482A911F9 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E837B3D2243DF7DD4E4580F /* Pods_Runner.framework */; };
+ 982237415CE12B509DF5B4ED /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30FB12AB7B0796A93BE748B0 /* Pods_RunnerTests.framework */; };
+ C68143682E343ABC00901D9F /* JailbreakDetection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C68143672E343ABC00901D9F /* JailbreakDetection.swift */; };
+ C681436A2E343AE700901D9F /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C68143692E343AE700901D9F /* Constants.swift */; };
+ C681436F2E343C4C00901D9F /* SecurityChecks.m in Sources */ = {isa = PBXBuildFile; fileRef = C681436E2E343C4C00901D9F /* SecurityChecks.m */; };
+ C6AC3CBE2E36C87F00614843 /* Config.plist in Resources */ = {isa = PBXBuildFile; fileRef = C6AC3CBD2E36C87F00614843 /* Config.plist */; };
+ CB82E4D132BD3B246D9B13C5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4B02C53E5321AAE5DCD2EBE9 /* GoogleService-Info.plist */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 97C146E61CF9000F007C117D /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 97C146ED1CF9000F007C117D;
+ remoteInfo = Runner;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
+ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
+ 1E837B3D2243DF7DD4E4580F /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 30FB12AB7B0796A93BE748B0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 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; };
+ 3AB73A17478F7A8CDEBF155B /* 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 = ""; };
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
+ 3BD1563DAF2FE1050D8F5FB4 /* 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 = ""; };
+ 4B02C53E5321AAE5DCD2EBE9 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; };
+ 5568D6A57AF507D2D1664B2F /* 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 = ""; };
+ 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
+ 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
+ 8788CCFC594357A3F6578EA4 /* 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 = ""; };
+ 88463B58C5E91CEF8C96E9F0 /* 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 = ""; };
+ 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
+ 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
+ 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 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 = ""; };
+ A9AFBACCAFC2A0A6E6A5D66E /* 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 = ""; };
+ C68143662E342FA600901D9F /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; };
+ C68143672E343ABC00901D9F /* JailbreakDetection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JailbreakDetection.swift; sourceTree = ""; };
+ C68143692E343AE700901D9F /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; };
+ C681436B2E343BA600901D9F /* SecurityChecks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SecurityChecks.h; sourceTree = ""; };
+ C681436E2E343C4C00901D9F /* SecurityChecks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SecurityChecks.m; sourceTree = ""; };
+ C6AC3CBD2E36C87F00614843 /* Config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Config.plist; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 97C146EB1CF9000F007C117D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 97FFC0E3F6ED9DE482A911F9 /* Pods_Runner.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BC22CD0220D2E219AEC87B56 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 982237415CE12B509DF5B4ED /* Pods_RunnerTests.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 08732C80D7D3819679122DFB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 88463B58C5E91CEF8C96E9F0 /* Pods-Runner.debug.xcconfig */,
+ A9AFBACCAFC2A0A6E6A5D66E /* Pods-Runner.release.xcconfig */,
+ 3AB73A17478F7A8CDEBF155B /* Pods-Runner.profile.xcconfig */,
+ 5568D6A57AF507D2D1664B2F /* Pods-RunnerTests.debug.xcconfig */,
+ 3BD1563DAF2FE1050D8F5FB4 /* Pods-RunnerTests.release.xcconfig */,
+ 8788CCFC594357A3F6578EA4 /* Pods-RunnerTests.profile.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+ 331C8082294A63A400263BE5 /* RunnerTests */ = {
+ isa = PBXGroup;
+ children = (
+ 331C807B294A618700263BE5 /* RunnerTests.swift */,
+ );
+ path = RunnerTests;
+ sourceTree = "";
+ };
+ 67687A1C1F41FE82B7CCB370 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1E837B3D2243DF7DD4E4580F /* Pods_Runner.framework */,
+ 30FB12AB7B0796A93BE748B0 /* Pods_RunnerTests.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 9740EEB11CF90186004384FC /* Flutter */ = {
+ isa = PBXGroup;
+ children = (
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
+ 9740EEB21CF90195004384FC /* Debug.xcconfig */,
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
+ 9740EEB31CF90195004384FC /* Generated.xcconfig */,
+ );
+ name = Flutter;
+ sourceTree = "";
+ };
+ 97C146E51CF9000F007C117D = {
+ isa = PBXGroup;
+ children = (
+ 9740EEB11CF90186004384FC /* Flutter */,
+ 97C146F01CF9000F007C117D /* Runner */,
+ 97C146EF1CF9000F007C117D /* Products */,
+ 331C8082294A63A400263BE5 /* RunnerTests */,
+ 4B02C53E5321AAE5DCD2EBE9 /* GoogleService-Info.plist */,
+ 08732C80D7D3819679122DFB /* Pods */,
+ 67687A1C1F41FE82B7CCB370 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ 97C146EF1CF9000F007C117D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 97C146EE1CF9000F007C117D /* Runner.app */,
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 97C146F01CF9000F007C117D /* Runner */ = {
+ isa = PBXGroup;
+ children = (
+ C68143662E342FA600901D9F /* Runner.entitlements */,
+ 97C146FA1CF9000F007C117D /* Main.storyboard */,
+ 97C146FD1CF9000F007C117D /* Assets.xcassets */,
+ 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
+ 97C147021CF9000F007C117D /* Info.plist */,
+ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
+ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
+ 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
+ 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
+ C68143672E343ABC00901D9F /* JailbreakDetection.swift */,
+ C68143692E343AE700901D9F /* Constants.swift */,
+ C681436B2E343BA600901D9F /* SecurityChecks.h */,
+ C681436E2E343C4C00901D9F /* SecurityChecks.m */,
+ C6AC3CBD2E36C87F00614843 /* Config.plist */,
+ );
+ path = Runner;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 331C8080294A63A400263BE5 /* RunnerTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
+ buildPhases = (
+ 5CF14E96E9F741F5A71480D4 /* [CP] Check Pods Manifest.lock */,
+ 331C807D294A63A400263BE5 /* Sources */,
+ 331C807F294A63A400263BE5 /* Resources */,
+ BC22CD0220D2E219AEC87B56 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */,
+ );
+ name = RunnerTests;
+ productName = RunnerTests;
+ productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 97C146ED1CF9000F007C117D /* Runner */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
+ buildPhases = (
+ EA940B940A187D77EB8F0D5E /* [CP] Check Pods Manifest.lock */,
+ 9740EEB61CF901F6004384FC /* Run Script */,
+ 97C146EA1CF9000F007C117D /* Sources */,
+ 97C146EB1CF9000F007C117D /* Frameworks */,
+ 97C146EC1CF9000F007C117D /* Resources */,
+ 9705A1C41CF9048500538489 /* Embed Frameworks */,
+ 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ BA8B63AF5A0E345284009AAA /* [CP] Embed Pods Frameworks */,
+ 196F83012B44840840FB3E09 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Runner;
+ productName = Runner;
+ productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 97C146E61CF9000F007C117D /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = YES;
+ LastUpgradeCheck = 1510;
+ ORGANIZATIONNAME = "";
+ TargetAttributes = {
+ 331C8080294A63A400263BE5 = {
+ CreatedOnToolsVersion = 14.0;
+ TestTargetID = 97C146ED1CF9000F007C117D;
+ };
+ 97C146ED1CF9000F007C117D = {
+ CreatedOnToolsVersion = 7.3.1;
+ LastSwiftMigration = 1100;
+ };
+ };
+ };
+ buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 97C146E51CF9000F007C117D;
+ productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 97C146ED1CF9000F007C117D /* Runner */,
+ 331C8080294A63A400263BE5 /* RunnerTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 331C807F294A63A400263BE5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 97C146EC1CF9000F007C117D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
+ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
+ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
+ C6AC3CBE2E36C87F00614843 /* Config.plist in Resources */,
+ CB82E4D132BD3B246D9B13C5 /* GoogleService-Info.plist in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 196F83012B44840840FB3E09 /* [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;
+ };
+ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
+ );
+ name = "Thin Binary";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
+ };
+ 5CF14E96E9F741F5A71480D4 /* [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;
+ };
+ 9740EEB61CF901F6004384FC /* Run Script */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Run Script";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
+ };
+ BA8B63AF5A0E345284009AAA /* [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;
+ };
+ EA940B940A187D77EB8F0D5E /* [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;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 331C807D294A63A400263BE5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 97C146EA1CF9000F007C117D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C68143682E343ABC00901D9F /* JailbreakDetection.swift in Sources */,
+ C681436F2E343C4C00901D9F /* SecurityChecks.m in Sources */,
+ 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
+ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
+ C681436A2E343AE700901D9F /* Constants.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 97C146ED1CF9000F007C117D /* Runner */;
+ targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 97C146FB1CF9000F007C117D /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 97C147001CF9000F007C117D /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 249021D3217E4FDB00AE95B9 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ SUPPORTED_PLATFORMS = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Profile;
+ };
+ 249021D4217E4FDB00AE95B9 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ DEVELOPMENT_TEAM = 63CVT8G5P8;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.intaleq-driver";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Profile;
+ };
+ 331C8088294A63A400263BE5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 5568D6A57AF507D2D1664B2F /* Pods-RunnerTests.debug.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.example.intaleqDriver.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Debug;
+ };
+ 331C8089294A63A400263BE5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3BD1563DAF2FE1050D8F5FB4 /* Pods-RunnerTests.release.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.example.intaleqDriver.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Release;
+ };
+ 331C808A294A63A400263BE5 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 8788CCFC594357A3F6578EA4 /* Pods-RunnerTests.profile.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = com.example.intaleqDriver.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Profile;
+ };
+ 97C147031CF9000F007C117D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 97C147041CF9000F007C117D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ SUPPORTED_PLATFORMS = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 97C147061CF9000F007C117D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ DEVELOPMENT_TEAM = 63CVT8G5P8;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.intaleq-driver";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 97C147071CF9000F007C117D /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ DEVELOPMENT_TEAM = 63CVT8G5P8;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.intaleq-driver";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 331C8088294A63A400263BE5 /* Debug */,
+ 331C8089294A63A400263BE5 /* Release */,
+ 331C808A294A63A400263BE5 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 97C147031CF9000F007C117D /* Debug */,
+ 97C147041CF9000F007C117D /* Release */,
+ 249021D3217E4FDB00AE95B9 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 97C147061CF9000F007C117D /* Debug */,
+ 97C147071CF9000F007C117D /* Release */,
+ 249021D4217E4FDB00AE95B9 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 97C146E61CF9000F007C117D /* Project object */;
+}
diff --git a/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/siro_driver/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+
+
+
+
+ PreviewsEnabled
+
+
+
diff --git a/siro_driver/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/siro_driver/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
new file mode 100644
index 0000000..e3773d4
--- /dev/null
+++ b/siro_driver/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/siro_driver/ios/Runner.xcworkspace/contents.xcworkspacedata b/siro_driver/ios/Runner.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..21a3cc1
--- /dev/null
+++ b/siro_driver/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/siro_driver/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/siro_driver/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/siro_driver/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/siro_driver/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/siro_driver/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/siro_driver/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+
+
+
+
+ PreviewsEnabled
+
+
+
diff --git a/siro_driver/ios/Runner/AppDelegate.swift b/siro_driver/ios/Runner/AppDelegate.swift
new file mode 100644
index 0000000..9e54888
--- /dev/null
+++ b/siro_driver/ios/Runner/AppDelegate.swift
@@ -0,0 +1,145 @@
+import UIKit
+import Flutter
+import FirebaseCore
+
+import CoreLocation
+
+@main
+@objc class AppDelegate: FlutterAppDelegate {
+
+ let locationManager = CLLocationManager()
+
+ override func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
+ ) -> Bool {
+
+
+
+ // Now continue with the rest of the app initialization.
+ FirebaseApp.configure()
+ GeneratedPluginRegistrant.register(with: self)
+
+ // التأكد من أن الجهاز غير مخترق قبل تشغيل التطبيق
+ if SecurityChecks.isDeviceCompromised() {
+ showSecurityAlert()
+ return false
+ }
+
+ // تهيئة قنوات الاتصال مع Flutter
+ setupMethodChannel()
+
+ // ضبط مدير الموقع لمتابعة تغييرات الأذونات
+ locationManager.delegate = self
+ locationManager.requestWhenInUseAuthorization()
+
+ return super.application(application, didFinishLaunchingWithOptions: launchOptions)
+ }
+
+ // MARK: - تهيئة القناة بين Swift و Flutter
+ func setupMethodChannel() {
+ guard let controller = window?.rootViewController as? FlutterViewController else {
+ return
+ }
+
+ let channel = FlutterMethodChannel(name: "com.siro.siro_driver/security",
+ binaryMessenger: controller.binaryMessenger)
+ channel.setMethodCallHandler { call, result in
+ switch call.method {
+ case "isNativeRooted":
+ result(SecurityChecks.isDeviceCompromised())
+ default:
+ result(FlutterMethodNotImplemented)
+ }
+ }
+ }
+
+ // MARK: - عرض تنبيه عند اكتشاف جهاز مخترق
+ func showSecurityAlert() {
+ guard let rootVC = UIApplication.shared.keyWindow?.rootViewController else {
+ exit(0)
+ }
+
+ let alert = UIAlertController(
+ title: "Security Warning".localized,
+ message: "Compromised device detected. Exiting.".localized,
+ preferredStyle: .alert
+ )
+
+ alert.addAction(UIAlertAction(title: "OK".localized, style: .destructive) { _ in
+ self.obfuscatedExit()
+ })
+
+ if #available(iOS 15.0, *) {
+ alert.popoverPresentationController?.sourceView = rootVC.view
+ alert.popoverPresentationController?.sourceRect = CGRect(x: rootVC.view.bounds.midX, y: rootVC.view.bounds.midY, width: 0, height: 0)
+ alert.popoverPresentationController?.permittedArrowDirections = []
+ alert.presentationController?.delegate = self
+
+ if let presentationController = alert.presentationController as? UISheetPresentationController {
+ presentationController.detents = [.medium()]
+ presentationController.preferredCornerRadius = 20
+ presentationController.prefersEdgeAttachedInCompactHeight = true
+ presentationController.prefersGrabberVisible = false
+ }
+ }
+
+ rootVC.present(alert, animated: true, completion: nil)
+ }
+
+ // MARK: - إخفاء عملية الخروج بطريقة مشفرة
+ func obfuscatedExit() {
+ let selector = NSSelectorFromString(String(format: "%@%@", "ex", "it:"))
+ if responds(to: selector) {
+ perform(selector, with: 0)
+ }
+ }
+
+
+}
+
+// MARK: - التعامل مع أذونات الموقع بطريقة آمنة
+extension AppDelegate: CLLocationManagerDelegate {
+ func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
+ if #available(iOS 14.0, *) {
+ let status = manager.authorizationStatus
+ switch status {
+ case .authorizedWhenInUse, .authorizedAlways:
+ print("Authorization granted")
+ case .denied, .restricted:
+ print("Authorization denied")
+ case .notDetermined:
+ manager.requestWhenInUseAuthorization()
+ @unknown default:
+ break
+ }
+ } else {
+ // لنظام iOS 13 وما قبله، نستخدم الطريقة القديمة
+ let status = CLLocationManager.authorizationStatus()
+ switch status {
+ case .authorizedWhenInUse, .authorizedAlways:
+ print("Authorization granted")
+ case .denied, .restricted:
+ print("Authorization denied")
+ case .notDetermined:
+ manager.requestWhenInUseAuthorization()
+ @unknown default:
+ break
+ }
+ }
+ }
+}
+
+// MARK: - منع إغلاق التنبيهات الأمنية
+extension AppDelegate: UIAdaptivePresentationControllerDelegate {
+ func presentationControllerShouldDismiss(_ presentationController: UIPresentationController) -> Bool {
+ return false
+ }
+}
+
+// MARK: - دعم الترجمة للنصوص
+extension String {
+ var localized: String {
+ return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
+ }
+}
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
new file mode 100644
index 0000000..ab72d10
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
new file mode 100644
index 0000000..c9417c1
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
new file mode 100644
index 0000000..9ba42fe
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
new file mode 100644
index 0000000..6697c04
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png
new file mode 100644
index 0000000..d722206
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
new file mode 100644
index 0000000..1769fed
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
new file mode 100644
index 0000000..ab65536
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png
new file mode 100644
index 0000000..d7d286f
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
new file mode 100644
index 0000000..62616ad
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
new file mode 100644
index 0000000..211f5d4
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
new file mode 100644
index 0000000..fdbc237
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png
new file mode 100644
index 0000000..2ccbcd9
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
new file mode 100644
index 0000000..64d5a43
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png
new file mode 100644
index 0000000..f080356
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
new file mode 100644
index 0000000..417944d
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
new file mode 100644
index 0000000..ce44407
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png
new file mode 100644
index 0000000..630dffd
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
new file mode 100644
index 0000000..38d001b
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
new file mode 100644
index 0000000..86eec95
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
new file mode 100644
index 0000000..52b37ec
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png
new file mode 100644
index 0000000..de1d829
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
new file mode 100644
index 0000000..12200c1
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
new file mode 100644
index 0000000..9336a6a
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
new file mode 100644
index 0000000..3d9ae6f
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
new file mode 100644
index 0000000..934d30c
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..5c82812
--- /dev/null
+++ b/siro_driver/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]}
\ No newline at end of file
diff --git a/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
new file mode 100644
index 0000000..0bedcf2
--- /dev/null
+++ b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "LaunchImage.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "LaunchImage@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "LaunchImage@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
new file mode 100644
index 0000000..9da19ea
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
new file mode 100644
index 0000000..9da19ea
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
new file mode 100644
index 0000000..9da19ea
Binary files /dev/null and b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ
diff --git a/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
new file mode 100644
index 0000000..89c2725
--- /dev/null
+++ b/siro_driver/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
@@ -0,0 +1,5 @@
+# Launch Screen Assets
+
+You can customize the launch screen with your own desired assets by replacing the image files in this directory.
+
+You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
diff --git a/siro_driver/ios/Runner/Base.lproj/LaunchScreen.storyboard b/siro_driver/ios/Runner/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000..f2e259c
--- /dev/null
+++ b/siro_driver/ios/Runner/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/siro_driver/ios/Runner/Base.lproj/Main.storyboard b/siro_driver/ios/Runner/Base.lproj/Main.storyboard
new file mode 100644
index 0000000..f3c2851
--- /dev/null
+++ b/siro_driver/ios/Runner/Base.lproj/Main.storyboard
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/siro_driver/ios/Runner/Constants.swift b/siro_driver/ios/Runner/Constants.swift
new file mode 100644
index 0000000..eace5da
--- /dev/null
+++ b/siro_driver/ios/Runner/Constants.swift
@@ -0,0 +1,13 @@
+//
+// Constants.swift
+// Runner
+//
+// Created by Hamza Aleghwairyeen on 26/07/2025.
+//
+
+import Foundation
+
+
+struct Constants {
+ static let googleMapsAPIKey = "AIzaSyDzGO9a-1IDMLD2FxhmOO9ONL1gMssFa9g"
+}
diff --git a/siro_driver/ios/Runner/GoogleService-Info.plist b/siro_driver/ios/Runner/GoogleService-Info.plist
new file mode 100644
index 0000000..67bca40
--- /dev/null
+++ b/siro_driver/ios/Runner/GoogleService-Info.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ API_KEY
+ AIzaSyDk6x6KZUY0IQtxoCMXX0F7N_yik8O19eA
+ GCM_SENDER_ID
+ 825988584191
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.siro.driver
+ PROJECT_ID
+ siro-a6957
+ STORAGE_BUCKET
+ siro-a6957.firebasestorage.app
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:825988584191:ios:4002b88e618f0c4e1632ca
+
+
\ No newline at end of file
diff --git a/siro_driver/ios/Runner/Info.plist b/siro_driver/ios/Runner/Info.plist
new file mode 100644
index 0000000..07b06c6
--- /dev/null
+++ b/siro_driver/ios/Runner/Info.plist
@@ -0,0 +1,110 @@
+
+
+
+
+ BGTaskSchedulerPermittedIdentifiers
+
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+
+ CADisableMinimumFrameDurationOnPhone
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ Siro Driver
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleGetInfoString
+
+ CFBundleIconFile
+
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ siro_driver
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0.133
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 33
+ FirebaseAppDelegateProxyEnabled
+ NO
+ GMSApiKey
+ YOUR_API_KEY
+ LSApplicationCategoryType
+
+ LSApplicationQueriesSchemes
+
+ googlechromes
+ comgooglemaps
+
+ LSMinimumSystemVersion
+ 12.0
+ LSRequiresIPhoneOS
+
+ NSBonjourServices
+
+ _dartVmService._tcp
+ _dartobservatory._tcp
+
+ NSCameraUsageDescription
+ This app requires access to your camera in order to scan QR codes and capture images
+ for uploading and access to connect to a call.
+ NSContactsUsageDescription
+ This app requires contacts access to function properly.
+ NSFaceIDUsageDescription
+ Use Face ID to securely authenticate payment accounts.
+ NSHumanReadableCopyright
+
+ NSLocalNetworkUsageDescription
+ Allow debugging over the local network.
+ NSLocationAlwaysAndWhenInUseUsageDescription
+ This app needs access to your location to provide you with the best ride experience.
+ Your location data will be used to find the nearest available cars and connect you with
+ the closest captain for efficient and convenient rides.
+ NSLocationAlwaysUsageDescription
+ This app needs access to location.
+ NSLocationWhenInUseUsageDescription
+ This app needs access to your location to provide you with the best ride experience.
+ Your location data will be used to find the nearest available cars and connect you with
+ the closest captain for efficient and convenient rides.
+ NSMicrophoneUsageDescription
+ This app requires access to your microphone to record audio, allowing you to add
+ voice recordings to your photos and videos and access to connect to a call.
+ NSPhotoLibraryUsageDescription
+ This app needs access to your photo library to allow you to upload and manage
+ images.
+ UIApplicationSupportsIndirectInputEvents
+
+ UIBackgroundModes
+
+ fetch
+ location
+ remote-notification
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+
+
diff --git a/siro_driver/ios/Runner/JailbreakDetection.swift b/siro_driver/ios/Runner/JailbreakDetection.swift
new file mode 100644
index 0000000..82a248b
--- /dev/null
+++ b/siro_driver/ios/Runner/JailbreakDetection.swift
@@ -0,0 +1,27 @@
+//
+// JailbreakDetection.swift
+// Runner
+//
+// Created by Hamza Aleghwairyeen on 26/07/2025.
+//
+
+
+
+import Foundation
+
+class JailbreakDetection {
+ static func isJailbroken() -> Bool {
+ let paths = [
+ "/Applications/Cydia.app",
+ "/Library/MobileSubstrate/MobileSubstrate.dylib",
+ "/usr/sbin/sshd",
+ "/etc/apt"
+ ]
+ for path in paths {
+ if FileManager.default.fileExists(atPath: path) {
+ return true
+ }
+ }
+ return false
+ }
+}
diff --git a/siro_driver/ios/Runner/Runner-Bridging-Header.h b/siro_driver/ios/Runner/Runner-Bridging-Header.h
new file mode 100644
index 0000000..2dd4564
--- /dev/null
+++ b/siro_driver/ios/Runner/Runner-Bridging-Header.h
@@ -0,0 +1,2 @@
+#import "GeneratedPluginRegistrant.h"
+#import "SecurityChecks.h"
diff --git a/siro_driver/ios/Runner/Runner.entitlements b/siro_driver/ios/Runner/Runner.entitlements
new file mode 100644
index 0000000..903def2
--- /dev/null
+++ b/siro_driver/ios/Runner/Runner.entitlements
@@ -0,0 +1,8 @@
+
+
+
+
+ aps-environment
+ development
+
+
diff --git a/siro_driver/ios/Runner/SecurityChecks.h b/siro_driver/ios/Runner/SecurityChecks.h
new file mode 100644
index 0000000..f9e41ca
--- /dev/null
+++ b/siro_driver/ios/Runner/SecurityChecks.h
@@ -0,0 +1,20 @@
+//
+// SecurityChecks.h
+// Runner
+//
+// Created by Hamza Aleghwairyeen on 26/07/2025.
+//
+
+#ifndef SecurityChecks_h
+#define SecurityChecks_h
+
+
+#endif /* SecurityChecks_h */
+#import
+#import // Import UIKit
+
+@interface SecurityChecks : NSObject
+
++ (BOOL)isDeviceCompromised; // Combined check
+
+@end
diff --git a/siro_driver/ios/Runner/SecurityChecks.m b/siro_driver/ios/Runner/SecurityChecks.m
new file mode 100644
index 0000000..b76a711
--- /dev/null
+++ b/siro_driver/ios/Runner/SecurityChecks.m
@@ -0,0 +1,198 @@
+//
+// SecurityChecks.m
+// Runner
+//
+// Created by Hamza Aleghwairyeen on 26/07/2025.
+//
+
+#import
+
+
+
+
+#import "SecurityChecks.h"
+#import
+#include
+#import
+#include // For _dyld_image_count and _dyld_get_image_name
+#include // for fork()
+#include //for socket, connect
+#include // for sockaddr_in
+#include // for inet_pton
+
+@implementation SecurityChecks
+
++ (BOOL)isDeviceJailbroken {
+ // (Same jailbreak checks as before - from previous responses)
+ // 1. Check for common jailbreak files
+ NSArray *jailbreakPaths = @[
+ @"/Applications/Cydia.app",
+// #if !TARGET_IPHONE_SIMULATOR
+// @"/bin/bash",
+// #endif
+ @"/Library/MobileSubstrate/MobileSubstrate.dylib",
+ @"/bin/bash",
+ @"/usr/sbin/sshd",
+ @"/etc/apt",
+ @"/private/var/lib/apt/",
+ @"/private/var/tmp/cydia.log",
+ ];
+
+ for (NSString *path in jailbreakPaths) {
+ if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
+ NSLog(@"Jailbreak file detected: %@", path);
+ return YES;
+ }
+ }
+
+ // 2. Check if we can write outside the sandbox (a strong indicator)
+ NSError *error = nil;
+ NSString *testPath = @"/private/jailbreaktest.txt";
+ [@"test" writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:&error];
+
+ if (!error) {
+ // If we can write, it's jailbroken. Remove the file immediately.
+ [[NSFileManager defaultManager] removeItemAtPath:testPath error:nil];
+ NSLog(@"Sandbox write test indicates jailbreak.");
+ return YES;
+ }
+ //3: Check for existence of the symbolic link /Applications.
+ struct stat s;
+ if (lstat("/Applications", &s) == 0) {
+ if (S_ISLNK(s.st_mode)) {
+ NSLog(@"Symbolic link /Applications exists, jailbroken");
+ return YES;
+ }
+ }
+
+ //4:Check for dyld Libraries
+ uint32_t count = _dyld_image_count();
+ for (uint32_t i = 0 ; i < count ; ++i) {
+ const char *dyld = _dyld_get_image_name(i);
+ if (strstr(dyld, "MobileSubstrate") != NULL || strstr(dyld, "libcycript") != NULL) {
+ NSLog(@"Suspicious dyld library found: %s", dyld);
+ return YES;
+ }
+ }
+
+ //5 Check if fork() is available. Sandboxed apps should not be able to call fork().
+ #if !TARGET_IPHONE_SIMULATOR // Don't run this on the simulator
+ int pid = fork();
+ if (pid == 0)
+ {
+ //in child, exit immediately to avoid crashing.
+ exit(0);
+ } else if (pid > 0)
+ {
+ NSLog(@"Fork available. Likely jailbroken.");
+ return YES; // Fork succeeded; likely jailbroken
+ }
+ #endif
+
+ return NO; // No jailbreak indicators found
+}
++ (BOOL)isDebuggerAttached {
+ int mib[4];
+ struct kinfo_proc info;
+ size_t size = sizeof(info);
+
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_PID;
+ mib[3] = getpid();
+
+ sysctl(mib, 4, &info, &size, NULL, 0);
+
+ return (info.kp_proc.p_flag & P_TRACED) != 0;
+}
+
+// Check for Frida's default port
++ (BOOL)isFridaListeningOnDefaultPort {
+ int sock = socket(AF_INET, SOCK_STREAM, 0);
+ if (sock == -1) {
+ return NO; // Couldn't create socket
+ }
+
+ struct sockaddr_in sa;
+ memset(&sa, 0, sizeof(sa));
+ sa.sin_family = AF_INET;
+ sa.sin_port = htons(27042); // Default Frida port
+ inet_pton(AF_INET, "127.0.0.1", &sa.sin_addr);
+
+ if (connect(sock, (struct sockaddr *)&sa, sizeof(sa)) != -1) {
+ NSLog(@"Frida default port (27042) is open.");
+ close(sock);
+ return YES;
+ }
+
+ close(sock);
+ return NO;
+}
+
+
++ (BOOL)isFridaDetected {
+ int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 };
+ size_t length;
+ struct kinfo_proc *procs, *proc;
+
+ sysctl(name, 3, NULL, &length, NULL, 0);
+ procs = malloc(length);
+ sysctl(name, 3, procs, &length, NULL, 0);
+
+ for (proc = procs; (char *)proc < (char *)procs + length; proc++) {
+ if (strstr(proc->kp_proc.p_comm, "frida") != NULL) {
+ free(procs);
+ return YES;
+ }
+ }
+
+ free(procs);
+ return NO;
+}
+// Check for loaded dylibs that indicate Frida
++(BOOL) checkForFridaDylib{
+ uint32_t count = _dyld_image_count();
+ for (uint32_t i = 0 ; i < count ; ++i) {
+ const char *dyld = _dyld_get_image_name(i);
+ if (strstr(dyld, "FridaGadget") != NULL) { // Look for FridaGadget
+ NSLog(@"FridaGadget dylib found: %s", dyld);
+ return YES;
+ }
+ }
+ return NO;
+}
+
+// Check process name
++ (BOOL)checkProcessName {
+ NSString* processName = [[NSProcessInfo processInfo] processName];
+ if ([processName containsString:@"Frida"]) {
+ return YES;
+ }
+ return NO;
+}
+
+// A combined check for jailbreak and Frida
++ (BOOL)isDeviceCompromised {
+ if ([SecurityChecks isDeviceJailbroken]) {
+ return YES;
+ }
+ if ([SecurityChecks isFridaListeningOnDefaultPort]) {
+ return YES;
+ }
+ if ([SecurityChecks checkForFridaDylib]) {
+ return YES;
+ }
+ if([SecurityChecks checkProcessName]){
+ return YES;
+ }
+// if ([SecurityChecks isDebuggerAttached]) {
+// return YES;
+// }
+// if ([SecurityChecks isFridaDetected]) {
+// return YES;
+// }
+
+ return NO;
+}
+
+@end
diff --git a/siro_driver/ios/Runner/config.plist b/siro_driver/ios/Runner/config.plist
new file mode 100644
index 0000000..3998c77
--- /dev/null
+++ b/siro_driver/ios/Runner/config.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ APIKey
+ AIzaSyDdqkLMCrqjVrn7XmadIqynyoBa7P27OeM
+
+
diff --git a/siro_driver/ios/RunnerTests/RunnerTests.swift b/siro_driver/ios/RunnerTests/RunnerTests.swift
new file mode 100644
index 0000000..86a7c3b
--- /dev/null
+++ b/siro_driver/ios/RunnerTests/RunnerTests.swift
@@ -0,0 +1,12 @@
+import Flutter
+import UIKit
+import XCTest
+
+class RunnerTests: XCTestCase {
+
+ func testExample() {
+ // If you add code to the Runner application, consider adding tests here.
+ // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
+ }
+
+}