Skip to content

[HealthKit] Update bindings up to Xcode 27.0 Beta 3#26164

Merged
dalexsoto merged 2 commits into
xcode27.0from
dev/alex/xc27-HealthKit
Jul 17, 2026
Merged

[HealthKit] Update bindings up to Xcode 27.0 Beta 3#26164
dalexsoto merged 2 commits into
xcode27.0from
dev/alex/xc27-HealthKit

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

Summary

  • bind the Xcode 27.0 Beta 3 menopausal-state enum and reproductive-health category identifiers
  • add HKLiveWorkoutZoneUpdate and the typed HKHealthStore earliest-authorized-sample-date API, including async support
  • remove the resolved iOS, macOS, and Mac Catalyst HealthKit xtro todo files

Validation

  • make world
  • clean make -C tests/xtro-sharpie gen-all + dotnet-classify (sanity passed)
  • clean make -C tests/cecil-tests run-tests (112 passed, 4 skipped)
  • clean AppSizeTest run (0 failed; 16 skipped because Xcode is beta)
  • macOS introspection: 32/32 passed
  • Mac Catalyst introspection: 39/39 passed
  • iOS/tvOS Xcode 27 introspection exercised the new surface without HealthKit failures; the remaining suite failures are unrelated Beta 3 UIKit, AVKit, and AVFoundation runtime gaps

Bind the new menopausal state enum and reproductive health category type identifiers introduced in Xcode 27.0 Beta 3.

Add HKLiveWorkoutZoneUpdate with version-correct iOS, Mac Catalyst, and macOS availability, and expose its nullable last processed sample date. Add the typed HKHealthStore earliest-authorized-sample-date query, including nullable callback results and an async wrapper.

Remove the resolved iOS, macOS, and Mac Catalyst xtro todo files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 98f85a00-e18f-4ca6-aca8-8db99371c729
Copilot AI review requested due to automatic review settings July 17, 2026 04:15
@dalexsoto dalexsoto added this to the xcode27 milestone Jul 17, 2026
@dalexsoto
dalexsoto requested a review from rolfbjarne July 17, 2026 04:15

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 HealthKit binding surface to match Xcode 27.0 Beta 3, adding newly introduced enums/identifiers and new APIs (including async wrappers), and cleaning up xtro-sharpie todo tracking now that the APIs are bound.

Changes:

  • Added HKCategoryValueMenopausalState and new HKCategoryTypeIdentifier fields for reproductive health categories.
  • Added HKLiveWorkoutZoneUpdate and HKHealthStore.getEarliestAuthorizedSampleDateForTypes:completion: with async support.
  • Removed resolved HealthKit xtro-sharpie .todo files for iOS/macOS/Mac Catalyst.

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
tests/xtro-sharpie/api-annotations-dotnet/macOS-HealthKit.todo Removed resolved xtro todo entries now covered by bindings.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-HealthKit.todo Removed resolved xtro todo entries now covered by bindings.
tests/xtro-sharpie/api-annotations-dotnet/iOS-HealthKit.todo Removed resolved xtro todo entries now covered by bindings.
src/HealthKit/Enums.cs Added HKCategoryValueMenopausalState enum with Xcode 27 availability.
src/healthkit.cs Added new HealthKit API bindings: delegate + HKHealthStore method (async-enabled), identifiers, and HKLiveWorkoutZoneUpdate.

@dalexsoto
dalexsoto enabled auto-merge (squash) July 17, 2026 05:22
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

Skip the new Xcode 27 reproductive-health category identifiers when monotouch tests run on an older OS. The managed enum values are present when building with Xcode 27, but their native field symbols are unavailable before OS 27.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 98f85a00-e18f-4ca6-aca8-8db99371c729
@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: ea39afd533e8dd1f06af9310849712d60a7160bf [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #ea39afd] 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
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): 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. [attempt 2] Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 15 tests passed. [attempt 2] 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 (iOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 19 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 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. [attempt 2] 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. [attempt 2] 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: ea39afd533e8dd1f06af9310849712d60a7160bf [PR build]

@dalexsoto
dalexsoto merged commit 3d98101 into xcode27.0 Jul 17, 2026
55 checks passed
@dalexsoto
dalexsoto deleted the dev/alex/xc27-HealthKit branch July 17, 2026 16:55
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