Post

Replies

Boosts

Views

Activity

Reply to Detecting External Heart Rate Monitor Availability
@DTS Engineer Sure! On iOS 26, open the Fitness app and go to the "Workout" tab. If you have an Apple Watch on, you'll see that reflected in the top right corner - as well as in which activities are available to start. Now take the watch off, observe that almost immediately, a number of workouts become unavailable and the lack of a heart rate sensor is reflected in the top right corner. Finally, put on some AirPod Pro 3, this is the really interesting one - that also, nearly immediately, gets reflected in the top right as having a 3rd-party heart rate sensor available and the workout list is updated accordingly. This is the behavior I'd like to replicate. It all registers surprisingly quickly - giving a nice responsive list to the type of workouts available.
Jun ’26
Reply to Back gesture not disabled with navigationBarBackButtonHidden(true) when using .zoom transition
I'm curious what the intended behavior is here? Is swipe navigation meant to be suppressed if the back button is hidden? I have a scenario where I'm trying to use a custom-drawn navigation bar, but actually WANT the swipe action to still work. Is that possible (outside of using a .zoom transition - which may, or may not, be a bug). Edit: Found this work around for what I want - extension UINavigationController: @retroactive UIGestureRecognizerDelegate { override open func viewDidLoad() { super.viewDidLoad() interactivePopGestureRecognizer?.delegate = self } public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // Override this to cause the navigation controller to do the back swipe even if the navigation bar is hidden return viewControllers.count > 1 } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Mar ’26
Reply to Disable new tab bar look
I have a Catalyst-enabled app with a UITabBarController for view switching and a custom "tab bar" (actually a UICollectionView). In my case, I wanted to hide this new tab bar and side bar. Here is the workaround I needed to do to accomplish that, as setTabBarHidden didn't work for me. Posting here in case it helps anyone else. internal class MainTabBarController: UITabBarController { internal override func viewDidLoad() { #if targetEnvironment(macCatalyst) mode = .tabSidebar sidebar.isHidden = true #else setTabBarHidden(true, animated: false) #endif } }
Topic: UI Frameworks SubTopic: General Tags:
Sep ’24
Reply to Detecting External Heart Rate Monitor Availability
@DTS Engineer Sure! On iOS 26, open the Fitness app and go to the "Workout" tab. If you have an Apple Watch on, you'll see that reflected in the top right corner - as well as in which activities are available to start. Now take the watch off, observe that almost immediately, a number of workouts become unavailable and the lack of a heart rate sensor is reflected in the top right corner. Finally, put on some AirPod Pro 3, this is the really interesting one - that also, nearly immediately, gets reflected in the top right as having a 3rd-party heart rate sensor available and the workout list is updated accordingly. This is the behavior I'd like to replicate. It all registers surprisingly quickly - giving a nice responsive list to the type of workouts available.
Replies
Boosts
Views
Activity
Jun ’26
Reply to Could not launch app on watchOS downloaded from TestFlight
I'm hoping we see a fix for this soon - I've basically stopped TestFlight builds for people until this is resolved - but it's even painful to deploy Ad Hoc versions for self-testing. I'm guessing about 75% of my testers are running into this.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to Could not launch app on watchOS downloaded from TestFlight
For what it is worth - there seems to be no difference between Internal vs External testing behavior (i.e., having an "Approved" Test Flight version did not seem to make a difference for me). Not that anyone proposed there would be a difference, but I thought I would try it in case there was a difference in behavior.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to Could not launch app on watchOS downloaded from TestFlight
Reinstalling TestFlight did not help the issue. I have submitted a bug report (FB22779045) with references to FB19339644 and FB22765369 and this thread.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to Could not launch app on watchOS downloaded from TestFlight
Jumping in to say I've also experienced the same issue over the last week. I was beating my head trying to understand what sort of bug I could have introduced, and then decided to check the forums here. I've just reinstalled TestFlight and, if it still occurs, will also file a ticket with a sysdiagnose.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’26
Reply to Back gesture not disabled with navigationBarBackButtonHidden(true) when using .zoom transition
I'm curious what the intended behavior is here? Is swipe navigation meant to be suppressed if the back button is hidden? I have a scenario where I'm trying to use a custom-drawn navigation bar, but actually WANT the swipe action to still work. Is that possible (outside of using a .zoom transition - which may, or may not, be a bug). Edit: Found this work around for what I want - extension UINavigationController: @retroactive UIGestureRecognizerDelegate { override open func viewDidLoad() { super.viewDidLoad() interactivePopGestureRecognizer?.delegate = self } public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // Override this to cause the navigation controller to do the back swipe even if the navigation bar is hidden return viewControllers.count > 1 } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to Anchored Object Queries Slower to Update in 26.1?
I've submitted this as FB21030260. To give a little more detail here for others: my Anchored Object Query used to update step count every 10 seconds or so. Now it only appears to update every 4 to 5 minutes. I initially thought I had broken the query entirely, but it DOES eventually get a step count value - just at a glacial pace.
Replies
Boosts
Views
Activity
Nov ’25
Reply to Xcode Cloud, Xcode 26 RC
It's there now.
Replies
Boosts
Views
Activity
Sep ’25
Reply to Support for cycling power & cadence sensors in HKWorkoutSession on iOS?
I also need this functionality and have requested it in FB19932104
Topic: App & System Services SubTopic: Hardware Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to UIScene.ConnectionOptions.shouldHandleActiveWorkoutRecovery Missing?
I actually figured it out - it appears that it isn't just included in UIKit, but is instead part of an extension in HealthKitUI. Fixed by adding import HealthKitUI
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Aug ’25
Reply to Disable new tab bar look
I have a Catalyst-enabled app with a UITabBarController for view switching and a custom "tab bar" (actually a UICollectionView). In my case, I wanted to hide this new tab bar and side bar. Here is the workaround I needed to do to accomplish that, as setTabBarHidden didn't work for me. Posting here in case it helps anyone else. internal class MainTabBarController: UITabBarController { internal override func viewDidLoad() { #if targetEnvironment(macCatalyst) mode = .tabSidebar sidebar.isHidden = true #else setTabBarHidden(true, animated: false) #endif } }
Topic: UI Frameworks SubTopic: General Tags:
Replies
Boosts
Views
Activity
Sep ’24