I am looking for a way to hide sensitive information on my Complication, basically whenever the user does not actively look at it. That includes
Always-On state
Locked State (e.g. Watch not on wrist)
I could observe differences in behavior between Preview, Simulator and Real Device. In general it looks like the .privacySensitive() modifier does not do anything for my purpose (except if the user enables redaction in settings).
For the always-on state I could use @Environment(\.isLuminanceReduced) to conditionally apply .redacted(reason: .placeholder). This works most of the time.
@ViewBuilder func preservePrivacy(_ isLuminanceReduced: Bool) -> some View {
if isLuminanceReduced {
self
.redacted(reason: .placeholder)
} else {
self
}
}
However I still cannot hide the information when the Watch is locked completely (via PIN-Code). I still believe that .privacySensitive() should take care of it, but apparently it doesn't. So the question is: How can I hide sensitive information when the Watch is locked?
This is my widget:
Text("1234")
.privacySensitive()
.preservePrivacy(isLuminanceReduced)
.widgetCurvesContent()
.widgetLabel {
Text("PIN")
.widgetAccentable()
.foregroundStyle(.secondary)
}
.containerBackground(.teal.gradient, for: .widget)
(I included the whole story, because possibly my whole approach is wrong.)
Posts under watchOS tag
137 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Using Xcode to build and deploy the app to my watch, this is what I get:
“Waiting to reconnect to Apple Watch. Previous preparation error: Transport error." And then “Connecting to Apple Watch. Xcode will continue when the operation completes.”
And these messages continue to switch between each other.
Sometimes the watch to connect and the application starts, but more often a scenario occurs with endless reconnection.
I'm using: MacOS 14.4.1 (MacBook Pro 2019; 1.4 GHz Quad-Core Intel Core i5), Xcode 15.3, Watch OS 10.2 (Apple Watch SE 1), iOS 17.1.1 (iPhone 15 Pro).
Methods I tried:
Connecting Macbook, iPhone and Watch to the same WIfi network;
Disabling Watch (and IPhone) from the "Devices and Simulators" menu and setting up Watch (and IPhone) from the beginning.
Any help?
Hello everyone,
I am facing a critical and blocking issue regarding watchface sharing on iOS/watchOS 26 and would appreciate any immediate guidance or updates from the community or Apple.
The Problem:
We are unable to share watchfaces containing any complications from our app in TestFlight and App Store distribution environments. The operation fails with an error indicating the app and complications are unavailable. However, the exact same functionality works perfectly in all development builds (both Debug and Release schemes). This issue was not present on iOS/watchOS 18.
We have testing, including:
Successfully sharing the watchface in development environments.
The failure occurs consistently across TestFlight and App Store builds.
Exporting the watchface configuration from a TestFlight/AppStore build on iOS, transferring it to a paired watch, and finding it still shows as "Unavailable".
We suspect this may be related to the dual-target architecture of Watch apps.
Any guidance or updates would be greatly appreciated.
Thank you for your time and support!
I've encountered a major issue with the iOS 18.1 RC and watchOS 11.1 RC. It appears that complications running on WidgetKit cannot be synced as .watchface to these new release candidates. The error message indicates that "the Watch Faces app and complication are not available," which is affecting all apps utilizing WidgetKit.
This issue renders all WidgetKit-based complications unusable on watchOS 11.1 RC. It’s a serious problem for those of us who rely on these complications for our apps and for users expecting consistent functionality.
APPLE, PLEASE FIX THIS ISSUE ASAP!
This bug is a significant setback for developers and users alike, and any guidance or updates would be greatly appreciated.
Hi all. Does anyone know if there's a way to get a list of watch faces for a paired Apple Watch or to set the current face? Or is this just not allowed?
I've taken a look at the WatchOS, WatchKit, and WatchConnectivity documentation and no luck there.
I'm trying to run(debug) an Xcode watch app project on my watch. My phone is connected to my computer via USB cable, my watch is paired to my phone. When I open Xcode and then open "Devices and simulators", I can see my phone properly connected. But these errors show up for my watch........
Apple Watch may need to be unlocked to recover from previously reported preparation errors
Ensure the device is unlocked and associated with the same local area network as this Mac.
A connection to this device could not be established.
Timed out while attempting to establish tunnel using negotiated network parameters.
I have booted computer, phone and watch. I have turned wifi off and on, on all 3 devices. I have turned developer mode on the watch off and then back on again.
Anyone have any ideas how to fix this?
I have several combine pipelines in my watch and iPhone app. While background tasks on the iPhone work correctly (the combine pipelines all activate), on the watch the pipelines do not get activated. I have an internal log reporting that data is being fed to the sources but is not propagating to the sinks.
Thoughts?
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
watchOS
Combine
Background Tasks
There is a longstanding restriction payload for supervised iOS devices that disables "Erase All Content and Settings." We have been experimenting with supervised watches paired with supervised phones that have that payload applied, and yet "Erase All Content and Settings" remains available on the watch. Is this:
– a) An error with our payload? Should we be sending something else?
– b) A bug in watchOS supervision?
– c) A deliberate design choice? If so, what is the rationale for preventing organizations from maintaining this very basic level of control over devices they may be configuring and dispatching into the field?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
watchOS
Apple Business Manager
Device Management
We are having an issue with our app after upgrading to WatchOS 26. After some time our complication disappears from the watch face. If you go to add it back, our app shows up with an empty icon placeholder and you are unable to tap it to add it back. Sometimes restarting the watch will bring it back, sometimes it does not. Has anyone experienced this? What should we be looking at to figure out why this is happening? Or could this be a bug in WatchOS 26?
After upgrading to watchOS 26, users report that when playing music on Apple Watch, if a fitness reminder is received, the music automatically pauses and users need to manually tap the play button to resume music playback. This phenomenon occurs with multiple music and podcast apps.
This issue did not exist before the upgrade. We would like to know if this is an Apple bug or if there are any special development configurations needed?"
Hi,
so here's my situation: I am currently building an app of which I want to have an Apple Watch standalone version / companion (idk yet, also doesn't matter). For it to be compatible with basically every Watch except for the original (Series 0) I want support for down to watchOS 6, as many models ended there. I also don't need the newest features for basic functionality and I can still add more for newer versions while keeping the basic functionality for watchOS 6, so that is not a concern, I'd rather have the compatibility.
However, watchOS 6 is the last version to require the Storyboard architecture with an app bundle and extension target. I did some research and found out that you can create that and set the development target to 6.0 while also having a SwiftUI target with a development target of 7.0. That would have the benefit of being able to use SwiftUI for modern features to give a nice experience while building a basic but functional version for 6.0 in Storyboard architecture. And it would figure out what to install on its own based on the watchOS version.
Now the problem is, in Xcode 26 I can't create a watchOS target with the Storyboard architecture anymore, the option is just not there. So to solve that, I installed Xcode 12 on Big Sur and created one from the template in a new project. That project can be opened and edited with no problems in Xcode 26 as long as it is already configured, you just can't create a watchOS target with that architecture anymore, it has to be there already to work with it. Now I just need to copy the app and extension target with the corresponding files and configuration to my other project, and that is the problem. I can't seem to find proper way to copy that over, and that is where I need your help. Or maybe someone has a way to create that in Xcode 26, but from my understanding the template is gone.
Thanks so much in advance
I'm trying to make a watchOS app that uses sleep data to wake users up when they enter lighter sleep stages. Apple has HealthKit, which exposes HKCategoryValueSleepAnalysis to view each stage throughout sleep, but unfortunately, this data is only written after the user wakes up.
I did some research and found that the Apple Watch’s sleep classifier is part of Apple’s private system process, and apps can’t access that model directly or as it’s running. So, there’s no way to “record” my own data stream and match it with Apple’s classification during the night.
Has anyone found a way to approximate or access live sleep-stage data in another way?
I’m thinking of combining CoreMotion (for movement) and heart rate data from a HKWorkoutSession to infer stages myself, but I’m wondering if there’s any Apple-approved or more accurate approach for this.
In other words, is there any way to use an Apple Watch to detect sleep stages accurately while the user is still asleep for the purpose of timing an optimal wake-up? Thanks
Hello,
I’m building a health-related app for both watchOS and iOS, which needs to monitor certain health data (e.g., heart rate, active energy).
Before updating to watchOS 26, the queries worked reliably without any issues. However, after adapting to watchOS 26, some users have reported that health data updates stop being delivered.
What I’ve observed:
HKObserverQuery with enableBackgroundDelivery is set up normally.
On WatchOS 26, the query sometimes stops delivering updates entirely after a certain point, and once an update is missed, it may stop delivering further updates completely.
Restarting the Apple Watch temporarily restores delivery, but the problem reoccurs after some time.
This makes background health data monitoring unreliable for my app.
Here’s a simplified version of the code we are using:
guard let heartType = HKObjectType.quantityType(forIdentifier: .heartRate) else { return }
let query = HKObserverQuery(sampleType: heartType, predicate: nil) { query, completionHandler, error in
if let error = error {
logEvent("Observer error: \(error.localizedDescription)")
return
}
logEvent("Heart rate changed")
MyNotificationManager.shared.sendNotification() // Send a local notification
completionHandler()
}
healthStore.execute(query)
healthStore.enableBackgroundDelivery(for: heartType, frequency: .hourly) { success, error in
if success {
logEvent("Background heart rate delivery enabled")
} else {
logEvent("Failed to enable background heart rate delivery: \(error?.localizedDescription ?? "Unknown error")")
}
}
Could you please clarify:
Is this a known issue with HKObserverQuery and enableBackgroundDelivery on watchOS 26?
Are there any recommended workarounds or best practices to ensure continuous background delivery of health data?
Thank you in advance for your help.
Topic:
App & System Services
SubTopic:
Health & Fitness
Tags:
Health and Fitness
watchOS
HealthKit
Observation
In the watchOS Fitness app, when you change your goals using the Digital Crown, a focus ring appears around the stepper. Something I can't understand is how the green focus ring is not centered around the stepper buttons (which is the default behavior). Furthermore, I don't understand how the goal text and captions inside the stepper label are also not centered within the stepper.
A final behavior I don't understand is when the goal number transitions from 999 to 1000, the stepper changes height, but doesn't affect the height of any parent views.
import SwiftUI
struct ContentView: View {
@State private var value = 999.0
var body: some View {
VStack {
Text("MOVE GOAL")
.font(.subheadline)
.foregroundStyle(.red)
.padding(.top)
Stepper {
VStack {
Text("\(Int(value))")
.allowsTightening(true)
.minimumScaleFactor(value > 999 ? 0.70 : 1.0)
.lineLimit(1)
Text("CALORIES")
.font(.subheadline)
.foregroundStyle(.red)
}
} onIncrement: {
value += 1
} onDecrement: {
value -= 1
}
.tint(.red)
.digitalCrownRotation(
$value,
from: 1,
through: 9999,
by: 1,
sensitivity: .high,
isContinuous: false,
isHapticFeedbackEnabled: true
)
Button {
print("added")
} label: {
Text("Set")
.foregroundStyle(.black)
}
.tint(.red)
.buttonStyle(.borderedProminent)
.padding(.top)
}
}
}
This is the code I've been able to get as close as possible without delving into GeometryReader, where I've had zero luck modifying the positioning of the label within the stepper.
I'm encountering an issue with navigation title behavior in watchOS SwiftUI. When using a String for the navigation title, long titles automatically scroll as expected. However, when switching to Text with custom foreground color, the scrolling behavior is lost.
Important Observation: The system Settings app on watchOS successfully displays navigation titles with blue color while maintaining scroll behavior. This suggests it should be technically possible - am I missing some implementation approach?
struct ContentView: View {
var body: some View {
NavigationStack {
NavigationLink("Go Next") {
LinkView()
}
}
}
}
struct LinkView: View {
enum NavigationTitleMode: String {
case string
case text
}
@State private var titleMode: NavigationTitleMode = .string
let title: String = "Watch UI Test Navigation Title"
var body: some View {
switch titleMode {
case .string:
content
.navigationTitle(title)
case .text:
content
.navigationTitle {
Text(title)
.foregroundStyle(.blue)
}
}
}
var content: some View {
VStack {
Text("Mode: \(titleMode.rawValue)")
Button("Change Mode", systemImage: "pencil") {
if titleMode == .string {
titleMode = .text
} else {
titleMode = .string
}
}
}
.padding()
.navigationBarTitleDisplayMode(.inline)
}
}
String Mode:
Text Mode:
Environment
watchOS 26.0
Xcode 26.0 (17A324)
Swift 5.9
I am trying to run the simple demo app from xcode on my Apple Watch SE 1st gen, which has WatchOS 10.6
This turned out to be an impossible mission.
I have xcode 16.1 installed, can't downgrade to 15.4 (which is the latest that supports this os) since it won't run on my OS (Sequoia), using parallels I installed Sonoma and xcode 15.4 but it won't recognize my iphone or my watch.
Asking ChatGPT it seems that it is possible to use the DeviceSupport watchOS 10.6 image if I get it from someone, but loading it up "the right way" on my machine turned out to be impossible.
Any recommendations / help / link to this file where I can download it?
I have both apple devices, AirPods Pro 3 is up to date and Ultra 3 is on watch os 26.1 latest public beta.
Each morning when I would go on my mindfulness app and start a meditation or listen to Apple Music on my watch and AirPods Pro 3, it will play for a few seconds then disconnects. My bluetooth settings on my watch says my AirPods is connected to my watch. I also have removed the tick about connecting automatically to iPhone on the AirPods setting in my iPhone.
To fix this I invariably turn off my Apple Watch Ultra 3 and turn it on again. Then the connection becomes stable. I am not sure why I have to do this each morning. It is frustrating. I am not sure why this fix does not last long? Is there something wrong with my AirPods?
Has anyone encountered this before?
Beta two keeps hanging during the download process and says connect to wifi (which I am) or after hours it may download the beta 1.4gb file only to have to freeze in next processing step.
I have tried all the resets, reinstalling both the watch and the phone running OS26.1 Beta 2 etc.
The impact is the watch and the current software implementation is only getting a couple hours of battery usages before going dead
I'm reporting a critical Health data synchronization failure that began immediately after updating from watchOS 18 to watchOS 26.0.2 (stable release) and persists in watchOS 26.1 beta 2.
Bug Description:
Complete failure of Health data sync from Apple Watch to iPhone Health app. All health metrics are being captured and stored locally on the watch but fail to sync to the paired iPhone.
Affected Data Types:
Activity rings (Move, Exercise, Stand)
Heart rate measurements
Sleep tracking data
Workout data
All other HealthKit data points
Environment:
Device: Apple Watch Series 7
Initial failure: watchOS 26.0.2 (23R362) - stable release
Current: watchOS 26.1 beta 2 (23S5052c)
Paired iPhone: iPhone 17 Pro Max, iOS 26.1 beta 2 (23B5052c)
Bluetooth and Wi-Fi connectivity: Normal
Watch pairing status: Connected and functional for all other features
Reproduction:
Updated Apple Watch Series 7 from watchOS 18 to watchOS 26.0.2 on September 30, 2025
Health data sync ceased completely starting October 1, 2025
Issue persists after updating to watchOS 26.1 beta 2 and iOS 26.1 beta 2
Data remains stored locally on watch and is viewable in watch apps
Apple Watch appears as connected data source in Health app but no data transfers
Troubleshooting Performed:
Multiple device restarts (both iPhone and Apple Watch)
Bluetooth/Wi-Fi toggling and reconnection
Verified Privacy > Motion & Fitness > Fitness Tracking and Health enabled on both devices
Confirmed data source priority settings in Health app
Extended charging periods to allow background sync operations
Verified no Low Power Mode restrictions
Impact:
Critical functionality loss for primary Apple Watch use case. Unable to track longitudinal health data, breaking continuity of health records dating back to watchOS 18.
Feedback Submitted:
FB20533870 filed via Feedback Assistant with sysdiagnose from both devices
Questions for Engineering:
Is this a known regression in watchOS 26.0.2 or later builds?
Are there any watchOS 26.1 beta release notes addressing HealthKit sync issues that I should review?
Should I capture additional diagnostic data (e.g., specific console logs, HealthKit database states)?
Is unpairing/re-pairing expected to resolve this, or would that indicate a deeper architectural issue?
Additional Context:
Apple Watch appears in Settings > Bluetooth as connected
Can successfully change watch faces from iPhone
Notifications, Messages, and calls work normally
No previous sync issues prior to watchOS 26.0.2
Senior Apple Support advisor escalation completed; awaiting engineering review
This appears to be a regression introduced in watchOS 26.0.2. Any guidance on additional diagnostics or confirmation of a fix in upcoming builds would be appreciated.
Looking at the UIDesignRequiresCompatibility documentation, watchOS is not listed among the supported platforms. When added to the project, it is also being ignored, resulting in Liquid Glass design. It is possible to opt-out from Liquid Glass design temporarily. Is that just an oversight for Apple Watch please?