Files
smart-city-digital-twin-mar…/smart-app-city/frontend/node_modules/react-native-maps/react-native-maps.podspec
Eric FELIXINE e30ae8ed09 feat(smart-app): implement complete mobile app MVP
- App.tsx: full navigation (Auth stack + Main tabs with 5 screens)
- Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen
- HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors
- MapScreen: interactive map with layer toggles (6 layers)
- MarketplaceScreen: categories (6), products (5), search
- ChatScreen: AI chat with quick prompts (4), bot responses
- ProfileScreen: user info, stats, menu (9 items), logout
- AlertsScreen: alert list with severity, acknowledge
- SensorsScreen: sensor list with type filters (6 types), search
- ZonesScreen: zone cards with stats
- SettingsScreen: language picker (FR/EN/ES/DE), privacy, about
- Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n
- Hooks: useSensors, useAlerts, useNotifications, useLocation
- Components: Card, Button, LoadingSpinner, ErrorBoundary, Header
- Services: iotService, notificationService (with axios API client)
- Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN)
- Theme: colors.ts with full design system (Blue Ocean palette)
- Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
2026-06-01 18:00:35 -04:00

126 lines
4.7 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
require 'json'
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
folly_config = get_folly_config()
folly_compiler_flags = folly_config[:compiler_flags]
Pod::Spec.new do |s|
s.name = "react-native-maps"
s.version = package['version']
s.summary = package["description"]
s.authors = package["author"]
s.homepage = package["homepage"]
s.license = package["license"]
s.platform = :ios, "15.1"
s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag => "v#{s.version}" }
# Set module_name at the root spec level
s.module_name = 'ReactNativeMaps'
# Generated code subspec
s.subspec 'Generated' do |ss|
ss.source_files = "ios/generated/**/*.{h,m,mm,cpp,swift}"
ss.exclude_files = [
"ios/generated/RCTModuleProviders.h",
"ios/generated/RCTModuleProviders.mm",
"ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h",
"ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm",
"ios/generated/RCTAppDependencyProvider.h",
"ios/generated/RCTAppDependencyProvider.mm",
"ios/generated/RCTThirdPartyComponentsProvider.h",
"ios/generated/RCTThirdPartyComponentsProvider.mm",
"ios/generated/RCTModulesConformingToProtocolsProvider.h",
"ios/generated/RCTModulesConformingToProtocolsProvider.mm",
]
ss.public_header_files = "ios/generated/**/*.h"
ss.compiler_flags = folly_compiler_flags
install_modules_dependencies(ss)
end
# Main maps component
s.subspec 'Maps' do |ss|
ss.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
ss.public_header_files = [
'ios/AirMaps/UIView+AirMap.h',
'ios/AirMaps/RCTConvert+AirMap.h',
]
ss.compiler_flags = folly_compiler_flags
ss.dependency 'react-native-maps/Generated'
install_modules_dependencies(ss)
# Add script phase to detect Google Maps
ss.script_phases = [
{
:name => 'react-native-maps patches',
:script => %(
set -x
echo "Running Google Maps detection script..."
DEFINES_DIR="${PODS_TARGET_SRCROOT}/ios/AirMaps"
DEFINES_FILE="${DEFINES_DIR}/RNMapsDefines.h"
mkdir -p "$DEFINES_DIR"
if [ -d "$PODS_ROOT/GoogleMaps" ] && [ -d "$PODS_ROOT/Google-Maps-iOS-Utils" ]; then
echo "#define HAVE_GOOGLE_MAPS 1" > "$DEFINES_FILE"
echo "✅ Google Maps libraries detected. HAVE_GOOGLE_MAPS defined."
else
echo "#define HAVE_GOOGLE_MAPS 0" > "$DEFINES_FILE"
echo "❌ Google Maps libraries NOT detected. HAVE_GOOGLE_MAPS set to 0."
fi
if [ -f "$DEFINES_FILE" ]; then
echo "✅ Successfully wrote to $DEFINES_FILE"
cat "$DEFINES_FILE"
else
echo "❌ ERROR: Failed to write to $DEFINES_FILE"
fi
set -e
echo "🔧 Patching @import GoogleMaps..."
FILES=(
"$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMSMarker+GMUClusteritem.h"
"$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUGeoJSONParser.h"
"$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUPolygon.h"
"$PODS_ROOT/Google-Maps-iOS-Utils/Sources/GoogleMapsUtilsObjC/include/GMUWeightedLatLng.h"
"$PODS_ROOT/GoogleMaps/Maps/Sources/GMSEmpty.h"
)
for file in "${FILES[@]}"; do
if [ -f "$file" ]; then
if grep -q "@import GoogleMaps;" "$file"; then
sed -i '' 's/@import GoogleMaps;/#import <GoogleMaps\\/GoogleMaps.h>/' "$file"
echo "✅ Patched: $file"
else
echo " No @import in: $file"
fi
else
echo "⚠️ Not found: $file"
fi
done
),
:execution_position => :before_compile
}
]
end
# Google Maps subspec
s.subspec 'Google' do |ss|
ss.source_files = "ios/AirGoogleMaps/**/*.{h,m,mm,swift}"
ss.resource_bundles = {
'GoogleMapsPrivacy' => ['ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle']
}
# Fixed compiler flags to avoid -Wno warnings
ss.compiler_flags = folly_compiler_flags + ' -DHAVE_GOOGLE_MAPS=1 -DHAVE_GOOGLE_MAPS_UTILS=1'
ss.dependency 'GoogleMaps', '9.4.0'
ss.dependency 'Google-Maps-iOS-Utils', '6.1.0'
ss.dependency 'react-native-maps/Generated'
ss.dependency 'react-native-maps/Maps'
install_modules_dependencies(ss)
end
# By default, use the Maps subspec
s.default_subspec = 'Maps'
end