Skip to content

[CarPlay] Update bindings up to Xcode 27.0 Beta 3#26112

Open
dalexsoto wants to merge 4 commits into
xcode27.0from
dev/alex/xc27-CarPlay
Open

[CarPlay] Update bindings up to Xcode 27.0 Beta 3#26112
dalexsoto wants to merge 4 commits into
xcode27.0from
dev/alex/xc27-CarPlay

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

Summary

  • bind all 114 CarPlay API findings introduced through Xcode 27.0 Beta 3
  • add charging-station, map-panel, multi-stop, route-detail, overlay, and navigation APIs
  • add a safe CPNavigationWaypoint.CreateWithVariants wrapper and focused runtime coverage
  • re-expose inherited panel initializers required by the managed constructor model
  • keep CarPlay unavailable on Mac Catalyst by moving all 105 new Catalyst findings into the existing ignore baseline
  • remove the resolved iOS and Mac Catalyst todo files and update the CarPlay documentation baseline

Validation

  • make world
  • clean xtro generation/classification: sanity passed
  • clean Cecil suite: passed
  • iOS 27 typo, selector, constructor, signature, protocol, and field introspection fixtures: passed
  • tvOS introspection: 43/43 passed
  • macOS introspection: 32/32 passed, 2 ignored
  • Mac Catalyst selector/signature/field/protocol fixtures: 15/15 passed; the full constructor run encounters the known unsigned-desktop TCC privacy abort
  • focused CPNavigationWaypointTest: 6/6 passed
  • app-size suite: 0 failed; all 16 cases intentionally skipped by the beta-Xcode guard

Bind the CarPlay APIs introduced in Xcode 27.0 Beta 3, including
charging-station connections, map panels, multi-stop configuration,
route details, overlay templates, and the new navigation updates.

Add the safe managed CPNavigationWaypoint factory for name and address
variants, re-expose inherited panel initializers required by the managed
constructor model, and cover the waypoint factory with a focused runtime
test.

Keep CarPlay excluded from Mac Catalyst by moving the new Catalyst xtro
findings into the existing ignore baseline. Remove the resolved iOS and
Mac Catalyst todo files and update the Cecil documentation baseline for
the newly exposed public API.

Validated with full make world builds, clean xtro and Cecil runs, iOS 27
binding introspection, cross-platform introspection, and the focused
CarPlay monotouch tests. App-size tests remain intentionally skipped by
the beta-Xcode guard.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 10615ba8-fb55-45f5-b5ab-506b86b4cf03
Copilot AI review requested due to automatic review settings July 15, 2026 18:10
@dalexsoto dalexsoto added this to the xcode27 milestone Jul 15, 2026
@dalexsoto
dalexsoto requested a review from rolfbjarne July 15, 2026 18:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CarPlay bindings and baselines to match APIs available through Xcode 27.0 Beta 3, while explicitly keeping CarPlay excluded from Mac Catalyst.

Changes:

  • Added new CarPlay bindings (charging station connections, map panels, multi-stop routing, overlay/panel/navigation updates) and updated deprecations/availability.
  • Added a safer CPNavigationWaypoint.CreateWithVariants managed wrapper plus focused runtime test coverage.
  • Cleaned up xtro-sharpie baselines by removing resolved .todo files and updating the existing Mac Catalyst ignore list and cecil documentation known-failures.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CarPlay.todo Removed resolved todo baseline (moved/absorbed into ignore).
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CarPlay.ignore Updated header comment + added new ignored Mac Catalyst findings for CarPlay.
tests/xtro-sharpie/api-annotations-dotnet/iOS-CarPlay.todo Removed resolved iOS todo baseline after binding the findings.
tests/monotouch-test/CarPlay/CPNavigationWaypointTest.cs Added runtime test coverage for CreateWithVariants.
tests/cecil-tests/Documentation.KnownFailures.txt Updated documentation baseline for newly bound CarPlay API surface.
src/CarPlay/CPNavigationWaypoint.cs Added CreateWithVariants wrapper and deprecated the older Create signature for iOS 27+.
src/CarPlay/CPEnums.cs Added CPChargingStationConnectionConnector enum.
src/carplay.cs Added new CarPlay bindings (types/members/delegates) for Xcode 27 APIs.

Comment thread src/carplay.cs
Comment on lines +3540 to +3544
[Export ("voltage", ArgumentSemantic.Strong)]
NSMeasurement<NSUnitElectricPotentialDifference> Voltage { get; }

[Export ("power", ArgumentSemantic.Strong)]
NSMeasurement<NSUnitPower> Power { get; }
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

Comment thread src/carplay.cs Outdated
@vs-mobiletools-engineering-service2

This comment has been minimized.

@dalexsoto
dalexsoto requested a review from rolfbjarne July 16, 2026 13:41
@dalexsoto
dalexsoto enabled auto-merge (squash) July 16, 2026 14:26
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 39efbc4fd42583d072b7ff6e0fe11f6f6041ccb3 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 [CI Build #39efbc4] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

3 tests crashed, 3 tests failed, 170 tests passed.

Failures

❌ dotnettests tests (MacCatalyst)

🔥 Failed catastrophically on VSTS: test results - dotnettests_maccatalyst (no summary found).

Html Report (VSDrops) Download

❌ introspection tests

1 tests failed, 5 tests passed.

Failed tests

  • introspection/iOS - simulator/Debug: Failed

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

2 tests failed, 17 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Debug (PrepareAssemblies, inline dlfcn, dont link): TimedOut
  • monotouch-test/iOS - simulator/Release (compat inline dlfcn): TimedOut

Html Report (VSDrops) Download

❌ monotouch tests (macOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_macos (no summary found).

Html Report (VSDrops) Download

❌ msbuild tests

🔥 Failed catastrophically on VSTS: test results - msbuild (no summary found).

Html Report (VSDrops) Download

Successes

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 19 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download
⚠️ Tests on macOS Golden Gate (27): Tests skipped, incorrect beta version. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 39efbc4fd42583d072b7ff6e0fe11f6f6041ccb3 [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants