This application is adding support for your EV to Apple Maps. Currently it's working just for cars from Europe.
- Apple Developer Account with access to create App IDs
- Kia\Hyundai\Genesis API credentials configured
- Physical iOS or Simulator device
- Go to developer.apple.com
- Sign in and navigate to Certificates, Identifiers & Profiles
- Click Identifiers → + button to create new App ID
- Select "App IDs" and click Continue
- Enter:
- Description: "Porsche Wildcard Apps"
- Bundle ID: Select "Wildcard"
- Enter:
com.porsche.*
- Enable required capabilities:
- App Groups
- SiriKit
- Click Continue and Register
After creating the wildcard App ID:
- Navigate to Profiles → + button
- Select "iOS App Development" or "Ad Hoc" (for testing)
- Select your wildcard App ID (
com.porsche.*) - Select your development certificate
- Select devices for testing
- Name it (e.g., "Porsche Wildcard Development")
- Download the provisioning profile
Copy and customize the signing configuration:
cp Config/Signing.xcconfig.template Config/Signing.xcconfigEdit Config/Signing.xcconfig and update:
DEVELOPMENT_TEAM: Your Apple Developer Team IDPROVISIONING_PROFILE_SPECIFIER: Your provisioning profile nameEXTENSION_PROVISIONING_PROFILE_SPECIFIER: Your extension profile nameEXTENSION_UI_PROVISIONING_PROFILE_SPECIFIER: Your UI extension profile name
Example:
DEVELOPMENT_TEAM = ABC123DEF4
PROVISIONING_PROFILE_SPECIFIER = Porsche Wildcard Development
open KiaMaps.xcodeproj- Select
KiaMapsproject in navigator - Select the project (not a target) at the top
- In the Info tab, under Configurations:
- Click the arrow next to Debug
- For each target, set Configuration File to
Config/Signing.xcconfig - Repeat for Release configuration
- Go to each target's
Signing & Capabilitiestab - Verify that the settings from the xcconfig file are applied:
- Team should match your
DEVELOPMENT_TEAM - Bundle Identifier should be set correctly
- Provisioning Profile should match your settings
- Team should match your
- The values should appear in gray (inherited from xcconfig)
- Select your physical device (required for Intents)
- Choose
KiaMapsscheme - Build and run with Cmd+R
Profile mismatch: Ensure provisioning profile includes your device UDID
Bundle ID conflicts: Verify bundle IDs match those in provisioning profile
Entitlements: Check that App Groups and Intents entitlements match profile
Team selection: Confirm correct team is selected for all targets
- Physical iOS device (required)
- iOS 14.0+ for full Intents functionality
- Device must be registered in provisioning profile
The app uses detailed vehicle parameters to provide accurate EV-specific navigation in Apple Maps. These parameters enable:
- Energy consumption calculations based on speed, elevation, and auxiliary power usage
- Charging time estimations using real charging curves
- Route planning with optimal charging stops
- Supported Connectors: Defines which charging standards the vehicle supports (e.g., Type 2 AC, CCS2 DC)
- Maximum Power: Peak charging rates for each connector type
- Charging Curve: Detailed power delivery at different battery levels
- 10 consumption scenarios: Array of values representing different driving efficiency conditions (validated against real test data)
- Elevation impact: Additional energy for climbing, recovery when descending
- Auxiliary power: Constant draw from electronics, climate control (~670W)
- Maximum distance: WLTP-rated range in kilometers
- Battery capacity: Usable energy storage (e.g., ~90 kWh for Taycan)
- Efficiency factors: Charging losses and energy conversion efficiency
// Charging: Supports up to 234 kW DC fast charging
maximumPower(.ccs2) = 234.0 kW
// Consumption: 10 efficiency scenarios validated against real-world data
consumptionValues = [
0.172, // 172 Wh/km - Optimal efficiency (matches WLTP ~180 Wh/km)
0.183, // 183 Wh/km - Steady highway (~90 km/h)
0.205, // 205 Wh/km - Moderate highway speeds
0.258 // 258 Wh/km - High-speed Autobahn (validated at 130 km/h)
// ... 6 more values covering city, mixed, and demanding conditions
] // Wh per meter
// Charging curve: Maintains high power to ~50% SOC
0-34 kWh: 232 kW peak power
34-50 kWh: Gradual taper to 144 kW
50-80 kWh: Further reduction for battery protection
80-100%: Trickle charge at 13 kWThe consumption parameters have been validated against actual Taycan test data:
- WLTP efficiency: ~180 Wh/km matches code value of 172.1 Wh/km
- 90 km/h highway: ~190 Wh/km falls within code range (183-205 Wh/km)
- 130 km/h Autobahn: 220-260 Wh/km matches code value of 258.4 Wh/km
- Range coverage: 172-258 Wh/km spans from optimal to high-speed conditions
To add support for a new vehicle model:
- Create a new parameters file following the
VehicleParametersprotocol - Define all required consumption and charging parameters
- Add the vehicle case to
VehicleManager.vehicleParameter - Update API configuration if needed
See KiaMaps/Core/Vehicle/ for implementation examples.