[LinkSecurity] Update bindings up to Xcode 27.0 Beta 3 - #26174
Conversation
Bind LSLinkSecurityManager across iOS, tvOS, macOS, and Mac Catalyst, including the asynchronous flagged-URL check and complete public API documentation. Register LinkSecurity throughout the framework source lists, generated defines, native-link expectations, and old-SDK registrar coverage, and remove the resolved xtro todo files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: df8bdf90-4291-4ac1-98a7-9348c0c9e159
There was a problem hiding this comment.
Pull request overview
This PR adds first-class support for the new LinkSecurity Apple framework (introduced in 27.0) across iOS, tvOS, macOS, and Mac Catalyst in the dotnet/macios binding + tooling ecosystem, including framework registration/wiring and removal of now-resolved xtro “missing” annotations.
Changes:
- Added
LSLinkSecurityManagerbindings (including an async flagged-URL check with full public XML docs). - Registered
LinkSecurityin framework metadata and build-time defines (framework lists +HAS_LINKSECURITY). - Updated test expectations/coverage for framework linking and registrar validation, and removed resolved xtro
.todofiles.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/common/Frameworks.cs | Registers LinkSecurity for macOS/iOS/tvOS (and implicitly Mac Catalyst via iOS mutation). |
| src/frameworks.sources | Adds LinkSecurity to COMMON_FRAMEWORKS so it’s included in platform framework lists/generation. |
| src/build/dotnet/generator-frameworks.g.cs | Adds LinkSecurity to generated framework name lists and HaveLinkSecurity lookup. |
| src/rsp/dotnet/ios-defines-dotnet.rsp | Defines HAS_LINKSECURITY for iOS builds. |
| src/rsp/dotnet/tvos-defines-dotnet.rsp | Defines HAS_LINKSECURITY for tvOS builds. |
| src/rsp/dotnet/macos-defines-dotnet.rsp | Defines HAS_LINKSECURITY for macOS builds. |
| src/rsp/dotnet/maccatalyst-defines-dotnet.rsp | Defines HAS_LINKSECURITY for Mac Catalyst builds. |
| src/linksecurity.cs | New binding definitions for LSLinkSecurityManager with async API docs. |
| tests/dotnet/UnitTests/ProjectTest.cs | Updates expected native-framework link lists to include LinkSecurity. |
| tests/mtouch/RegistrarTest.cs | Adds LinkSecurity to the MT4134 “invalid framework for older SDK” coverage list. |
| tests/xtro-sharpie/api-annotations-dotnet/iOS-LinkSecurity.todo | Removed (resolved missing bindings). |
| tests/xtro-sharpie/api-annotations-dotnet/tvOS-LinkSecurity.todo | Removed (resolved missing bindings). |
| tests/xtro-sharpie/api-annotations-dotnet/macOS-LinkSecurity.todo | Removed (resolved missing bindings). |
| tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-LinkSecurity.todo | Removed (resolved missing bindings). |
Resolve overlapping framework registry updates by retaining both EnhancedLinkSecurity and LinkSecurity across platform metadata and registrar coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: df8bdf90-4291-4ac1-98a7-9348c0c9e159
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
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 |
✅ [CI Build #d087a04] Prepare .NET Release succeeded ✅📦 Published NuGet packages (32 packages)iOS
MacCatalyst
macOS
tvOS
Other
Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #62bf0b0] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 195 tests passed 🎉 Tests counts✅ assembly-processing: All 1 tests passed. 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
LSLinkSecurityManageron iOS, tvOS, macOS, and Mac Catalyst 27.0Testing
make worldbefore the changes and after each binding/wiring change24A5380g): 44 passed24J5315h): 43 passedCLLocationButtonProjectTest.LinkedWithNativeLibraries: 8 passedAppSizeTestrun: 16 skipped by the Beta-Xcode guardThe legacy MT4134 harness cannot run locally on this branch because its net48 test project restores against the net10 mtouch project (
NU1201); the required framework entry is included.