watchOS is the operating system for Apple Watch.

Posts under watchOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

reloadAllTimelines() is broken on watchOS 11.5
I am experiencing an issue with my watchOS app. My application updates a shared file, accessible by both the main app and the WidgetKit extension, during a WatchConnectivity background task. Following this update, I call reloadAllTimelines(). This functionality worked as expected on watchOS 10, even without Developer Mode enabled. However, after updating my device to watchOS 11.5, this API appears to be broken. My reasons for believing this API is broken are threefold: The functionality worked reliably on watchOS 10. On watchOS 11.5, enabling "WidgetKit Developer Mode" (found under Settings > Developer) resolves the issue, and my complications update correctly. When I enter watch face edit mode, the snapshot/preview displayed (which utilizes the same underlying logic as the timeline API) shows the correct data. This indicates that the data has been successfully received from the phone, and the widget is indeed reading the updated shared file. Despite this, the actual widget view during its resting phase never updates. It's worth noting that TimelineReloadPolicy functions as expected, but I cannot rely on this for my use case. My widget requires immediate updates upon receiving new data. Apple, please investigate this behavior.
1
2
812
Jun ’25
Launching an apple watch app from the companion app
Hi, as stated in the title I'm trying to launch a watchOS app from its companion iOS app. My issue is very similar to this post: https://developer.apple.com/forums/thread/734362 The response from apple in that post says that it is not possible, but I have found it to be possible for media apps. Specifically if you turn Settings > General > Auto-Launch > Live Activities > Media Apps and turn Auto-Launch to "App". My app is for medical research and having this available would be very helpful for our testing. I need the app to be fully in the foreground. Is there a way to get specific permissions for our app to do this? Am I missing something? I've tried starting a workout session to accomplish this, but it only seems to work when the watch is charging. Any feedback is appreciated, thank you.
1
0
263
Jun ’25
Do watchOS apps support IP request communication within a local area network?
As a third-party application on Apple Watch, can it be located in the same LAN httpServer? Currently, when testing to initiate an http request in the LAN, the connection timeout is returned, code: -1001 self.customSession.request("http://10.15.48.191:9000/hello").response { response in switch response.result { case .success(let data): dlog("✅ 请求成功,收到数据:") if let html = String(data: data ?? Data(), encoding: .utf8) { dlog(html) } case .failure(let error): dlog("❌ 请求失败:\(error.localizedDescription)") } } 执行后报错 Task <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1> finished with error [-1001] Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={_kCFStreamErrorCodeKey=-2102, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>", "LocalDataPDTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>", "LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>" ), NSLocalizedDescription=请求超时。, _kCFStreamErrorDomainKey=4, NSErrorFailingURLStringKey=http://10.15.48.191:9000/hello, NSErrorFailingURLKey=http://10.15.48.191:9000/hello}
1
0
325
May ’25
Can’t Enable Developer Mode on Apple Watch – No Prompt Appears
Hi, I’m currently developing a watchOS app and ran into an issue where I can’t enable Developer Mode on my Apple Watch. Device info: Apple Watch Series 9 (watchOS 10.4) Paired with iPhone 14 Pro (iOS 17.4.1) Xcode 15.3 (macOS 15.5, Apple Silicon) Issue: When I try to run the app on my physical watch device, Xcode prompts that Developer Mode needs to be enabled. However, there is no approval request on the Apple Watch, and no Developer Mode option appears under Settings → Privacy &amp; Security. I’ve already tried the following: Rebooting both devices Unpairing and re-pairing the watch Erasing and setting up the watch again Signing out and back into my Apple ID Using the latest Xcode version (15.3 and 16.3 both tested) Running clean builds and checking provisioning profiles Attempting install via both simulator and physical device Still no luck — the app will not launch on the Apple Watch due to Developer Mode being disabled, and the option is missing entirely from Settings. I visited an Apple Store Genius Bar, but they couldn’t help and told me to contact Developer Support. I’ve already submitted a support request, but in the meantime I wanted to ask here in case anyone else has experienced this and found a workaround. Thanks in advance.
0
0
271
May ’25
SwiftData + CloudKit causes watchOS app termination during WKExtendedRuntimeSession (FB17685611)
Hi all, I’m encountering a consistent issue with SwiftData on watchOS when using CloudKit sync. After enabling: let config = ModelConfiguration(schema: schema, cloudKitDatabase: .automatic) …the app terminates ~30–60 seconds into a WKExtendedRuntimeSession. This happens specifically when: Always-On Display is OFF The iPhone is disconnected or in Airplane Mode The app is running in a WKExtendedRuntimeSession (e.g., used for meditation tracking) The Xcode logs show a warning: Background Task ("CoreData: CloudKit Setup"), was created over 30 seconds ago. In applications running in the background, this creates a risk of termination. It appears CloudKit sync setup is being triggered automatically and flagged by the system as an unmanaged long-running task, leading to termination. Workaround: Switching to: let config = ModelConfiguration(schema: schema, cloudKitDatabase: .none) …prevents the issue entirely — no background task warning, no crash. Feedback ID submitted: FB17685611 Just wanted to check if others have seen this behavior or found alternative solutions. It seems like something Apple may need to address in SwiftData’s CloudKit handling on watchOS.
1
1
431
May ’25
iOS companion app with no Watch connected
Based on Cooordinate with the companion app in this article by Apple https://developer.apple.com/documentation/healthkit/running-workout-sessions if a workout were to be started on the iPhone companion app but with no Watch available, given HKLiveWorkoutBuilder not available in iOS, does the iPhone app need to implement it's own workout tracking such as a timer for counting the elapsed time and location updates for distance and GPS tracking? If so in an instance where a paired Apple Watch were to exist and the workout is continued in the Watch app should the iPhone companion app stop this custom workout tracking and revert to the mirrored workout from the Watch to ensure accurate and synchronised data between the apps?
0
0
278
May ’25
no option for "Extended Runtime Session"
How can I enable "Extended Runtime Sessions" for a companion watch app? Here https://developer.apple.com/documentation/watchkit/using-extended-runtime-sessions in targets under 'Signing & Capabilities' I checked "Audio" and Session Type 'Mindfulness', I created an ExtendedRuntimeManager.swift file. When running a simulation the error message says "Extended Runtime Session ungültig: Reason=-1, Error=This application does not have appropriate permissions to schedule a session." How does the app get the 'appropriate permissions'?
1
0
284
May ’25
WatchOS app not downloaded from appstore
This is a bit of a headscratcher. Xcode 16 fyi. I've written a standalone watchos app (with a stub ios app). Distributes and works perfectly over Testflight. I've submitted for app store and it passed the checks an I've released it for sale. Told my brother to use a promo code to download it and show me how it looks and report me any nuisances. He tells me there's no app neither on phone (expected) nor in watch. And he checked both the Watch ios app list and the watch. I've gone through various GPTs and they've all told me the basic troubleshooting. That his watch might not be supported (wrong, it's a watch 10 ultra with latest updates and my min supported versions are hilariously low). They've suggested that I might not have the right keys for making it standalone set, also no. They suggested that skip_install shouldn't be set to no; also wrong I think they're thinking xcode 13 and below. The stub ios app has a dependency on watchos app and also has an embed directive. I also checked the archive and saw the watchos app embedded indeed. Again, the app works perfectly fine when distributed over testflight. And AFAIK that's a release build which I know for a fact because I had a problem with not giving healthkit entitlements to release (that was another but minor headscratcher at the time, when it was working over direct xcode upload). Minor detail, I've written, test(flight)ed the app in UK and in English, my brother is in Turkey. Of course now I immediately pulled the app out of sale because I don't want people paying and getting nothing, that's gonna cause a lot of trouble. So I need any help I can get to How to debug this without exposing the app and myself: is it possible to limit the release? Obviously: what could be going wrong? How the hell did I even pass app review? Is this maybe isolated to my brother's watch? I'm more than happy to share project files and/or info.plist files(end products of them, because my plists are generated from project file).
4
0
284
Apr ’25
Feature Request – Bionic Reading Accessibility Setting
I’d love to see Apple implement a Bionic Reading feature as a system-wide accessibility option. This type of reading aid highlights the first part of each word in bold to help guide the eyes and improve comprehension. It’s been shown to be especially helpful for people with ADHD, dyslexia, and other neurodivergent needs. Having a toggle in Settings > Accessibility would be life-changing. Ideally, it could be: • Enabled system-wide, or per-app • Allow customization of how much of the word is bolded • Available in Safari, Messages, Books, News, etc.
1
1
238
Apr ’25
Calling from Watchos
I am working with a watchOS app in SwiftUI, and I am using the following code to dial a phone number from the watch: var number = "123456789" if let telURL = URL(string: "tel:\(number)") { let wkExtension = WKExtension.shared() wkExtension.openSystemURL(telURL) } The issue is that when I try to dial a number starting with a * (asterisk) or # (hash), it doesn't work. When dialing a regular number, it works fine. Is there any way to get this to work?
1
0
326
Apr ’25
SwiftUI/WatchOS - Picker inside a ScrollView does not work as expected
What I am trying to build Apple Watch app(written in SwiftUI, targeting watchOS 7 or higher, built with Xcode 14.1) The Problem Picker placed inside a ScrollView on an apple watch device does not work as expected I want to find out how to get the Picker to work as expected, stated below. Expected behavior On an iOS simulator, a Picker inside a ScrollView works as expected. If I try scroll interaction on the Picker area, the ScrollView part doesn’t get scrolled and only the Picker gets scrolled. whereas on the watch simulator Example, 

 If I try to scroll the Picker by touching the Picker area, the whole ScrollView reacts and moves up and down. And I am not able to control the Picker properly. The code I wrote is as follows: ScrollView { //..other view elements.. Picker(selection: $currentDay) { ForEach(weekDays, id: \.self) { Text($0) } } label: { Text("") } .frame(width: 148,height: 50) .pickerStyle(.wheel) //..other view elements.. }//: ScrollView Things I have tried putting the Picker inside a VStack/ZStack/HStack giving the Picker fixed frame values / giving other elements inside the ScrollView fixed frame values
2
1
2.2k
Apr ’25
I would like to know the distribution of watchOS by OS version.
I would like to know the distribution of watchOS by OS version. Further research shows iOS version distribution, but there appears to be no mention of Watch OS. I am currently developing an App and would like to decide which version of Watch OS to start supporting due to cost issues, and would like to use the market distribution to determine this. Please help others or experts who want to do something like me! Translated with DeepL.com (free version)
1
0
262
Apr ’25
Can HKWorkoutSession be used for a lone worker protection app for the Apple Watch?
We are developing a mobile app focused on lone worker protection, which does not include any fitness tracking features. We require the use of HKWorkoutSession solely to enable background execution of critical safety-related code. Could you please confirm whether this use of HKWorkoutSession is permitted under App Store Review guidelines, given that our app does not offer fitness or workout-related functionality?
1
1
225
Apr ’25
HealthKit: Real-Time Sleep Tracking with Heart Rate Data
I am trying to track a user's real-time sleep state using heart rate data, but I have encountered several issues: When using HKSampleQuery on the phone to fetch heart rate data, I can only retrieve data recorded before the app comes to the foreground or before it is terminated and restarted (see related issue: https://developer.apple.com/forums/thread/774953). I attempted to get data on the Apple Watch and send updates to the phone via Watch Connectivity. However, if I use WKExtendedRuntimeSession, although I can obtain data on the watch, once the watch screen goes off, it can no longer transmit data via Watch Connectivity to the phone (since I cannot guarantee the app will remain in the foreground when lying in bed). On the other hand, using HKWorkoutSession results in interference with the activity rings and causes the heart rate sensor to run too frequently, which I worry may affect the battery life of the watch. Is there an elegant solution for tracking a user's heart rate data for sleep monitoring?
1
0
211
Apr ’25
Guidance on Continuous Location & Direction Updates to watchOS App Without Screen Dimming
Dear Apple Developer Support, I am reaching out for guidance on implementing continuous directional and location updates in a watchOS app designed as part of a mapping/navigation solution. Current Scenario: We send continuous location and direction updates from our iOS app to the watchOS companion app. When viewing directions on the Apple Watch, the screen dims after a short period, and the live data stops updating consistently, even though the user is actively looking at the screen. This negatively impacts the usability of real-time navigation on watchOS. Our Objective: Prevent screen dimming (or extend screen-on time) while the user is viewing navigation directions. Ensure reliable, continuous data updates on the watch screen during active navigation sessions. Request: We would appreciate your guidance on: The recommended method to keep the watchOS screen active while displaying real-time navigation data. Proper use of APIs such as WKExtendedRuntimeSession, WorkoutSession, or any other mechanism suitable for this use case. Any best practices or App Store review considerations for apps that require extended screen time and continuous updates. How such use cases were traditionally handled on watchOS and what has or hasn’t worked. We want to ensure we're implementing this in a battery-efficient, user-respectful, and Apple-compliant manner. Thank you for your assistance and guidance.
1
0
134
Apr ’25
Watch: WCSession is NOT reachable
** Facing issue for watch unreachable, I have tried for real device as well simulator** if let controller = window?.rootViewController as? FlutterViewController { let channel = FlutterMethodChannel( name: "watchconnectivity", binaryMessenger: controller.binaryMessenger) channel.setMethodCallHandler({ [weak self] (call, result) in switch call.method { case "sendToWatch": guard let watchSession = self?.session else { print("❌ Watch session not initialized") result(false) return } guard watchSession.isPaired else { print("❌ Watch not paired") result(false) return } guard watchSession.isReachable else { print("❌") print("isPaired: \(watchSession.isPaired)") print("isWatchAppInstalled: \(watchSession.isWatchAppInstalled)") print("isComplicationEnabled: \(watchSession.isComplicationEnabled)") result(false) return } guard let arguments = call.arguments as? [String: Any] else { print("❌ Invalid arguments format") result(false) return } if watchSession.isWatchAppInstalled { try? watchSession.updateApplicationContext(["forceLaunch": true]) } print("📤 Sending message to Watch: \(arguments)") watchSession.sendMessage(arguments, replyHandler: { response in print("✅ Message sent successfully") result(true) }, errorHandler: nil ) default: result(FlutterMethodNotImplemented) } }) }
1
0
321
Mar ’25
reloadAllTimelines() is broken on watchOS 11.5
I am experiencing an issue with my watchOS app. My application updates a shared file, accessible by both the main app and the WidgetKit extension, during a WatchConnectivity background task. Following this update, I call reloadAllTimelines(). This functionality worked as expected on watchOS 10, even without Developer Mode enabled. However, after updating my device to watchOS 11.5, this API appears to be broken. My reasons for believing this API is broken are threefold: The functionality worked reliably on watchOS 10. On watchOS 11.5, enabling "WidgetKit Developer Mode" (found under Settings > Developer) resolves the issue, and my complications update correctly. When I enter watch face edit mode, the snapshot/preview displayed (which utilizes the same underlying logic as the timeline API) shows the correct data. This indicates that the data has been successfully received from the phone, and the widget is indeed reading the updated shared file. Despite this, the actual widget view during its resting phase never updates. It's worth noting that TimelineReloadPolicy functions as expected, but I cannot rely on this for my use case. My widget requires immediate updates upon receiving new data. Apple, please investigate this behavior.
Replies
1
Boosts
2
Views
812
Activity
Jun ’25
Launching an apple watch app from the companion app
Hi, as stated in the title I'm trying to launch a watchOS app from its companion iOS app. My issue is very similar to this post: https://developer.apple.com/forums/thread/734362 The response from apple in that post says that it is not possible, but I have found it to be possible for media apps. Specifically if you turn Settings > General > Auto-Launch > Live Activities > Media Apps and turn Auto-Launch to "App". My app is for medical research and having this available would be very helpful for our testing. I need the app to be fully in the foreground. Is there a way to get specific permissions for our app to do this? Am I missing something? I've tried starting a workout session to accomplish this, but it only seems to work when the watch is charging. Any feedback is appreciated, thank you.
Replies
1
Boosts
0
Views
263
Activity
Jun ’25
Do watchOS apps support IP request communication within a local area network?
As a third-party application on Apple Watch, can it be located in the same LAN httpServer? Currently, when testing to initiate an http request in the LAN, the connection timeout is returned, code: -1001 self.customSession.request("http://10.15.48.191:9000/hello").response { response in switch response.result { case .success(let data): dlog("✅ 请求成功,收到数据:") if let html = String(data: data ?? Data(), encoding: .utf8) { dlog(html) } case .failure(let error): dlog("❌ 请求失败:\(error.localizedDescription)") } } 执行后报错 Task <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1> finished with error [-1001] Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={_kCFStreamErrorCodeKey=-2102, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>", "LocalDataPDTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>", "LocalDataTask <B71BE820-FD0E-4880-A6DD-1F8F6EAF98B0>.<1>" ), NSLocalizedDescription=请求超时。, _kCFStreamErrorDomainKey=4, NSErrorFailingURLStringKey=http://10.15.48.191:9000/hello, NSErrorFailingURLKey=http://10.15.48.191:9000/hello}
Replies
1
Boosts
0
Views
325
Activity
May ’25
Can’t Enable Developer Mode on Apple Watch – No Prompt Appears
Hi, I’m currently developing a watchOS app and ran into an issue where I can’t enable Developer Mode on my Apple Watch. Device info: Apple Watch Series 9 (watchOS 10.4) Paired with iPhone 14 Pro (iOS 17.4.1) Xcode 15.3 (macOS 15.5, Apple Silicon) Issue: When I try to run the app on my physical watch device, Xcode prompts that Developer Mode needs to be enabled. However, there is no approval request on the Apple Watch, and no Developer Mode option appears under Settings → Privacy &amp; Security. I’ve already tried the following: Rebooting both devices Unpairing and re-pairing the watch Erasing and setting up the watch again Signing out and back into my Apple ID Using the latest Xcode version (15.3 and 16.3 both tested) Running clean builds and checking provisioning profiles Attempting install via both simulator and physical device Still no luck — the app will not launch on the Apple Watch due to Developer Mode being disabled, and the option is missing entirely from Settings. I visited an Apple Store Genius Bar, but they couldn’t help and told me to contact Developer Support. I’ve already submitted a support request, but in the meantime I wanted to ask here in case anyone else has experienced this and found a workaround. Thanks in advance.
Replies
0
Boosts
0
Views
271
Activity
May ’25
Why is MusicKit ApplicationMusicPlayer not available on watchOS?
ApplicationMusicPlayer is not available on watchOS but all other platforms. Is there a technical reason for that like battery life? Same goes for SystemMusicPlayer and MPMusicPlayerController. I already filed feedbacks for that.
Replies
0
Boosts
1
Views
158
Activity
May ’25
SwiftData + CloudKit causes watchOS app termination during WKExtendedRuntimeSession (FB17685611)
Hi all, I’m encountering a consistent issue with SwiftData on watchOS when using CloudKit sync. After enabling: let config = ModelConfiguration(schema: schema, cloudKitDatabase: .automatic) …the app terminates ~30–60 seconds into a WKExtendedRuntimeSession. This happens specifically when: Always-On Display is OFF The iPhone is disconnected or in Airplane Mode The app is running in a WKExtendedRuntimeSession (e.g., used for meditation tracking) The Xcode logs show a warning: Background Task ("CoreData: CloudKit Setup"), was created over 30 seconds ago. In applications running in the background, this creates a risk of termination. It appears CloudKit sync setup is being triggered automatically and flagged by the system as an unmanaged long-running task, leading to termination. Workaround: Switching to: let config = ModelConfiguration(schema: schema, cloudKitDatabase: .none) …prevents the issue entirely — no background task warning, no crash. Feedback ID submitted: FB17685611 Just wanted to check if others have seen this behavior or found alternative solutions. It seems like something Apple may need to address in SwiftData’s CloudKit handling on watchOS.
Replies
1
Boosts
1
Views
431
Activity
May ’25
iOS companion app with no Watch connected
Based on Cooordinate with the companion app in this article by Apple https://developer.apple.com/documentation/healthkit/running-workout-sessions if a workout were to be started on the iPhone companion app but with no Watch available, given HKLiveWorkoutBuilder not available in iOS, does the iPhone app need to implement it's own workout tracking such as a timer for counting the elapsed time and location updates for distance and GPS tracking? If so in an instance where a paired Apple Watch were to exist and the workout is continued in the Watch app should the iPhone companion app stop this custom workout tracking and revert to the mirrored workout from the Watch to ensure accurate and synchronised data between the apps?
Replies
0
Boosts
0
Views
278
Activity
May ’25
no option for "Extended Runtime Session"
How can I enable "Extended Runtime Sessions" for a companion watch app? Here https://developer.apple.com/documentation/watchkit/using-extended-runtime-sessions in targets under 'Signing & Capabilities' I checked "Audio" and Session Type 'Mindfulness', I created an ExtendedRuntimeManager.swift file. When running a simulation the error message says "Extended Runtime Session ungültig: Reason=-1, Error=This application does not have appropriate permissions to schedule a session." How does the app get the 'appropriate permissions'?
Replies
1
Boosts
0
Views
284
Activity
May ’25
Apple watch 天气问题
在watchOS11.5下,Apple watch无法加载天气。无论是否连接自己的iPhone均无法加载
Replies
0
Boosts
0
Views
314
Activity
May ’25
HealthKit heart rate zones
I would like to get user's heart rate zones values in my watchOS app, is there any way to get it from HealthKit? Furthermore, is it possible to display the Apple heart rate zones widget in my watchOS app?
Replies
2
Boosts
0
Views
411
Activity
Apr ’25
WatchOS app not downloaded from appstore
This is a bit of a headscratcher. Xcode 16 fyi. I've written a standalone watchos app (with a stub ios app). Distributes and works perfectly over Testflight. I've submitted for app store and it passed the checks an I've released it for sale. Told my brother to use a promo code to download it and show me how it looks and report me any nuisances. He tells me there's no app neither on phone (expected) nor in watch. And he checked both the Watch ios app list and the watch. I've gone through various GPTs and they've all told me the basic troubleshooting. That his watch might not be supported (wrong, it's a watch 10 ultra with latest updates and my min supported versions are hilariously low). They've suggested that I might not have the right keys for making it standalone set, also no. They suggested that skip_install shouldn't be set to no; also wrong I think they're thinking xcode 13 and below. The stub ios app has a dependency on watchos app and also has an embed directive. I also checked the archive and saw the watchos app embedded indeed. Again, the app works perfectly fine when distributed over testflight. And AFAIK that's a release build which I know for a fact because I had a problem with not giving healthkit entitlements to release (that was another but minor headscratcher at the time, when it was working over direct xcode upload). Minor detail, I've written, test(flight)ed the app in UK and in English, my brother is in Turkey. Of course now I immediately pulled the app out of sale because I don't want people paying and getting nothing, that's gonna cause a lot of trouble. So I need any help I can get to How to debug this without exposing the app and myself: is it possible to limit the release? Obviously: what could be going wrong? How the hell did I even pass app review? Is this maybe isolated to my brother's watch? I'm more than happy to share project files and/or info.plist files(end products of them, because my plists are generated from project file).
Replies
4
Boosts
0
Views
284
Activity
Apr ’25
How to implement this textfield in SwitfUI
In Contact app on watchOS, there're some textfields. But I can not find which textfield could implement it. Any one has some idea?
Replies
3
Boosts
0
Views
113
Activity
Apr ’25
Feature Request – Bionic Reading Accessibility Setting
I’d love to see Apple implement a Bionic Reading feature as a system-wide accessibility option. This type of reading aid highlights the first part of each word in bold to help guide the eyes and improve comprehension. It’s been shown to be especially helpful for people with ADHD, dyslexia, and other neurodivergent needs. Having a toggle in Settings > Accessibility would be life-changing. Ideally, it could be: • Enabled system-wide, or per-app • Allow customization of how much of the word is bolded • Available in Safari, Messages, Books, News, etc.
Replies
1
Boosts
1
Views
238
Activity
Apr ’25
Calling from Watchos
I am working with a watchOS app in SwiftUI, and I am using the following code to dial a phone number from the watch: var number = "123456789" if let telURL = URL(string: "tel:\(number)") { let wkExtension = WKExtension.shared() wkExtension.openSystemURL(telURL) } The issue is that when I try to dial a number starting with a * (asterisk) or # (hash), it doesn't work. When dialing a regular number, it works fine. Is there any way to get this to work?
Replies
1
Boosts
0
Views
326
Activity
Apr ’25
SwiftUI/WatchOS - Picker inside a ScrollView does not work as expected
What I am trying to build Apple Watch app(written in SwiftUI, targeting watchOS 7 or higher, built with Xcode 14.1) The Problem Picker placed inside a ScrollView on an apple watch device does not work as expected I want to find out how to get the Picker to work as expected, stated below. Expected behavior On an iOS simulator, a Picker inside a ScrollView works as expected. If I try scroll interaction on the Picker area, the ScrollView part doesn’t get scrolled and only the Picker gets scrolled. whereas on the watch simulator Example, 

 If I try to scroll the Picker by touching the Picker area, the whole ScrollView reacts and moves up and down. And I am not able to control the Picker properly. The code I wrote is as follows: ScrollView { //..other view elements.. Picker(selection: $currentDay) { ForEach(weekDays, id: \.self) { Text($0) } } label: { Text("") } .frame(width: 148,height: 50) .pickerStyle(.wheel) //..other view elements.. }//: ScrollView Things I have tried putting the Picker inside a VStack/ZStack/HStack giving the Picker fixed frame values / giving other elements inside the ScrollView fixed frame values
Replies
2
Boosts
1
Views
2.2k
Activity
Apr ’25
I would like to know the distribution of watchOS by OS version.
I would like to know the distribution of watchOS by OS version. Further research shows iOS version distribution, but there appears to be no mention of Watch OS. I am currently developing an App and would like to decide which version of Watch OS to start supporting due to cost issues, and would like to use the market distribution to determine this. Please help others or experts who want to do something like me! Translated with DeepL.com (free version)
Replies
1
Boosts
0
Views
262
Activity
Apr ’25
Can HKWorkoutSession be used for a lone worker protection app for the Apple Watch?
We are developing a mobile app focused on lone worker protection, which does not include any fitness tracking features. We require the use of HKWorkoutSession solely to enable background execution of critical safety-related code. Could you please confirm whether this use of HKWorkoutSession is permitted under App Store Review guidelines, given that our app does not offer fitness or workout-related functionality?
Replies
1
Boosts
1
Views
225
Activity
Apr ’25
HealthKit: Real-Time Sleep Tracking with Heart Rate Data
I am trying to track a user's real-time sleep state using heart rate data, but I have encountered several issues: When using HKSampleQuery on the phone to fetch heart rate data, I can only retrieve data recorded before the app comes to the foreground or before it is terminated and restarted (see related issue: https://developer.apple.com/forums/thread/774953). I attempted to get data on the Apple Watch and send updates to the phone via Watch Connectivity. However, if I use WKExtendedRuntimeSession, although I can obtain data on the watch, once the watch screen goes off, it can no longer transmit data via Watch Connectivity to the phone (since I cannot guarantee the app will remain in the foreground when lying in bed). On the other hand, using HKWorkoutSession results in interference with the activity rings and causes the heart rate sensor to run too frequently, which I worry may affect the battery life of the watch. Is there an elegant solution for tracking a user's heart rate data for sleep monitoring?
Replies
1
Boosts
0
Views
211
Activity
Apr ’25
Guidance on Continuous Location & Direction Updates to watchOS App Without Screen Dimming
Dear Apple Developer Support, I am reaching out for guidance on implementing continuous directional and location updates in a watchOS app designed as part of a mapping/navigation solution. Current Scenario: We send continuous location and direction updates from our iOS app to the watchOS companion app. When viewing directions on the Apple Watch, the screen dims after a short period, and the live data stops updating consistently, even though the user is actively looking at the screen. This negatively impacts the usability of real-time navigation on watchOS. Our Objective: Prevent screen dimming (or extend screen-on time) while the user is viewing navigation directions. Ensure reliable, continuous data updates on the watch screen during active navigation sessions. Request: We would appreciate your guidance on: The recommended method to keep the watchOS screen active while displaying real-time navigation data. Proper use of APIs such as WKExtendedRuntimeSession, WorkoutSession, or any other mechanism suitable for this use case. Any best practices or App Store review considerations for apps that require extended screen time and continuous updates. How such use cases were traditionally handled on watchOS and what has or hasn’t worked. We want to ensure we're implementing this in a battery-efficient, user-respectful, and Apple-compliant manner. Thank you for your assistance and guidance.
Replies
1
Boosts
0
Views
134
Activity
Apr ’25
Watch: WCSession is NOT reachable
** Facing issue for watch unreachable, I have tried for real device as well simulator** if let controller = window?.rootViewController as? FlutterViewController { let channel = FlutterMethodChannel( name: "watchconnectivity", binaryMessenger: controller.binaryMessenger) channel.setMethodCallHandler({ [weak self] (call, result) in switch call.method { case "sendToWatch": guard let watchSession = self?.session else { print("❌ Watch session not initialized") result(false) return } guard watchSession.isPaired else { print("❌ Watch not paired") result(false) return } guard watchSession.isReachable else { print("❌") print("isPaired: \(watchSession.isPaired)") print("isWatchAppInstalled: \(watchSession.isWatchAppInstalled)") print("isComplicationEnabled: \(watchSession.isComplicationEnabled)") result(false) return } guard let arguments = call.arguments as? [String: Any] else { print("❌ Invalid arguments format") result(false) return } if watchSession.isWatchAppInstalled { try? watchSession.updateApplicationContext(["forceLaunch": true]) } print("📤 Sending message to Watch: \(arguments)") watchSession.sendMessage(arguments, replyHandler: { response in print("✅ Message sent successfully") result(true) }, errorHandler: nil ) default: result(FlutterMethodNotImplemented) } }) }
Replies
1
Boosts
0
Views
321
Activity
Mar ’25