[CoreTelephony] Update bindings up to Xcode 27.0 Beta 3 - #26160
Conversation
Bind the new cellular plan availability, confidence, and authorization APIs, including asynchronous authorization and status-hint operations. Add CTQuickSwitchManager, its state enum, optional delegate protocol, weak delegate pattern, state queries, and background-launch registration. Import CTQuickSwitch.h in the static registrar because CoreTelephony does not provide an umbrella header, and remove the resolved xtro todo files. Document the new API behavior from Apple's DocC content and record the single generated Dispose documentation baseline entry. Validation: - make world - clean xtro generation, classification, and sanity - clean Cecil test suite - iOS 27 Beta 3 introspection: 44/44 - tvOS 27 Beta 3 introspection: 43/43 - macOS introspection: 32/32 with 2 host-version ignores - Mac Catalyst relevant targeted fixtures: 19/19; the full constructor sweep hits the known host TCC privacy abort - AppSizeTest: 0 failures, 16 beta-Xcode skips Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c3d20023-fe86-4094-a0b3-3f8cea07dc4a
There was a problem hiding this comment.
Pull request overview
Updates the CoreTelephony bindings to match Xcode 27.0 Beta 3, including new cellular plan status APIs and the new quick-switch APIs, and aligns generator/test infrastructure accordingly.
Changes:
- Added new CoreTelephony binding surface for cellular plan availability/confidence/authorization and quick-switch (manager, state enum, delegate, async wrappers).
- Updated the static registrar to import
CTQuickSwitch.h(CoreTelephony lacks an umbrella header). - Removed resolved xtro-sharpie CoreTelephony
.todoentries and updated Cecil documentation known-failures for the newly introduced bound type.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/common/StaticRegistrar.cs | Imports CTQuickSwitch.h when generating static registrar headers for CoreTelephony. |
| src/coretelephony.cs | Adds new Xcode 27 CoreTelephony APIs (enums, delegates, CTQuickSwitchManager + async wrappers, new CTCellularPlanStatus APIs). |
| tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreTelephony.todo | Removes resolved xtro missing-binding entries for iOS CoreTelephony. |
| tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CoreTelephony.todo | Removes resolved xtro missing-binding entries for Mac Catalyst CoreTelephony. |
| tests/cecil-tests/Documentation.KnownFailures.txt | Adds the new Dispose(Boolean) known-failure entry for CTQuickSwitchManager. |
This comment has been minimized.
This comment has been minimized.
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| /// <param name="phoneNumber">A phone number in E.164 format, such as <c>+15550001234</c>.</param> | ||
| /// <param name="completionHandler">The handler to invoke with the authorization status or an error.</param> | ||
| /// <summary>Presents a prompt that asks the user to allow cellular plan checks for a phone number.</summary> |
There was a problem hiding this comment.
NBD, this is mostly for future PRs, but the xml-doc-writer skill lists the desired element order (last line): https://github.com/dotnet/macios/blob/main/.github/agents/xml-doc-writer.md
Any chance this could be incorporated somehow in the binding skill (for future PRs)?
🚀 [CI Build #32fc68b] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 195 tests passed 🎉 Tests counts✅ assembly-processing: All 1 tests passed. [attempt 2] Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. [attempt 2] Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Summary
CTQuickSwitchManager,CTQuickSwitchState, the optional delegate protocol, state queries, and background-launch registrationCTQuickSwitch.hfrom the static registrar because CoreTelephony has no umbrella headerValidation
make world24A5380g) introspection: 44/44 passed24J5315h) introspection: 43/43 passedCLLocationButtonAppSizeTest: 0 failures; all 16 cases skipped by the repository beta-Xcode guardNo monotouch test was added because all new APIs are generated bindings and the operations require cellular state, consent, or background-launch behavior that is not deterministic in a unit test.