watchOS is the operating system for Apple Watch.

Posts under watchOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

A Summary of the WWDC25 Group Lab - watchOS (Part 1)
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for watchOS (part 1). 1. I'm really excited about the new design system on all platforms. Liquid Glass is super cool. What do developers need to keep in mind when building for watchOS 26? To adopt the new design system, start with updating your app for watchOS 10 – If you have done so, your app will be mostly ready for watchOS 26. For more information, see Design and build apps for WatchOS 10. You can then look into Liquid Glass specific APIs to fine tune your app. This topic is covered in Adopting Liquid Glass. If you have SwiftUI views using any custom style, make sure they are still legible and fit with the new design system. 2. Something that really stood out to me were updates to the Smart Stack, with the system prioritizing Widgets when they're most relevant. Tell me more about these new opportunities for apps. Workout apps that record workouts using HealthKit may be automatically suggested on the watch face and appear in the Smart Stack without adding a widget. Relevant widgets are a great way to present information related to a date, location, point-of-interest type, sleep schedule, or fitness condition in the Smart Stack when it is relevant. Relevant widgets don't need to display a empty state view when they are not relevant. They are only shown in the Smart Stack when relevant. The watchOS 26 Design ToolKit in the Apple Design Resources includes a set of templates that you can use to layout your widgets. 3. Is the Wrist Flick gesture available to developers in the same way as Double Tap is? The system uses Wrist Flick to dismiss notifications and incoming calls, silence timers and alarms, or return to the watch face. There is no separate API for the Wrist Flick gesture. Apps that are using XCUIAutomation to make sure their user interface behaves as intended can use the XCUIDeviceHandGesture.flick to automate tests that verify that their app responds appropriately to the Wrist Flick gesture. For apps using automated testing, the XCUIDeviceHandGesture.doubleTap can be also be used to automate testing of the app with the Double Tap gesture. See XCUIDevice.perform(handGesture:) 4. Can HRV measurements be triggered on demand via API in watchOS? Guidelines or processes for enabling energy-intensive biometric sampling on development devices for IRB-approved research? You don’t have direct control on the sampling rate in watchOS. You can use HealthKit (HKQuantityTypeIdentifierHeartRateVariabilitySDNN, to be specific) to query the HRV data, once the system has sampled and persisted the data to HealthKit. If that doesn’t help, we suggest that you file a feedback report with your concrete use case for us to investigate. Specific to IRB-approved research using Apple Watch or its companion iPhone, you might want to look at this FAQ and SensorKit to see if they can be of any help. 5. What is the best advice for someone who is new to making a watchOS app that’s been on iOS and iPadOS? You can start with exploring the system experience features on watchOS, such as notifications, controls, and widgets, and getting familiar with the system spaces, like Smart Stack, watch face, and control center. Knowing the watchOS app design principles and practices is important as well. Design and build apps for WatchOS 10 is a great resource for this topic. SwiftUI is an amazing across-platform framework, and you will use it to create your watchOS app. If you're already using it, great! Keep in mind some watch-only constraints. Comparing to iPhone or iPad, Apple Watch has a limited battery and smaller screen size, which significantly impacts how people use your app and how your app works. 6. Was there any extension this year to the 7 day limit on querying Apple Health data on the watch? There is no change on the limit this year. You can get this official limit at runtime using earliestPermittedSampleDate. There are some exceptions, and so don't be surprised if you see some data types are retained longer. The companion iPhone holds the full set of the health data. If you need to access the health data that has been purged from the Apple Watch, consider doing it with your iOS app, and then passing the result to your watchOS app.
0
0
615
Jul ’25
A Summary of the WWDC25 Group Lab - watchOS (Part 2)
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for watchOS (part 2). 7. For widget (complication) update budgets, is there an overall budget or are scheduled update separate from APNS updates? For context I have a complication that is updated on a fixed schedule (every 20 min), but there can be times of the day that are more "interesting" where pushes make sense. Like timeline updates, the system budgets WidgetKit push notifications and delivers them opportunistically. You can use WidgetKit push notification updates as an addition to timeline updates. For more information, see Updating widgets with WidgetKit push notifications. 8. It seems like the new Control Center widgets can be sourced from either the iPhone or directly on the Watch. Can we control whether a control appears in the watch list, or will it always be a combination of all controls from both sources? iPhone controls will be automatically available on the companion Apple Watch, even if they don’t have an associated watchOS app. When an iPhone control is tapped on the Apple Watch, the action is performed on the iPhone. Controls whose actions foreground the iOS app will not appear on Apple Watch. If a watchOS app has controls, no controls will appear on Apple Watch from the companion iOS app. 9. From UI/UX perspective, what are the current practices for Designing watchOS apps that feels native. The WWDC23 session Design and build apps for WatchOS 10 covers the details of watchOS design principles and how to apply them in your app using SwiftUI. A lot of SwiftUI APIs, such as NavigationSplitView, vertical tab view, list view, and etc, already implement the look and feel native to watchOS. 10. When adopting the new design system on watchOS, it seems like the main place we will use the glass effect is for our buttons in toolbar? Standard buttons in system apps seem to continue to use a flat appearance and full width. We leave the choice to you – You can use the new GlassButtonStyle API or .buttonStyle(.glass) to apply the liquid glass material to buttons. Learn when to use the Liquid Glass styles in Get to know the new design system. 11. Is there any way to gracefully migrate extensions when their bundleIDs have to change? e.g., converting a multi-target watch app to single-target, which drops the .watchkitextension from both the app and WidgetKit ext bundleIDs Updating a watchOS app to single-target is covered in TechNote TN3157: Updating your watchOS project for SwiftUI and WidgetKit. Xcode provides a tool that can do the update automatically, and the technote describes the details about how to use it and how to clean up the project after the automatic update. If there's something that technote doesn't address, please reach out to us on the Developer Forums. 12. What is the status of WatchConnectivity? Is that still the preferred way for iOS + watchOS communications? The Watch Connectivity framework is still supported, and is appropriate for the communication between an watchOS app and its companion iOS app. The systems also provide other APIs for the apps to exchange data. For example, watchOS supports Apple Push Notification service (APNs). If data for your widget changes on your server, your widget can receive a WidgetKit push notification, and update accordingly. That’s the preferred mechanism for widget updates.
0
0
629
Jul ’25
WatchOS 27 throttles BLE discoveries
Hi! We have an app that highly depends on CoreBluetooth including scanning for peripherals with an advertised serviceUUID. Our app sets the CBCentralManagerScanOptionAllowDuplicatesKey flag to true while scanning. Receiving continuous discovery events about nearby devices is key to measure the RSSI before connecting. Updating some of our test devices to watchOS 27 we noticed that our app is broken. To analyze further we created a simple app to compare behavior between watchOS 26 and 27, and the difference is clear. On the 27 device it behaves like the flag is ignored and we only receive a couple of callbacks to centralManager(_:didDiscover:advertisementData:rssi:) then it stops. We could not find any documentation declaring this as a new restriction or something regarding that has changed. Is this a bug, or is there a way to get the old behavior on the new OS? The example app used for testing is available here: https://github.com/levente-gulyas-skidata/WatchBLEExperiments (Change the serviceUUID for testing if needed) Thank you, Levi
2
4
225
32s
CMMotionActivityManager: past activities move in time between queries (watchOS 27, Apple Watch Ultra 4)
When I query the same past period with CMMotionActivityManager.queryActivityStarting(from:to:to:) at two different times, the second result contains the same activities, but their startDate values are earlier. Setup Apple Watch Ultra 4 (Watch8,1), watchOS 27.0.1 My app reads the activity history a few minutes after it happens and stores it. Later it queries the same period again and compares the results. What I see The activity types and durations do not change. Whole blocks of history move back in time by a constant offset. Example from today's query, compared with the stored values: Period of the dataOffsetNov 8, 12:47 – 19:55−155 sNov 8, 19:57 – Nov 9, 17:18−95 sNov 9, 17:19 – now0 sYesterday at 17:19, the same Nov 8 evening data had an offset of 0 s. So the offset changes over time, not only with the age of the data. New steps add up: when a step occurs, all older history moves back by the same amount. Earlier I saw offsets of −60 s, −123 s, −177 s and −340 s. The stored values match HealthKit workout start and end times within about 8 s. The re-queried values do not (for example −52 s at the start of a run). timestamp of these activities is equal to startDate (seconds since 2001), so it does not help to match them. I did not see this on Apple Watch Ultra 3 with watchOS 27, but I have only one comparison from that watch. Questions Is startDate of a past CMMotionActivity expected to stay the same? If not, which event changes it, and is there a way to detect it? What is the recommended way to get stable times from the activity history? I log every query on the watch (all activities plus clock and battery state every 30 minutes), so I can share data or a sysdiagnose. I will also file a Feedback.
0
0
32
1d
Standalone watchOS app cannot submit first auto-renewable subscriptions – App Store Connect validation conflict
I am seeking guidance from an Apple App Store Connect or StoreKit engineer regarding a submission issue that prevents the initial release of my standalone watchOS application. Application configuration App: My Curl Clock Developer: Frostline Labs Inc. Platform: Standalone watchOS (watch-only) App version: 1.0, Build 5 Architecture: Xcode-generated iOS wrapper containing the watchOS application Monetization: Two auto-renewable subscriptions (Basic Annual and Pro Annual) Subscription group: My Curl Clock Background My application was previously rejected under App Review Guideline 2.1(b). App Review instructed me to submit the subscriptions together with a new app binary. I have configured both subscription products and their subscription group in App Store Connect. I then created a draft submission containing: My Curl Clock Version 1.0 (Build 5) Basic Annual subscription Pro Annual subscription My Curl Clock subscription group However, App Store Connect prevents submission with the following validation error: In-app purchases and subscriptions are currently not supported on Apple Watch. To submit this app version, you must remove all in-app purchases or subscriptions from this submission. Conflicting requirements Apple's App Store Connect documentation states that the first auto-renewable subscription must be submitted with a new app version. The same documentation also states that in-app purchases and subscriptions cannot be included in an Apple Watch app-version submission. Apple's documentation for independent watchOS applications describes an iOS wrapper architecture and supports purchases directly on Apple Watch. These requirements appear to create a circular submission problem: The first subscription requires an app version. App Store Connect blocks adding subscriptions to the Apple Watch app-version submission. Removing the subscriptions conflicts with App Review's instructions. Steps already taken Confirmed that both subscriptions and their subscription group are included in the draft submission. Contacted Apple Developer Support (Case 103004272249). Provided the exact validation error and supporting screenshot. Submitted a formal report through Feedback Assistant (FB25450734). Developer Support has recommended posting in the Developer Forums but has not identified a supported submission procedure or workaround. Questions for Apple engineers What is the supported procedure for submitting the first auto-renewable subscriptions for a standalone watchOS application? Can the initial subscription group and products be submitted separately or associated with the app version through an alternative supported process? Does App Store Connect require a functional iOS companion app for the initial approval of subscriptions, despite StoreKit supporting purchases directly on Apple Watch? Is this a known App Store Connect limitation, particularly following the changes to the submission process in July 2026? Is there a supported workaround that allows compliance with both App Review's instructions and App Store Connect's validation requirements? References Apple — Creating independent watchOS apps: https://developer.apple.com/documentation/watchos-apps/creating-independent-watchos-apps Apple — Submit an In-App Purchase: https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-an-in-app-purchase Related developer discussion: https://developer.apple.com/forums/thread/842983 Feedback Assistant: FB25450734 I would appreciate guidance from an Apple engineer familiar with App Store Connect submissions and StoreKit on watchOS. At present, this issue completely prevents the initial release of an otherwise completed application.
0
0
81
1d
watchOS 27: third-party NWListener application service advertisement is denied by NECP policy, so DeviceDiscoveryUI pairing from tvOS never completes
On watchOS 27, a third-party watch app that advertises an application service with NWListener (default NWParameters.applicationService, service declared in NSApplicationServices → Advertises) is never advertised: the advertiser path is denied by NECP policy. As a result, when a tvOS app presents DDDevicePickerViewController and the user selects the watch and taps Connect on the watch, sharingd finds no listener (listenerID (null)), the pairing times out after ~30 s, and the tvOS picker's endpoint never returns — neither an endpoint nor an error. Raw lines: watchOS 26.6 (success, pid 267) 16:00:55.891 AppleWatch[267] -[_NWAdvertiser start] [L1] Starting advertiser 16:00:55.891 AppleWatch[267] -[_NWAdvertiser updateFlows:]_block_invoke [L1] Added listener flow ID 667B9945-… 16:00:55.926 rapportd[48] Found registered listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=0A1149F2-… : ageOut=179s agentClient=0x0 { 'kebike' } 16:00:55.927 rapportd[48] Updated RPNWAgentClient[0x176cc550] (LSTNR): < appSvc=com.fitonapp.fiton.FitOnWorkout PID:267 entitled=0 … browseToken=[pid:267,id:667B9945] … > 16:00:55.930 rapportd[48] [pid:267,id:A20E8919] createListenerFramer calling assign with local endpoint=::.51714 16:01:09.956 rapportd[48] [pid:267,id:F7883D0D] ADVERTISE: Start advertise 'FitOnWorkout' request QUIC=NO isTCP=YES params:[tcp, pid: 267, local: ::.51714, …] 16:01:29.352 rapportd[48] Created incoming RPNWConnection[CONN[5BCD2213-…] (IN): … appSvc=com.fitonapp.fiton.FitOnWorkout … EP={kebike:…}] 16:01:29.399 rapportd[48] [pid:267,id:3346E704] assigning connection ::.51714 <-> app_svc: com.fitonapp.fiton.FitOnWorkout, service_id: D2D4D049-… 16:01:29.404 AppleWatch[267] nw_connection_report_state_with_handler_on_nw_queue [C2] reporting state ready Raw lines: watchOS 27 (failure, 10-21) 16:00:48.761 AppleWatch[556] -[_NWAdvertiser start] [L1] Starting advertiser with descriptor: FitOnWorkout scope:3f … 16:00:48.761 AppleWatch[556] -[_NWAdvertiser updateFlows:] [L1] Listener skipping advertise flows due to unsatisfied path with policy drop 16:00:48.760 rapportd[98] [pid:556,id:C1D4B82D] createListenerFramer: incorrect agent type ← never upgraded to LSTNR afterwards … 16:05:37.919 sharingd[458] setupDDUIListenerIfNeeded, incoming pairing session … ← TV's pairing request did arrive 16:05:40.538 sharingd[458] Attempting to launch application com.fitonapp.fiton.watchkitapp 16:05:40.688 rapportd[98] Searching for listener agent client with appSvc='com.fitonapp.fiton.FitOnWorkout' 16:05:40.688 rapportd[98] Created new listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=F625EFB1-… : ageOut=180s agentClient=0x0 { } ← no FitOnWorkout ADVERTISE afterwards; the listener never gets the app's agent client
4
0
172
2d
ToolIntent experience on watchOS
ToolIntent is currently marked unavailable on watchOS. (FB25455121) When Siri is invoked on Watch, what behavior(s) can users expect when invoking ToolIntents declared in our paired iOS codebase? Example use case: At their gym, a user leaves their iPhone face down nearby. To Siri on their Watch, they say "I just did 350 lbs 8 reps to failure" or "Rest for 3 minutes" or "Hack squat machine is busy, let's jump to the next exercise". If it matters, we benefit from extended background runtime via a mirrored live HKWorkout between our watch app and iPhone app (which displays a Live Activity).
0
0
253
5d
Watch Ultra 2: How Do I list my app on Auto-Launch Settings
I'm developing a watchOS app for Watch Ultra 2 that implements water detection using CMSubmersionManager. I would like to make it appear in the Auto-Launch settings menu, but my app is not appearing in the settings (Settings &gt; General &gt; Auto-Launch &gt; When Submerged &gt; Selected App).... What additional steps should I take to make this work? Environment Device: Watch Ultra 2 watchOS: 11.2 Xcode: 16.0 Implementation I have implemented the following as per documentation: Added the Shallow Depth and Pressure capability and Entitlement. Added the "Shallow Depth and Pressure" capability Confirmed entitlement "com.apple.developer.submerged-shallow-depth-and-pressure" was automatically added Note: I initially thought I should use "com.apple.developer.submerged-depth-and-pressure" (without "-shallow") since I'm targeting a maximum depth of 6 meters, but this resulted in compilation errors. ref: https://developer.apple.com/forums/thread/740083 ref: https://developer.apple.com/forums/thread/735296 Added NSMotionUsageDescription and WKBackgroundModes &lt;key&gt;NSMotionUsageDescription&lt;/key&gt; &lt;string&gt;Required for water detection&lt;/string&gt; &lt;key&gt;WKBackgroundModes&lt;/key&gt; &lt;array&gt; &lt;string&gt;underwater-depth&lt;/string&gt; &lt;/array&gt; According to the documentation: "It also adds your app to the list of apps that the system can autolaunch when the wearer submerges the watch." What additional steps are needed to make the app appear in Auto-Launch settings? Has anyone successfully implemented this feature?
6
0
2.3k
6d
Replace an approved, unreleased version 1.0 build with a new build (TestFlight first)?
My first app (watchOS) has version 1.0, build 16, approved by App Review and set to manual release, so it is Pending Developer Release. It has never been released. Since then I've added features (Apple Health workout recording) in build 17. I don't want build 16 released. I'd like to: Upload build 17 and test it with internal TestFlight testers. Submit build 17 for review and release it as the app's first public version. Questions Can build 17 be uploaded as version 1.0 while version 1.0 (build 16) is Pending Developer Release, or will the upload be refused with ITMS-90062 ("must contain a higher version than that of the previously approved version")? If it's refused, what's the right path: reject build 16 myself (Developer Rejected) and then submit build 17 under 1.0, or change the version to 1.0.1 for build 17? Can the version number of the existing 1.0 record be edited after a rejection, or do I need a new version? Is it safe to try the TestFlight upload before doing anything to build 16? I don't want to lose the current approval by mistake. Thanks for any guidance.
0
0
124
1w
Is TestFlight officially supported for a watchOS app on an Apple Watch configured with Apple Watch For Your Kids / Family Setup?
I’m validating the officially supported distribution path for an independent watchOS app. Target device Apple Watch Series 6 GPS + Cellular watchOS 26.6 Configured using Apple Watch For Your Kids / Family Setup The Watch belongs to a child Apple Account Managed from the parent/guardian’s iPhone 11 running iOS 27.0 The child does not have their own iPhone Direct development deployment from Xcode is not available in this configuration on my setup. The Family Setup Watch does not appear as a development destination / CoreDevice device and does not expose Developer Mode. Main question Does TestFlight officially support installing a watchOS-only or independently installable watchOS app onto an Apple Watch configured with Apple Watch For Your Kids / Family Setup? If yes: Is installation initiated from TestFlight on the parent/guardian iPhone that manages the Family Watch? Should the Family Setup Watch appear as an eligible Apple Watch target inside TestFlight? Should the child Apple Account or the parent/guardian Apple Account be added as the TestFlight tester? Are there any additional restrictions or requirements specific to Apple Watch For Your Kids / Family Setup? Is Developer Mode required on the Watch for TestFlight installation? I’m specifically asking about an officially supported TestFlight/App Store Connect distribution path, not Ad Hoc distribution, manual IPA installation, private APIs, or unsupported workarounds. Thank you.
1
0
332
1w
Testing app on Apple Watch For Your Kids device
Does Xcode 27 or TestFlight support installing a watch-only beta on an Apple Watch For Your Kids device? I want to test my watch only standalone app on my kids apple watch as that is the only device I have. Is it possible to use that watch for testing standalone apple watch application. The watch is setup as kids watch on my iphone.
1
0
156
1w
watchOS CoreBluetooth: BLE link stability, AutoReconnect and reduced reconnection range
I have a watchOS app communicating with a BLE peripheral during an active HKWorkoutSession. The workout provides sufficient runtime: once connected, the Watch can receive a notifying GATT characteristic approximately once per minute for hours, including while the display is off. In normal conditions the connection is very stable. The difficult case is outdoor use with marginal RF conditions. The peripheral and application protocol otherwise work reliably, but outdoors there are fewer reflected RF paths and normal body movement can intermittently obstruct the Watch-to-peripheral path. In those situations the link occasionally terminates with CBError.connectionTimeout. Reconnection is particularly important because this peripheral advertises for reconnection only approximately once per minute. We also know approximately which second of each minute the peripheral becomes active, so missing a single advertising opportunity can cause a relatively long data gap. I’m trying to better understand the supported CoreBluetooth/watchOS behavior in this situation. Maintaining a marginal existing connection Once the BLE connection is established, are there any public CoreBluetooth mechanisms or recommended practices for making that connection more robust against CBError.connectionTimeout? In particular, can application-level GATT activity have any influence on connection scheduling or link robustness, or is this entirely handled by the Bluetooth stack below CoreBluetooth? CBConnectPeripheralOptionEnableAutoReconnect with sparse advertising When CBConnectPeripheralOptionEnableAutoReconnect is enabled and the connection is lost, how does watchOS handle a peripheral that advertises only very infrequently? Does CoreBluetooth simply keep the reconnect pending and wait for subsequent advertisements indefinitely, subject to system policy? Known peripheral activity timing If the app knows approximately when the peripheral becomes active and advertises each minute, is there any supported way to make use of that timing during reconnection? Or should the app simply leave AutoReconnect pending and let CoreBluetooth handle reception? WWDC22 reduced reconnection range WWDC22 session 10135 says: “If your device is on the edge of Bluetooth range and repeatedly disconnects while in Background BLE connection, the reconnection range will be reduced. This means only devices close to the Apple Watch will reconnect.” The session also says these limits are counted over a rolling 24-hour window and are reset when the user interacts with the app. I would particularly appreciate clarification of how this works in practice: What conditions cause a disconnect to count toward this policy? Does this policy apply while an app has an active HKWorkoutSession and continues executing in the background? Is the state maintained per peripheral, per app, or more globally? What exactly constitutes the user interaction that resets it? Does bringing an already-running workout app back to the foreground reset it, or does the app need to be relaunched? Is there any public API or diagnostic indication that reduced reconnection range is currently active? Is there any supported way to explicitly clear/reset that state? Connection parameters Does watchOS expose any supported mechanism for a CoreBluetooth central to influence parameters relevant to connection robustness, such as connection interval, supervision timeout, PHY, transmit power, or similar link parameters? Diagnosing CBError.connectionTimeout When CoreBluetooth reports CBError.connectionTimeout, is there any supported diagnostic method to determine whether the Watch stopped receiving the peripheral, the peripheral stopped receiving the Watch, or whether this should simply be treated as a link-layer timeout without attribution to either side? For context, this is not primarily a background-runtime problem. The active workout keeps the app running and the normal persistent BLE connection can operate flawlessly for many hours. I’m specifically trying to understand the best supported strategy for preserving and recovering the BLE link when RF conditions temporarily become marginal, especially with a peripheral that advertises very sparsely after a disconnect. DTS asked me to post this question here for review.
5
2
544
1w
Smartwatch engineering question
Hello, I am electronic engineering student. I want to ask question for my project. We all know that smartwatch has a lot of sensor. I have survey 10 manufactures of smartwatches and I found that most of the smartwatches don't provide a feature of ambient temperature and humidity sensor. The only temperature sensor that is installed is body temperature. My questions are: There are a lot of types of sensors in a smartwatch (Like body temperature and GPS) which are used to collect data to be processed. Is there any demand for the data of ambient temperature and humidity of the environment of the user? Are there any data that is wanted by any company, for example by meteorology organizations or medical companies? If I want to integrate this sensor to my smartwatch, I would need to design it so that this sensor will not be influenced by external factors like the local temperature (ie: Body heat, display, processor). At the same time, I also need to provide pathways for air from the environment to the sensor. What do you think is another problem that I would face other than the above?
0
0
512
1w
Paired Apple Watch never appears in Xcode 27 / devicectl, so the Developer Mode toggle never shows on the watch
My paired Apple Watch never shows up in Xcode, so the Developer Mode toggle never appears on the watch (Settings > Privacy & Security). The paired iPhone works perfectly, and I build and install to it every day. Setup Mac: macOS Tahoe 26.6, Xcode 27.0 (watchOS 27 SDK and platform installed) iPhone 15 Pro Max, Developer Mode ON, shows as connected in xcrun devicectl list devices over USB Apple Watch on watchOS 26.x, passcode set, unlocked, on wrist Free personal team (also tried a second free Apple ID; both are signed in to Xcode) Symptom xcrun devicectl list devices lists the iPhone and an iPad, never the watch Devices and Simulators shows no watch under the iPhone No ~/Library/Developer/Xcode/watchOS DeviceSupport folder has ever been created Unified log on the Mac shows no CoreDevice / remotepairing activity for the watch at all. It looks like the Mac never hears from it. Network No router. The Mac gets internet from an iPad over USB and re-shares it over Wi-Fi (macOS Internet Sharing). iPhone and watch are joined to that network. I also tried the Mac and phone on the iPhone's Personal Hotspot. VPN is off and the firewall is off. Already tried, no change Unpaired the watch and paired again (restored from backup) iPhone: Settings > Developer > Clear Trusted Computers, re-trusted, xcrun devicectl manage pair Accepted the "Trust this computer" prompt on the watch after a restart iPhone Developer Mode off, restart, on, restart Signed out of and back in to Xcode accounts; accepted the latest agreements Restarted the Mac, iPhone and watch; waited 5+ minutes with the Devices window open each time Bluetooth and Wi-Fi on everywhere; watch and Mac on the same Wi-Fi Is there a way to force Xcode to discover the watch through the iPhone, or a log predicate that shows why the watch is never offered? Any pointers appreciated.
0
0
93
1w
Apple watch Xcode pairing & connection issues
I’m blocked debugging a watchOS app on a physical Apple Watch. The iPhone connects to Xcode normally (wired), but the Watch either fails to connect with a tunnel timeout or disappears entirely from Xcode after I unpaired it inside Devices & Simulators. Environment Mac: macOS 26.x (Apple Silicon Mac) Xcode: 26.2 iPhone: iOS 26.1 Apple Watch Ultra: watchOS 26.2 (build 23S303) Connection: iPhone connected to Mac via USB (trusted). Watch paired to iPhone and working normally in the Watch app. Issue A (when Watch is visible in Xcode) In Xcode → Window → Devices and Simulators, the Watch shows up but is not usable and fails to connect. Error: “Previous preparation error: A connection to this device could not be established.” “Timed out while attempting to establish tunnel using negotiated network parameters.” In some attempts the Watch shows “Capacity: Unknown” / limited details, and then fails during preparation. Issue B (after unpairing Watch in Xcode only) I unpaired/removed the Watch in Xcode (Devices & Simulators). I did not unpair the Watch from the iPhone. Now: iPhone appears in Xcode and works normally for builds. Watch is still paired to the iPhone and works normally. Watch no longer appears anywhere in Xcode Devices & Simulators (no paired watch section, no watch run destination). What I’ve tried Reboots of Mac, iPhone, Watch (multiple times) Watch unlocked, awake; iPhone unlocked and close to Watch Verified Watch is paired and connected in iPhone Watch app Developer Mode enabled on iPhone and Watch Wi-Fi and Bluetooth ON (Mac/iPhone/Watch), tried toggling both Tried on home Wi-Fi and also with iPhone hotspot (same result) Resetting trust prompts / reconnecting iPhone via USB, re-trusting Mac Apple Watch: “Clear Trusted Computers” Xcode: removing/re-adding devices; clearing derived data; restarting Xcode Watch Developer networking test: Responsiveness = Medium (430 RPM) Questions 1. Is this a known issue/regression with Xcode 26.2 + watchOS 26.2 tunneling (CoreDevice / devicectl)? 2. Is there an Apple-supported way to force Xcode to re-discover a paired Watch after it was removed from Xcode Devices & Simulators (without unpairing the Watch from the iPhone)? 3. Any recommended logs or diagnostic steps I should collect (Console logs, sysdiagnose, specific Xcode/CoreDevice logs) to include in a Feedback report? If helpful, I can provide the full error text from Xcode’s Devices window and any logs you recommend. Thank you in advance,
30
16
6.5k
1w
watchOS 27 Workout sessions record almost no heart rate samples (Series 10) - FB24834050
Filed as FB24834050. Still reproducible on watchOS 27.0.1 (24R365). Posting here in case an Apple engineer can help route it, and to see whether other developers are seeing the same behavior through HealthKit. Minimal reproduction (under 3 minutes, no distance involved) Apple Watch Series 10 (GPS) running watchOS 27.0.1 (24R365), paired to an iPhone 15 running iOS 27. Start an Other workout. Move your arms continuously for about 2 minutes (I use air punches). No treadmill, GPS, or distance calculation involved. End the workout and review the heart rate samples. Result: One heart rate sample at approximately 0:05, then no additional samples for the rest of the workout. Expected: Continuous heart rate sampling every few seconds, which is how the same watch behaved on watchOS 26. This reproduces 100% of the time across every workout type I've tried since updating to watchOS 27.0. It did not occur on watchOS 26 using the same watch, same wrist, and same fit. Key diagnostic: the sensor is working, the workout session path is not. The Heart Rate app reads immediately and continues updating every few seconds, even while a workout is running. Background heart rate sampling outside workout sessions works normally. Active energy for my daily 65-minute session is accurate when no workout is started (405 calories on 9/22/26, consistent with watchOS 26). Recording that same session as an Indoor Walk workout results in roughly half the active calories (typically 185-200 versus high-300s/low-400s before the update). Starting a workout appears to suppress a working measurement path and replace it with one that is failing. Downstream impact A 1:06:13 session has been credited as 9, 35, and 55 exercise minutes on different days. Since exercise-minute credit for walking is heart-rate driven, the lack of heart rate samples appears to directly affect exercise credit. Separate issue in the same build (not the subject of this post) Indoor distance is consistently about 50% low. A 1:06:13 walk at a constant 4.1 mph should be 4.52 miles, but the watch reports roughly 2-3 miles even though step counts are correct. The watchOS 27 User Guide describes a redesigned pedometer model using new machine-learning algorithms for treadmill distance. Series 12 and Ultra 4 owners are reporting the same shortfall with matching step counts, including on clean installs, so this does not appear to be hardware-specific. The heart rate dropout reproduces in the Other workout type, which performs no distance calculation, so the two issues appear to be independent regressions. Already ruled out Health details are correct Wrist Detection enabled Power Saving Mode off on both watch and iPhone Heart Rate and Fitness Tracking permissions enabled Motion Calibration & Distance enabled Watch fit and position unchanged Both devices restarted Fitness Calibration Data reset Full unpair/re-pair Multiple workout types tested Pause/resume mid-workout (heart rate briefly shows "Searching" and then drops out again) FB24834050 includes two sysdiagnoses from watchOS 27.0 and currently shows "Recent Similar Reports: More than 10." Status remains Open with no response. Ask Can anyone from Apple confirm whether this is a known/tracked issue? Also, would a sysdiagnose captured using the watchOS logging profile from the Apple bug-reporting site be useful? I'm happy to install the profile, reproduce the issue in under three minutes, and attach fresh logs. I'm also interested in hearing from developers using HKWorkoutSession. Are you seeing the same heart-rate sample gaps on watchOS 27 in your own apps? That would help determine whether this is specific to the Workout app or a regression in the workout session layer underneath it. Thanks!
3
2
422
2w
WatchOS Companion app on VPP Crashing on Launch
Hello, I sent this in as a feedback several weeks ago about watchOS 26.2 beta 2 but since the issue is still active now that watchOS 26.2 is in production I'm reposting here for the community. I would also like to submit a DTS about this issue but honestly don't know the best way to go about it and would appreciate advice about that. There seems to be an issue with VPP distribution for our app on watchOS 26.2. When our watchOS companion app is launched after being installed through VPP to a supervised iPhone, it encounters a dyld error before main() or any application code is even called. The same app launches correctly in every other circumstance we could imagine and test: – Installed through VPP on supervised devices running watchOS 26.1. – Installed from the app store (using an apple id) on a supervised iPhone and paired watch running iOS 26.2 / watchOS 26.2. – Installed through Testflight on a supervised iPhone and paired watch running iOS 26.2 / watchOS 26.2. – Installed through the app store on unsupervised devices running watchOS 26.1 and 26.2. This strongly appears to be a VPP signing issue because we even did the following experiment: Install iPhone and Watch apps through the App Store on a supervised device pair running public iOS 26.2 beta 2 / watchOS 26.2 beta 2. Verify that both apps launch successfully. Use an MDM command to install from VPP over the existing installations Verify that the watch app fails to launch (the iOS app is unaffected) My feedback included some crash logs which I won't be reposting publicly here. Any feedback or ideas appreciated.
3
2
2.4k
2w
watchOS 26.2/26.3: watch app killed by dyld before main() — getNameSelRefVMAddr assertion (FB25270892)
Our App Store watch app is being terminated by dyld before any app code runs, only on watchOS 26.2 (23S303) and 26.3 (23S620). Only the arm64 slice is affected (Series 9/10, Ultra 2), and almost always on background launches. Termination Reason: DYLD 9 Assertion failed: (0), function getNameSelRefVMAddr, file ObjCVisitor.cpp, line 1319. objc_visitor::Method::getNameSelRefVMAddr (ObjCVisitor.cpp:1319) dyld4::optimizeObjCSelectors (PrebuiltObjC.cpp:530) dyld4::PrebuiltObjC::make (PrebuiltObjC.cpp:1372) dyld4::PrebuiltLoaderSet::makeLaunchSet (PrebuiltLoader.cpp:2309) dyld4::prepare (dyldMain.cpp:960)Our previous app version crashes in the same function with SIGSEGV instead (same frame offsets on the same dyld build). The fault address lies just past a mapped-file region. What we checked: The crashing binary UUID matches our archive. Every ObjC method list in every image is a standard relative list (0x80000000). None has the selector-offset flag (0x40000000), which is what that assertion branch expects according to the open-source dyld. dyld_info -objc parses all images cleanly. Build settings and linker flags are defaults (Xcode 27.1). So it looks like dyld is reading the wrong data while building the launch closure, rather than our binary being malformed. This seems related to https://developer.apple.com/forums/thread/810471: same OS range, same "dyld before main(), ObjC metadata" symptom. That report involves VPP installs, while ours is App Store distribution. Full crash logs, binaries and analysis are in FB25270892. Has anyone else seen this? Is it fixed in watchOS 26.4 or later, and is there any workaround on the app side?
4
0
230
2w
Can watchOS apps access Apple-generated sleep stages in real time for a smart alarm?
I’m evaluating a native watchOS smart-alarm app and would like to clarify whether public APIs support its core requirement before building a prototype. The app would wake the user during a 20–30-minute window before their selected alarm time, using Apple Watch’s own sleep-stage classifications available through HealthKit’s sleepAnalysis category: Core, Deep, REM, and Awake. I have reviewed HKCategoryValueSleepAnalysis, HKAnchoredObjectQuery, HKObserverQuery, background delivery, and WKExtendedRuntimeSession’s Smart Alarm mode. However, I haven’t found documentation establishing when Apple-generated sleep-stage samples become available during an ongoing sleep session. Could you clarify: Are Apple-generated sleep-stage samples written to the Watch’s local HealthKit store during sleep, or only after the sleep session ends or subsequent processing? If available during sleep, is there any documented update cadence or latency that would make them suitable for a smart alarm? Should the latest sample be treated only as a retrospective classification rather than the current sleep stage? Can an app query these samples during a Smart Alarm extended runtime session while the Watch is worn and unlocked, with its display off and Sleep Focus enabled? Are there relevant execution or data-access restrictions? If this use case is unsupported, is there any public API that exposes Apple’s current sleep-stage estimate? If not, which Feedback Assistant category is appropriate for requesting this capability? The intended approach queries HealthKit directly on Apple Watch, without depending on Watch-to-iPhone synchronization, and retains a fixed latest wake-up time as a fallback. This is an API feasibility question, not a reproduced bug. I haven’t yet built or tested a prototype. Thank you.
2
0
285
2w
Extended Runtime API - Health Monitoring
In the WWDC 2019 session "Extended Runtime for WatchOS apps" the video talks about an entitlement being required to use the HR sensor judiciously in the background. It provides a link to request the entitlement which no longer works: http://developer.apple.com/contect/request/health-monitoring The session video is also quite hard to find these days. Does anyone know why this is the case? Is the API and entitlement still available? Is there a supported way to run, even periodically, in the background on the Watch app (ignoring the background observer route which is known to be unreliable) and access existing HR sensor data
16
1
3.0k
2w
A Summary of the WWDC25 Group Lab - watchOS (Part 1)
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for watchOS (part 1). 1. I'm really excited about the new design system on all platforms. Liquid Glass is super cool. What do developers need to keep in mind when building for watchOS 26? To adopt the new design system, start with updating your app for watchOS 10 – If you have done so, your app will be mostly ready for watchOS 26. For more information, see Design and build apps for WatchOS 10. You can then look into Liquid Glass specific APIs to fine tune your app. This topic is covered in Adopting Liquid Glass. If you have SwiftUI views using any custom style, make sure they are still legible and fit with the new design system. 2. Something that really stood out to me were updates to the Smart Stack, with the system prioritizing Widgets when they're most relevant. Tell me more about these new opportunities for apps. Workout apps that record workouts using HealthKit may be automatically suggested on the watch face and appear in the Smart Stack without adding a widget. Relevant widgets are a great way to present information related to a date, location, point-of-interest type, sleep schedule, or fitness condition in the Smart Stack when it is relevant. Relevant widgets don't need to display a empty state view when they are not relevant. They are only shown in the Smart Stack when relevant. The watchOS 26 Design ToolKit in the Apple Design Resources includes a set of templates that you can use to layout your widgets. 3. Is the Wrist Flick gesture available to developers in the same way as Double Tap is? The system uses Wrist Flick to dismiss notifications and incoming calls, silence timers and alarms, or return to the watch face. There is no separate API for the Wrist Flick gesture. Apps that are using XCUIAutomation to make sure their user interface behaves as intended can use the XCUIDeviceHandGesture.flick to automate tests that verify that their app responds appropriately to the Wrist Flick gesture. For apps using automated testing, the XCUIDeviceHandGesture.doubleTap can be also be used to automate testing of the app with the Double Tap gesture. See XCUIDevice.perform(handGesture:) 4. Can HRV measurements be triggered on demand via API in watchOS? Guidelines or processes for enabling energy-intensive biometric sampling on development devices for IRB-approved research? You don’t have direct control on the sampling rate in watchOS. You can use HealthKit (HKQuantityTypeIdentifierHeartRateVariabilitySDNN, to be specific) to query the HRV data, once the system has sampled and persisted the data to HealthKit. If that doesn’t help, we suggest that you file a feedback report with your concrete use case for us to investigate. Specific to IRB-approved research using Apple Watch or its companion iPhone, you might want to look at this FAQ and SensorKit to see if they can be of any help. 5. What is the best advice for someone who is new to making a watchOS app that’s been on iOS and iPadOS? You can start with exploring the system experience features on watchOS, such as notifications, controls, and widgets, and getting familiar with the system spaces, like Smart Stack, watch face, and control center. Knowing the watchOS app design principles and practices is important as well. Design and build apps for WatchOS 10 is a great resource for this topic. SwiftUI is an amazing across-platform framework, and you will use it to create your watchOS app. If you're already using it, great! Keep in mind some watch-only constraints. Comparing to iPhone or iPad, Apple Watch has a limited battery and smaller screen size, which significantly impacts how people use your app and how your app works. 6. Was there any extension this year to the 7 day limit on querying Apple Health data on the watch? There is no change on the limit this year. You can get this official limit at runtime using earliestPermittedSampleDate. There are some exceptions, and so don't be surprised if you see some data types are retained longer. The companion iPhone holds the full set of the health data. If you need to access the health data that has been purged from the Apple Watch, consider doing it with your iOS app, and then passing the result to your watchOS app.
Replies
0
Boosts
0
Views
615
Activity
Jul ’25
A Summary of the WWDC25 Group Lab - watchOS (Part 2)
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for watchOS (part 2). 7. For widget (complication) update budgets, is there an overall budget or are scheduled update separate from APNS updates? For context I have a complication that is updated on a fixed schedule (every 20 min), but there can be times of the day that are more "interesting" where pushes make sense. Like timeline updates, the system budgets WidgetKit push notifications and delivers them opportunistically. You can use WidgetKit push notification updates as an addition to timeline updates. For more information, see Updating widgets with WidgetKit push notifications. 8. It seems like the new Control Center widgets can be sourced from either the iPhone or directly on the Watch. Can we control whether a control appears in the watch list, or will it always be a combination of all controls from both sources? iPhone controls will be automatically available on the companion Apple Watch, even if they don’t have an associated watchOS app. When an iPhone control is tapped on the Apple Watch, the action is performed on the iPhone. Controls whose actions foreground the iOS app will not appear on Apple Watch. If a watchOS app has controls, no controls will appear on Apple Watch from the companion iOS app. 9. From UI/UX perspective, what are the current practices for Designing watchOS apps that feels native. The WWDC23 session Design and build apps for WatchOS 10 covers the details of watchOS design principles and how to apply them in your app using SwiftUI. A lot of SwiftUI APIs, such as NavigationSplitView, vertical tab view, list view, and etc, already implement the look and feel native to watchOS. 10. When adopting the new design system on watchOS, it seems like the main place we will use the glass effect is for our buttons in toolbar? Standard buttons in system apps seem to continue to use a flat appearance and full width. We leave the choice to you – You can use the new GlassButtonStyle API or .buttonStyle(.glass) to apply the liquid glass material to buttons. Learn when to use the Liquid Glass styles in Get to know the new design system. 11. Is there any way to gracefully migrate extensions when their bundleIDs have to change? e.g., converting a multi-target watch app to single-target, which drops the .watchkitextension from both the app and WidgetKit ext bundleIDs Updating a watchOS app to single-target is covered in TechNote TN3157: Updating your watchOS project for SwiftUI and WidgetKit. Xcode provides a tool that can do the update automatically, and the technote describes the details about how to use it and how to clean up the project after the automatic update. If there's something that technote doesn't address, please reach out to us on the Developer Forums. 12. What is the status of WatchConnectivity? Is that still the preferred way for iOS + watchOS communications? The Watch Connectivity framework is still supported, and is appropriate for the communication between an watchOS app and its companion iOS app. The systems also provide other APIs for the apps to exchange data. For example, watchOS supports Apple Push Notification service (APNs). If data for your widget changes on your server, your widget can receive a WidgetKit push notification, and update accordingly. That’s the preferred mechanism for widget updates.
Replies
0
Boosts
0
Views
629
Activity
Jul ’25
WatchOS 27 throttles BLE discoveries
Hi! We have an app that highly depends on CoreBluetooth including scanning for peripherals with an advertised serviceUUID. Our app sets the CBCentralManagerScanOptionAllowDuplicatesKey flag to true while scanning. Receiving continuous discovery events about nearby devices is key to measure the RSSI before connecting. Updating some of our test devices to watchOS 27 we noticed that our app is broken. To analyze further we created a simple app to compare behavior between watchOS 26 and 27, and the difference is clear. On the 27 device it behaves like the flag is ignored and we only receive a couple of callbacks to centralManager(_:didDiscover:advertisementData:rssi:) then it stops. We could not find any documentation declaring this as a new restriction or something regarding that has changed. Is this a bug, or is there a way to get the old behavior on the new OS? The example app used for testing is available here: https://github.com/levente-gulyas-skidata/WatchBLEExperiments (Change the serviceUUID for testing if needed) Thank you, Levi
Replies
2
Boosts
4
Views
225
Activity
32s
CMMotionActivityManager: past activities move in time between queries (watchOS 27, Apple Watch Ultra 4)
When I query the same past period with CMMotionActivityManager.queryActivityStarting(from:to:to:) at two different times, the second result contains the same activities, but their startDate values are earlier. Setup Apple Watch Ultra 4 (Watch8,1), watchOS 27.0.1 My app reads the activity history a few minutes after it happens and stores it. Later it queries the same period again and compares the results. What I see The activity types and durations do not change. Whole blocks of history move back in time by a constant offset. Example from today's query, compared with the stored values: Period of the dataOffsetNov 8, 12:47 – 19:55−155 sNov 8, 19:57 – Nov 9, 17:18−95 sNov 9, 17:19 – now0 sYesterday at 17:19, the same Nov 8 evening data had an offset of 0 s. So the offset changes over time, not only with the age of the data. New steps add up: when a step occurs, all older history moves back by the same amount. Earlier I saw offsets of −60 s, −123 s, −177 s and −340 s. The stored values match HealthKit workout start and end times within about 8 s. The re-queried values do not (for example −52 s at the start of a run). timestamp of these activities is equal to startDate (seconds since 2001), so it does not help to match them. I did not see this on Apple Watch Ultra 3 with watchOS 27, but I have only one comparison from that watch. Questions Is startDate of a past CMMotionActivity expected to stay the same? If not, which event changes it, and is there a way to detect it? What is the recommended way to get stable times from the activity history? I log every query on the watch (all activities plus clock and battery state every 30 minutes), so I can share data or a sysdiagnose. I will also file a Feedback.
Replies
0
Boosts
0
Views
32
Activity
1d
Standalone watchOS app cannot submit first auto-renewable subscriptions – App Store Connect validation conflict
I am seeking guidance from an Apple App Store Connect or StoreKit engineer regarding a submission issue that prevents the initial release of my standalone watchOS application. Application configuration App: My Curl Clock Developer: Frostline Labs Inc. Platform: Standalone watchOS (watch-only) App version: 1.0, Build 5 Architecture: Xcode-generated iOS wrapper containing the watchOS application Monetization: Two auto-renewable subscriptions (Basic Annual and Pro Annual) Subscription group: My Curl Clock Background My application was previously rejected under App Review Guideline 2.1(b). App Review instructed me to submit the subscriptions together with a new app binary. I have configured both subscription products and their subscription group in App Store Connect. I then created a draft submission containing: My Curl Clock Version 1.0 (Build 5) Basic Annual subscription Pro Annual subscription My Curl Clock subscription group However, App Store Connect prevents submission with the following validation error: In-app purchases and subscriptions are currently not supported on Apple Watch. To submit this app version, you must remove all in-app purchases or subscriptions from this submission. Conflicting requirements Apple's App Store Connect documentation states that the first auto-renewable subscription must be submitted with a new app version. The same documentation also states that in-app purchases and subscriptions cannot be included in an Apple Watch app-version submission. Apple's documentation for independent watchOS applications describes an iOS wrapper architecture and supports purchases directly on Apple Watch. These requirements appear to create a circular submission problem: The first subscription requires an app version. App Store Connect blocks adding subscriptions to the Apple Watch app-version submission. Removing the subscriptions conflicts with App Review's instructions. Steps already taken Confirmed that both subscriptions and their subscription group are included in the draft submission. Contacted Apple Developer Support (Case 103004272249). Provided the exact validation error and supporting screenshot. Submitted a formal report through Feedback Assistant (FB25450734). Developer Support has recommended posting in the Developer Forums but has not identified a supported submission procedure or workaround. Questions for Apple engineers What is the supported procedure for submitting the first auto-renewable subscriptions for a standalone watchOS application? Can the initial subscription group and products be submitted separately or associated with the app version through an alternative supported process? Does App Store Connect require a functional iOS companion app for the initial approval of subscriptions, despite StoreKit supporting purchases directly on Apple Watch? Is this a known App Store Connect limitation, particularly following the changes to the submission process in July 2026? Is there a supported workaround that allows compliance with both App Review's instructions and App Store Connect's validation requirements? References Apple — Creating independent watchOS apps: https://developer.apple.com/documentation/watchos-apps/creating-independent-watchos-apps Apple — Submit an In-App Purchase: https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-an-in-app-purchase Related developer discussion: https://developer.apple.com/forums/thread/842983 Feedback Assistant: FB25450734 I would appreciate guidance from an Apple engineer familiar with App Store Connect submissions and StoreKit on watchOS. At present, this issue completely prevents the initial release of an otherwise completed application.
Replies
0
Boosts
0
Views
81
Activity
1d
watchOS 27: third-party NWListener application service advertisement is denied by NECP policy, so DeviceDiscoveryUI pairing from tvOS never completes
On watchOS 27, a third-party watch app that advertises an application service with NWListener (default NWParameters.applicationService, service declared in NSApplicationServices → Advertises) is never advertised: the advertiser path is denied by NECP policy. As a result, when a tvOS app presents DDDevicePickerViewController and the user selects the watch and taps Connect on the watch, sharingd finds no listener (listenerID (null)), the pairing times out after ~30 s, and the tvOS picker's endpoint never returns — neither an endpoint nor an error. Raw lines: watchOS 26.6 (success, pid 267) 16:00:55.891 AppleWatch[267] -[_NWAdvertiser start] [L1] Starting advertiser 16:00:55.891 AppleWatch[267] -[_NWAdvertiser updateFlows:]_block_invoke [L1] Added listener flow ID 667B9945-… 16:00:55.926 rapportd[48] Found registered listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=0A1149F2-… : ageOut=179s agentClient=0x0 { 'kebike' } 16:00:55.927 rapportd[48] Updated RPNWAgentClient[0x176cc550] (LSTNR): < appSvc=com.fitonapp.fiton.FitOnWorkout PID:267 entitled=0 … browseToken=[pid:267,id:667B9945] … > 16:00:55.930 rapportd[48] [pid:267,id:A20E8919] createListenerFramer calling assign with local endpoint=::.51714 16:01:09.956 rapportd[48] [pid:267,id:F7883D0D] ADVERTISE: Start advertise 'FitOnWorkout' request QUIC=NO isTCP=YES params:[tcp, pid: 267, local: ::.51714, …] 16:01:29.352 rapportd[48] Created incoming RPNWConnection[CONN[5BCD2213-…] (IN): … appSvc=com.fitonapp.fiton.FitOnWorkout … EP={kebike:…}] 16:01:29.399 rapportd[48] [pid:267,id:3346E704] assigning connection ::.51714 <-> app_svc: com.fitonapp.fiton.FitOnWorkout, service_id: D2D4D049-… 16:01:29.404 AppleWatch[267] nw_connection_report_state_with_handler_on_nw_queue [C2] reporting state ready Raw lines: watchOS 27 (failure, 10-21) 16:00:48.761 AppleWatch[556] -[_NWAdvertiser start] [L1] Starting advertiser with descriptor: FitOnWorkout scope:3f … 16:00:48.761 AppleWatch[556] -[_NWAdvertiser updateFlows:] [L1] Listener skipping advertise flows due to unsatisfied path with policy drop 16:00:48.760 rapportd[98] [pid:556,id:C1D4B82D] createListenerFramer: incorrect agent type ← never upgraded to LSTNR afterwards … 16:05:37.919 sharingd[458] setupDDUIListenerIfNeeded, incoming pairing session … ← TV's pairing request did arrive 16:05:40.538 sharingd[458] Attempting to launch application com.fitonapp.fiton.watchkitapp 16:05:40.688 rapportd[98] Searching for listener agent client with appSvc='com.fitonapp.fiton.FitOnWorkout' 16:05:40.688 rapportd[98] Created new listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=F625EFB1-… : ageOut=180s agentClient=0x0 { } ← no FitOnWorkout ADVERTISE afterwards; the listener never gets the app's agent client
Replies
4
Boosts
0
Views
172
Activity
2d
ToolIntent experience on watchOS
ToolIntent is currently marked unavailable on watchOS. (FB25455121) When Siri is invoked on Watch, what behavior(s) can users expect when invoking ToolIntents declared in our paired iOS codebase? Example use case: At their gym, a user leaves their iPhone face down nearby. To Siri on their Watch, they say "I just did 350 lbs 8 reps to failure" or "Rest for 3 minutes" or "Hack squat machine is busy, let's jump to the next exercise". If it matters, we benefit from extended background runtime via a mirrored live HKWorkout between our watch app and iPhone app (which displays a Live Activity).
Replies
0
Boosts
0
Views
253
Activity
5d
Watch Ultra 2: How Do I list my app on Auto-Launch Settings
I'm developing a watchOS app for Watch Ultra 2 that implements water detection using CMSubmersionManager. I would like to make it appear in the Auto-Launch settings menu, but my app is not appearing in the settings (Settings &gt; General &gt; Auto-Launch &gt; When Submerged &gt; Selected App).... What additional steps should I take to make this work? Environment Device: Watch Ultra 2 watchOS: 11.2 Xcode: 16.0 Implementation I have implemented the following as per documentation: Added the Shallow Depth and Pressure capability and Entitlement. Added the "Shallow Depth and Pressure" capability Confirmed entitlement "com.apple.developer.submerged-shallow-depth-and-pressure" was automatically added Note: I initially thought I should use "com.apple.developer.submerged-depth-and-pressure" (without "-shallow") since I'm targeting a maximum depth of 6 meters, but this resulted in compilation errors. ref: https://developer.apple.com/forums/thread/740083 ref: https://developer.apple.com/forums/thread/735296 Added NSMotionUsageDescription and WKBackgroundModes &lt;key&gt;NSMotionUsageDescription&lt;/key&gt; &lt;string&gt;Required for water detection&lt;/string&gt; &lt;key&gt;WKBackgroundModes&lt;/key&gt; &lt;array&gt; &lt;string&gt;underwater-depth&lt;/string&gt; &lt;/array&gt; According to the documentation: "It also adds your app to the list of apps that the system can autolaunch when the wearer submerges the watch." What additional steps are needed to make the app appear in Auto-Launch settings? Has anyone successfully implemented this feature?
Replies
6
Boosts
0
Views
2.3k
Activity
6d
Replace an approved, unreleased version 1.0 build with a new build (TestFlight first)?
My first app (watchOS) has version 1.0, build 16, approved by App Review and set to manual release, so it is Pending Developer Release. It has never been released. Since then I've added features (Apple Health workout recording) in build 17. I don't want build 16 released. I'd like to: Upload build 17 and test it with internal TestFlight testers. Submit build 17 for review and release it as the app's first public version. Questions Can build 17 be uploaded as version 1.0 while version 1.0 (build 16) is Pending Developer Release, or will the upload be refused with ITMS-90062 ("must contain a higher version than that of the previously approved version")? If it's refused, what's the right path: reject build 16 myself (Developer Rejected) and then submit build 17 under 1.0, or change the version to 1.0.1 for build 17? Can the version number of the existing 1.0 record be edited after a rejection, or do I need a new version? Is it safe to try the TestFlight upload before doing anything to build 16? I don't want to lose the current approval by mistake. Thanks for any guidance.
Replies
0
Boosts
0
Views
124
Activity
1w
Is TestFlight officially supported for a watchOS app on an Apple Watch configured with Apple Watch For Your Kids / Family Setup?
I’m validating the officially supported distribution path for an independent watchOS app. Target device Apple Watch Series 6 GPS + Cellular watchOS 26.6 Configured using Apple Watch For Your Kids / Family Setup The Watch belongs to a child Apple Account Managed from the parent/guardian’s iPhone 11 running iOS 27.0 The child does not have their own iPhone Direct development deployment from Xcode is not available in this configuration on my setup. The Family Setup Watch does not appear as a development destination / CoreDevice device and does not expose Developer Mode. Main question Does TestFlight officially support installing a watchOS-only or independently installable watchOS app onto an Apple Watch configured with Apple Watch For Your Kids / Family Setup? If yes: Is installation initiated from TestFlight on the parent/guardian iPhone that manages the Family Watch? Should the Family Setup Watch appear as an eligible Apple Watch target inside TestFlight? Should the child Apple Account or the parent/guardian Apple Account be added as the TestFlight tester? Are there any additional restrictions or requirements specific to Apple Watch For Your Kids / Family Setup? Is Developer Mode required on the Watch for TestFlight installation? I’m specifically asking about an officially supported TestFlight/App Store Connect distribution path, not Ad Hoc distribution, manual IPA installation, private APIs, or unsupported workarounds. Thank you.
Replies
1
Boosts
0
Views
332
Activity
1w
Testing app on Apple Watch For Your Kids device
Does Xcode 27 or TestFlight support installing a watch-only beta on an Apple Watch For Your Kids device? I want to test my watch only standalone app on my kids apple watch as that is the only device I have. Is it possible to use that watch for testing standalone apple watch application. The watch is setup as kids watch on my iphone.
Replies
1
Boosts
0
Views
156
Activity
1w
watchOS CoreBluetooth: BLE link stability, AutoReconnect and reduced reconnection range
I have a watchOS app communicating with a BLE peripheral during an active HKWorkoutSession. The workout provides sufficient runtime: once connected, the Watch can receive a notifying GATT characteristic approximately once per minute for hours, including while the display is off. In normal conditions the connection is very stable. The difficult case is outdoor use with marginal RF conditions. The peripheral and application protocol otherwise work reliably, but outdoors there are fewer reflected RF paths and normal body movement can intermittently obstruct the Watch-to-peripheral path. In those situations the link occasionally terminates with CBError.connectionTimeout. Reconnection is particularly important because this peripheral advertises for reconnection only approximately once per minute. We also know approximately which second of each minute the peripheral becomes active, so missing a single advertising opportunity can cause a relatively long data gap. I’m trying to better understand the supported CoreBluetooth/watchOS behavior in this situation. Maintaining a marginal existing connection Once the BLE connection is established, are there any public CoreBluetooth mechanisms or recommended practices for making that connection more robust against CBError.connectionTimeout? In particular, can application-level GATT activity have any influence on connection scheduling or link robustness, or is this entirely handled by the Bluetooth stack below CoreBluetooth? CBConnectPeripheralOptionEnableAutoReconnect with sparse advertising When CBConnectPeripheralOptionEnableAutoReconnect is enabled and the connection is lost, how does watchOS handle a peripheral that advertises only very infrequently? Does CoreBluetooth simply keep the reconnect pending and wait for subsequent advertisements indefinitely, subject to system policy? Known peripheral activity timing If the app knows approximately when the peripheral becomes active and advertises each minute, is there any supported way to make use of that timing during reconnection? Or should the app simply leave AutoReconnect pending and let CoreBluetooth handle reception? WWDC22 reduced reconnection range WWDC22 session 10135 says: “If your device is on the edge of Bluetooth range and repeatedly disconnects while in Background BLE connection, the reconnection range will be reduced. This means only devices close to the Apple Watch will reconnect.” The session also says these limits are counted over a rolling 24-hour window and are reset when the user interacts with the app. I would particularly appreciate clarification of how this works in practice: What conditions cause a disconnect to count toward this policy? Does this policy apply while an app has an active HKWorkoutSession and continues executing in the background? Is the state maintained per peripheral, per app, or more globally? What exactly constitutes the user interaction that resets it? Does bringing an already-running workout app back to the foreground reset it, or does the app need to be relaunched? Is there any public API or diagnostic indication that reduced reconnection range is currently active? Is there any supported way to explicitly clear/reset that state? Connection parameters Does watchOS expose any supported mechanism for a CoreBluetooth central to influence parameters relevant to connection robustness, such as connection interval, supervision timeout, PHY, transmit power, or similar link parameters? Diagnosing CBError.connectionTimeout When CoreBluetooth reports CBError.connectionTimeout, is there any supported diagnostic method to determine whether the Watch stopped receiving the peripheral, the peripheral stopped receiving the Watch, or whether this should simply be treated as a link-layer timeout without attribution to either side? For context, this is not primarily a background-runtime problem. The active workout keeps the app running and the normal persistent BLE connection can operate flawlessly for many hours. I’m specifically trying to understand the best supported strategy for preserving and recovering the BLE link when RF conditions temporarily become marginal, especially with a peripheral that advertises very sparsely after a disconnect. DTS asked me to post this question here for review.
Replies
5
Boosts
2
Views
544
Activity
1w
Smartwatch engineering question
Hello, I am electronic engineering student. I want to ask question for my project. We all know that smartwatch has a lot of sensor. I have survey 10 manufactures of smartwatches and I found that most of the smartwatches don't provide a feature of ambient temperature and humidity sensor. The only temperature sensor that is installed is body temperature. My questions are: There are a lot of types of sensors in a smartwatch (Like body temperature and GPS) which are used to collect data to be processed. Is there any demand for the data of ambient temperature and humidity of the environment of the user? Are there any data that is wanted by any company, for example by meteorology organizations or medical companies? If I want to integrate this sensor to my smartwatch, I would need to design it so that this sensor will not be influenced by external factors like the local temperature (ie: Body heat, display, processor). At the same time, I also need to provide pathways for air from the environment to the sensor. What do you think is another problem that I would face other than the above?
Replies
0
Boosts
0
Views
512
Activity
1w
Paired Apple Watch never appears in Xcode 27 / devicectl, so the Developer Mode toggle never shows on the watch
My paired Apple Watch never shows up in Xcode, so the Developer Mode toggle never appears on the watch (Settings > Privacy & Security). The paired iPhone works perfectly, and I build and install to it every day. Setup Mac: macOS Tahoe 26.6, Xcode 27.0 (watchOS 27 SDK and platform installed) iPhone 15 Pro Max, Developer Mode ON, shows as connected in xcrun devicectl list devices over USB Apple Watch on watchOS 26.x, passcode set, unlocked, on wrist Free personal team (also tried a second free Apple ID; both are signed in to Xcode) Symptom xcrun devicectl list devices lists the iPhone and an iPad, never the watch Devices and Simulators shows no watch under the iPhone No ~/Library/Developer/Xcode/watchOS DeviceSupport folder has ever been created Unified log on the Mac shows no CoreDevice / remotepairing activity for the watch at all. It looks like the Mac never hears from it. Network No router. The Mac gets internet from an iPad over USB and re-shares it over Wi-Fi (macOS Internet Sharing). iPhone and watch are joined to that network. I also tried the Mac and phone on the iPhone's Personal Hotspot. VPN is off and the firewall is off. Already tried, no change Unpaired the watch and paired again (restored from backup) iPhone: Settings > Developer > Clear Trusted Computers, re-trusted, xcrun devicectl manage pair Accepted the "Trust this computer" prompt on the watch after a restart iPhone Developer Mode off, restart, on, restart Signed out of and back in to Xcode accounts; accepted the latest agreements Restarted the Mac, iPhone and watch; waited 5+ minutes with the Devices window open each time Bluetooth and Wi-Fi on everywhere; watch and Mac on the same Wi-Fi Is there a way to force Xcode to discover the watch through the iPhone, or a log predicate that shows why the watch is never offered? Any pointers appreciated.
Replies
0
Boosts
0
Views
93
Activity
1w
Apple watch Xcode pairing & connection issues
I’m blocked debugging a watchOS app on a physical Apple Watch. The iPhone connects to Xcode normally (wired), but the Watch either fails to connect with a tunnel timeout or disappears entirely from Xcode after I unpaired it inside Devices & Simulators. Environment Mac: macOS 26.x (Apple Silicon Mac) Xcode: 26.2 iPhone: iOS 26.1 Apple Watch Ultra: watchOS 26.2 (build 23S303) Connection: iPhone connected to Mac via USB (trusted). Watch paired to iPhone and working normally in the Watch app. Issue A (when Watch is visible in Xcode) In Xcode → Window → Devices and Simulators, the Watch shows up but is not usable and fails to connect. Error: “Previous preparation error: A connection to this device could not be established.” “Timed out while attempting to establish tunnel using negotiated network parameters.” In some attempts the Watch shows “Capacity: Unknown” / limited details, and then fails during preparation. Issue B (after unpairing Watch in Xcode only) I unpaired/removed the Watch in Xcode (Devices & Simulators). I did not unpair the Watch from the iPhone. Now: iPhone appears in Xcode and works normally for builds. Watch is still paired to the iPhone and works normally. Watch no longer appears anywhere in Xcode Devices & Simulators (no paired watch section, no watch run destination). What I’ve tried Reboots of Mac, iPhone, Watch (multiple times) Watch unlocked, awake; iPhone unlocked and close to Watch Verified Watch is paired and connected in iPhone Watch app Developer Mode enabled on iPhone and Watch Wi-Fi and Bluetooth ON (Mac/iPhone/Watch), tried toggling both Tried on home Wi-Fi and also with iPhone hotspot (same result) Resetting trust prompts / reconnecting iPhone via USB, re-trusting Mac Apple Watch: “Clear Trusted Computers” Xcode: removing/re-adding devices; clearing derived data; restarting Xcode Watch Developer networking test: Responsiveness = Medium (430 RPM) Questions 1. Is this a known issue/regression with Xcode 26.2 + watchOS 26.2 tunneling (CoreDevice / devicectl)? 2. Is there an Apple-supported way to force Xcode to re-discover a paired Watch after it was removed from Xcode Devices & Simulators (without unpairing the Watch from the iPhone)? 3. Any recommended logs or diagnostic steps I should collect (Console logs, sysdiagnose, specific Xcode/CoreDevice logs) to include in a Feedback report? If helpful, I can provide the full error text from Xcode’s Devices window and any logs you recommend. Thank you in advance,
Replies
30
Boosts
16
Views
6.5k
Activity
1w
watchOS 27 Workout sessions record almost no heart rate samples (Series 10) - FB24834050
Filed as FB24834050. Still reproducible on watchOS 27.0.1 (24R365). Posting here in case an Apple engineer can help route it, and to see whether other developers are seeing the same behavior through HealthKit. Minimal reproduction (under 3 minutes, no distance involved) Apple Watch Series 10 (GPS) running watchOS 27.0.1 (24R365), paired to an iPhone 15 running iOS 27. Start an Other workout. Move your arms continuously for about 2 minutes (I use air punches). No treadmill, GPS, or distance calculation involved. End the workout and review the heart rate samples. Result: One heart rate sample at approximately 0:05, then no additional samples for the rest of the workout. Expected: Continuous heart rate sampling every few seconds, which is how the same watch behaved on watchOS 26. This reproduces 100% of the time across every workout type I've tried since updating to watchOS 27.0. It did not occur on watchOS 26 using the same watch, same wrist, and same fit. Key diagnostic: the sensor is working, the workout session path is not. The Heart Rate app reads immediately and continues updating every few seconds, even while a workout is running. Background heart rate sampling outside workout sessions works normally. Active energy for my daily 65-minute session is accurate when no workout is started (405 calories on 9/22/26, consistent with watchOS 26). Recording that same session as an Indoor Walk workout results in roughly half the active calories (typically 185-200 versus high-300s/low-400s before the update). Starting a workout appears to suppress a working measurement path and replace it with one that is failing. Downstream impact A 1:06:13 session has been credited as 9, 35, and 55 exercise minutes on different days. Since exercise-minute credit for walking is heart-rate driven, the lack of heart rate samples appears to directly affect exercise credit. Separate issue in the same build (not the subject of this post) Indoor distance is consistently about 50% low. A 1:06:13 walk at a constant 4.1 mph should be 4.52 miles, but the watch reports roughly 2-3 miles even though step counts are correct. The watchOS 27 User Guide describes a redesigned pedometer model using new machine-learning algorithms for treadmill distance. Series 12 and Ultra 4 owners are reporting the same shortfall with matching step counts, including on clean installs, so this does not appear to be hardware-specific. The heart rate dropout reproduces in the Other workout type, which performs no distance calculation, so the two issues appear to be independent regressions. Already ruled out Health details are correct Wrist Detection enabled Power Saving Mode off on both watch and iPhone Heart Rate and Fitness Tracking permissions enabled Motion Calibration & Distance enabled Watch fit and position unchanged Both devices restarted Fitness Calibration Data reset Full unpair/re-pair Multiple workout types tested Pause/resume mid-workout (heart rate briefly shows "Searching" and then drops out again) FB24834050 includes two sysdiagnoses from watchOS 27.0 and currently shows "Recent Similar Reports: More than 10." Status remains Open with no response. Ask Can anyone from Apple confirm whether this is a known/tracked issue? Also, would a sysdiagnose captured using the watchOS logging profile from the Apple bug-reporting site be useful? I'm happy to install the profile, reproduce the issue in under three minutes, and attach fresh logs. I'm also interested in hearing from developers using HKWorkoutSession. Are you seeing the same heart-rate sample gaps on watchOS 27 in your own apps? That would help determine whether this is specific to the Workout app or a regression in the workout session layer underneath it. Thanks!
Replies
3
Boosts
2
Views
422
Activity
2w
WatchOS Companion app on VPP Crashing on Launch
Hello, I sent this in as a feedback several weeks ago about watchOS 26.2 beta 2 but since the issue is still active now that watchOS 26.2 is in production I'm reposting here for the community. I would also like to submit a DTS about this issue but honestly don't know the best way to go about it and would appreciate advice about that. There seems to be an issue with VPP distribution for our app on watchOS 26.2. When our watchOS companion app is launched after being installed through VPP to a supervised iPhone, it encounters a dyld error before main() or any application code is even called. The same app launches correctly in every other circumstance we could imagine and test: – Installed through VPP on supervised devices running watchOS 26.1. – Installed from the app store (using an apple id) on a supervised iPhone and paired watch running iOS 26.2 / watchOS 26.2. – Installed through Testflight on a supervised iPhone and paired watch running iOS 26.2 / watchOS 26.2. – Installed through the app store on unsupervised devices running watchOS 26.1 and 26.2. This strongly appears to be a VPP signing issue because we even did the following experiment: Install iPhone and Watch apps through the App Store on a supervised device pair running public iOS 26.2 beta 2 / watchOS 26.2 beta 2. Verify that both apps launch successfully. Use an MDM command to install from VPP over the existing installations Verify that the watch app fails to launch (the iOS app is unaffected) My feedback included some crash logs which I won't be reposting publicly here. Any feedback or ideas appreciated.
Replies
3
Boosts
2
Views
2.4k
Activity
2w
watchOS 26.2/26.3: watch app killed by dyld before main() — getNameSelRefVMAddr assertion (FB25270892)
Our App Store watch app is being terminated by dyld before any app code runs, only on watchOS 26.2 (23S303) and 26.3 (23S620). Only the arm64 slice is affected (Series 9/10, Ultra 2), and almost always on background launches. Termination Reason: DYLD 9 Assertion failed: (0), function getNameSelRefVMAddr, file ObjCVisitor.cpp, line 1319. objc_visitor::Method::getNameSelRefVMAddr (ObjCVisitor.cpp:1319) dyld4::optimizeObjCSelectors (PrebuiltObjC.cpp:530) dyld4::PrebuiltObjC::make (PrebuiltObjC.cpp:1372) dyld4::PrebuiltLoaderSet::makeLaunchSet (PrebuiltLoader.cpp:2309) dyld4::prepare (dyldMain.cpp:960)Our previous app version crashes in the same function with SIGSEGV instead (same frame offsets on the same dyld build). The fault address lies just past a mapped-file region. What we checked: The crashing binary UUID matches our archive. Every ObjC method list in every image is a standard relative list (0x80000000). None has the selector-offset flag (0x40000000), which is what that assertion branch expects according to the open-source dyld. dyld_info -objc parses all images cleanly. Build settings and linker flags are defaults (Xcode 27.1). So it looks like dyld is reading the wrong data while building the launch closure, rather than our binary being malformed. This seems related to https://developer.apple.com/forums/thread/810471: same OS range, same "dyld before main(), ObjC metadata" symptom. That report involves VPP installs, while ours is App Store distribution. Full crash logs, binaries and analysis are in FB25270892. Has anyone else seen this? Is it fixed in watchOS 26.4 or later, and is there any workaround on the app side?
Replies
4
Boosts
0
Views
230
Activity
2w
Can watchOS apps access Apple-generated sleep stages in real time for a smart alarm?
I’m evaluating a native watchOS smart-alarm app and would like to clarify whether public APIs support its core requirement before building a prototype. The app would wake the user during a 20–30-minute window before their selected alarm time, using Apple Watch’s own sleep-stage classifications available through HealthKit’s sleepAnalysis category: Core, Deep, REM, and Awake. I have reviewed HKCategoryValueSleepAnalysis, HKAnchoredObjectQuery, HKObserverQuery, background delivery, and WKExtendedRuntimeSession’s Smart Alarm mode. However, I haven’t found documentation establishing when Apple-generated sleep-stage samples become available during an ongoing sleep session. Could you clarify: Are Apple-generated sleep-stage samples written to the Watch’s local HealthKit store during sleep, or only after the sleep session ends or subsequent processing? If available during sleep, is there any documented update cadence or latency that would make them suitable for a smart alarm? Should the latest sample be treated only as a retrospective classification rather than the current sleep stage? Can an app query these samples during a Smart Alarm extended runtime session while the Watch is worn and unlocked, with its display off and Sleep Focus enabled? Are there relevant execution or data-access restrictions? If this use case is unsupported, is there any public API that exposes Apple’s current sleep-stage estimate? If not, which Feedback Assistant category is appropriate for requesting this capability? The intended approach queries HealthKit directly on Apple Watch, without depending on Watch-to-iPhone synchronization, and retains a fixed latest wake-up time as a fallback. This is an API feasibility question, not a reproduced bug. I haven’t yet built or tested a prototype. Thank you.
Replies
2
Boosts
0
Views
285
Activity
2w
Extended Runtime API - Health Monitoring
In the WWDC 2019 session "Extended Runtime for WatchOS apps" the video talks about an entitlement being required to use the HR sensor judiciously in the background. It provides a link to request the entitlement which no longer works: http://developer.apple.com/contect/request/health-monitoring The session video is also quite hard to find these days. Does anyone know why this is the case? Is the API and entitlement still available? Is there a supported way to run, even periodically, in the background on the Watch app (ignoring the background observer route which is known to be unreliable) and access existing HR sensor data
Replies
16
Boosts
1
Views
3.0k
Activity
2w