This application is adding support for your EV to Apple Maps. Currently it's working just for cars from Europe.
Kia EU login uses the OneApp authentication flow. See Kia login for protocol details and verification steps.
- 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.