Search results for

“swiftui”

17,233 results found

Post

Replies

Boosts

Views

Activity

WidgetKit: WidgetCenter.reloadAllTimelines() / reloadTimelines(ofKind:) requests are silently ignored/deferred, causing widget to remain unupdated UI Frameworks SwiftUI
Problem After launching the host app by tapping the widget (widgetURL), calls to: WidgetCenter.shared.reloadAllTimelines() WidgetCenter.shared.reloadTimelines(ofKind: ...) are ignored/deferred for an initial period right after the app opens. During this window, the widget does not reload its timeline and remains unupdated, no matter how many times I call the reload methods. After some time passes (typically ~30 seconds, sometimes shorter/longer), reload calls start working again. There is also no developer-visible signal (no callback/error/acknowledgement) that the reload was ignored, so the app can’t detect the failure and can’t reliably recover the flow. Question: Is this expected behavior (throttling/cooldown) after opening the app from a widget ? If so, is there any recommended workaround to update the widget reliably and quickly (or at least detect that the reload was not accepted)? Any guidance would help.
0
0
124
Feb ’26
Reply to Wanted: Live Activities, only on iOS (No remote iOS Live Activities)
Thank you for your post. I must admit that I am not entirely clear on your question regarding creating a Live Activity for a remote hosting environment. I believe I may have misunderstood your inquiry. Could you please provide me with additional details to clarify your objectives? As currently, Live Activities are designed primarily for iOS devices, and they appear on the Lock Screen and Control Center. December 16, 2025 Updated guidance for all platforms, and added guidance for macOS and CarPlay. https://developer.apple.com/design/human-interface-guidelines/live-activities/ If you want to bring Live Activities to Apple Watch: https://developer.apple.com/videos/play/wwdc2024/10068/ Including the documentation for the live activities guide. The widget configuration api to position a widget: https://developer.apple.com/documentation/swiftui/widgetconfiguration/disfavoredlocations(_:for:) Thanks, Albert Pascual
  Worldwide Developer Relations.
Feb ’26
Reply to Application Hangs with Nested LazyVStack When Accessibility Inspector is Active
Hello @mike sldkcjnsdmhvbsdh I can see the code you submitted and have some insight. However, I am not the engineering team handling this report and would continue to refer to the status and discussion in Feedback Assistant, but I do have some insight. See your line 40 of NestedLazyVStackView .onAppear { // ⚠️ HANG TRIGGER POINT LazyVStacks allocates views as they are needed and here SwiftUI is modifying its content through state changes while that is happening. This creates a race condition. Traversing the accessibility tree will cause unexpected issues in this situation. For more info on the best practices building performant layouts, see: Building layouts with stack views and Creating performant scrollable stacks I hope this helps!  Travis Trotto - DTS Engineer
Feb ’26
UIHostingConfiguration focus problem on tvOS, with SwiftUI view
UIHostingConfiguration on tvOS: focus permanently broken with multiple focusable SwiftUI views Hi everyone, I'm working on a tvOS app with a UICollectionView. Some cells embed SwiftUI content via UIHostingConfiguration, specifically a row of 3 buttons that should be individually focusable. The cell itself returns canBecomeFocused = false so focus passes through to the SwiftUI buttons. The problem: after navigating focus into that section once, it becomes permanently unfocusable. Focus enters briefly, then immediately exits to nil on its own, without any user input. From that point on, the focus engine completely skips the section. The exact same SwiftUI view works perfectly when embedded via UIHostingController instead. How to reproduce Press DOWN to move focus into the UIHostingConfiguration section Focus lands on a SwiftUI button for a split second Focus exits on its own and bumps to another section The section is now dead, focus skips it on every subsequent navi
1
0
356
Feb ’26
UIHostingConfiguration on tvOS, focus engine problem with SwiftUI and collectionView
UIHostingConfiguration on tvOS: focus permanently broken with multiple focusable SwiftUI views Hi everyone, I'm working on a tvOS app with a UICollectionView. Some cells embed SwiftUI content via UIHostingConfiguration, specifically a row of 3 buttons that should be individually focusable. The cell itself returns canBecomeFocused = false so focus passes through to the SwiftUI buttons. The problem: after navigating focus into that section once, it becomes permanently unfocusable. Focus enters briefly, then immediately exits to nil on its own, without any user input. From that point on, the focus engine completely skips the section. The exact same SwiftUI view works perfectly when embedded via UIHostingController instead. How to reproduce Press DOWN to move focus into the UIHostingConfiguration section Focus lands on a SwiftUI button for a split second Focus exits on its own and bumps to another section The section is now dead, focus skips it on every subsequent navi
0
0
425
Feb ’26
Support for trailing accessory views in Tab (sidebarAdaptable TabView)
In iOS 18, TabView with .tabViewStyle(.sidebarAdaptable) introduced a powerful adaptive pattern — tabs in compact, sidebar in regular. However, the current Tab API only supports a title and an image (icon). There is no way to provide a trailing accessory view (e.g., a secondary icon or indicator) for sidebar rows. This is a meaningful gap in the API, because trailing accessories are a well-established pattern throughout UIKit and SwiftUI. Precedent in Apple's own design language Apple already supports trailing accessories in many analogous contexts: UITableViewCell / UICollectionViewListCell — support accessories (disclosure indicators, checkmarks, custom views) via UICellAccessory. UIListContentConfiguration — allows leading and trailing content in list rows. SwiftUI List rows — support Label, HStack with trailing elements, .badge(), and swipeActions. NavigationLink — automatically renders a disclosure chevron as a trailing accessory. UITabSidebarItem (UIKit, iOS 18) — supports configuratio
2
0
277
Feb ’26
Why do I feel like my growth as an iOS developer has slowed down
I have 9 plus years of iOS experience starting with Objective C and moving to Swift, but after 4 years in my current company with little salary growth, I am struggling to find new opportunities in a highly competitive market with fewer openings and broader skill expectations. I am unsure about the long term career path for mobile developers, concerned about compensation growth and lacking SwiftUI experience, and would appreciate guidance on what additional skills to learn to stand out and secure better opportunities.
1
0
130
Feb ’26
SpriteKit framerate drop on iOS 26.3
Hello, I have noticed a performance drop on SpriteKit-based projects running on iOS 26.3. The issue seems very similar to the issue reported on iOS 26.0, and later solved from iOS 26.2 beta 3: https://developer.apple.com/forums/thread/800952?answerId=870617022#870617022 With 26.3, it seems a regression occured. Below is the same SpriteKit scene used to test framerate on different devices: import SpriteKit import SwiftUI class BareboneScene: SKScene { override func didMove(to view: SKView) { size = view.bounds.size anchorPoint = CGPoint(x: 0.5, y: 0.5) backgroundColor = .darkGray let roundedSquare = SKShapeNode(rectOf: CGSize(width: 150, height: 75), cornerRadius: 12) roundedSquare.fillColor = .systemRed roundedSquare.strokeColor = .black roundedSquare.lineWidth = 3 addChild(roundedSquare) let action = SKAction.rotate(byAngle: .pi, duration: 1) roundedSquare.run(.repeatForever(action)) } } struct BareboneSceneView: View { var body: some View { SpriteView( scene: BareboneScene(), debugOptions: [.showsF
4
0
1.9k
Feb ’26
Zoom transition source tile lags after back navigation when LazyVGrid is scrolled immediately
[Submitted as FB21961572] When navigating from a tile in a scrolling LazyVGrid to a child view using .navigationTransition(.zoom) and then returning, the source tile can lag behind the rest of the grid if scrolling starts immediately after returning. The lag becomes more pronounced as tile content gets more complex; in this simplified sample, it can seem subtle, but in production-style tiles (as used in both of my apps), it is clearly visible and noticeable. This may be related to another issue I recently filed: Source item disappears after swipe-back with .navigationTransition(.zoom) CONFIGURATION Platform: iOS Simulator and physical device Navigation APIs: matchedTransitionSource + navigationTransition(.zoom) Container: ScrollView + LazyVGrid Sample project: ZoomTransition (DisappearingTile).zip REPRO STEPS Create a new iOS project and replace ContentView with the code below. Run the app in sim or physical device Tap any tile in the scrolling grid to navigate to the child view. Return to the grid (back butt
Topic: UI Frameworks SubTopic: SwiftUI
3
0
376
Feb ’26
Intrinsic content/system fitting size not propagating up to hosting controller.
Overview I have the following view hierarchy that mixes SwiftUI and UIKit: AccordionView └─ VStack ├─ Text ├─ Button └─ UIViewRepresentable └─ UIStackView ├─ UILabel └─ UILabel When tapping the button, the UIViewRepresentable hides and shows its content. This all works as expected. However, in certain circumstances the view's sizing is rendered with the correct size, but the text can often render incorrectly, despite the frame seemingly looking as though it has enough room to render the text. More info Below you can see the UILabel has the correct frame height (the light grey background and coloured borders) but the text is rendered as though it has infinite width along one line. There's a few configurations of my view hierarchy that seem to have this effect. I've added a playground to the bottom of this post of various configurations to show what does and doesn't work, just copy and paste to see for yourself... It seems of the ones that don't work, there's a couple of reasons why that may be: Hosted
0
0
331
Feb ’26
SwiftUI bottom bar triggers UIKitToolbar hierarchy fault and constraint errors
[Submitted as FB21958289] A minimal SwiftUI app logs framework warnings when a bottom bar Menu is used with the system search toolbar item. The most severe issue is logged as a console Fault (full logs below): Adding 'UIKitToolbar' as a subview of UIHostingController.view is not supported and may result in a broken view hierarchy. Add your view above UIHostingController.view in a common superview or insert it into your SwiftUI content in a UIViewRepresentable instead. This appears to be a framework-level SwiftUI/UIKit integration issue, not custom UIKit embedding in app code. The UI may still render, but the warnings indicate an internal hierarchy/layout conflict. This occurs in simulator and physical device. REPRO STEPS Create a new project then replace ContentView with the code below. Run the app. The view uses NavigationStack + .searchable + .toolbar with: ToolbarItem(placement: .bottomBar) containing a Menu DefaultToolbarItem(kind: .search, placement: .bottomBar) EXPECTED RESULT
Topic: UI Frameworks SubTopic: SwiftUI Tags:
3
0
373
Feb ’26
Notifications scheduled but never delivered at scheduled time
Device: iPhone (real device) iOS: 17.x Permission: Granted Notifications are scheduled using UNCalendarNotificationTrigger. The function runs and prints SCHEDULING STARTED. However, notifications never appear at 8:00 AM, even the next day. Here is my DailyNotifications file code: import Foundation import UserNotifications enum DailyNotifications { // CHANGE THESE TWO FOR TESTING / PRODUCTION // For testing set to a few minutes ahead static let hour: Int = 8 static let minute: Int = 0 // For production use: // static let hour: Int = 9 // static let minute: Int = 0 static let daysToSchedule: Int = 30 private static let idPrefix = daily-thought- private static let categoryId = DAILY_THOUGHT // MARK: - Permission static func requestPermission(completion: @escaping (Bool) -> Void) { let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert, .sound]) { granted, _ in DispatchQueue.main.async { completion(granted) } } } // MARK: - Schedule static func scheduleNext30Days(isPro: Bo
1
0
320
Feb ’26
Reply to UIApplication.canOpenURL not working without Safari
Yes, it makes sense now, so you are letting us know the API: guard let url = URL(string: https://www.apple.com) else { return } if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } else { print(Could not open URL) } Is not working? I can help you with that as there is no bugs on that api at all. I just put the simple app to open and opens safari, but if there is no browser nothing will open? import SwiftUI struct ContentView: View { var body: some View { VStack { Image(systemName: globe) .imageScale(.large) .foregroundStyle(.tint) Text(Hello, world!) }.task { guard let url = URL(string: https://www.apple.com) else { return } if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } else { print(Could not open URL) } } .padding() } } #Preview { ContentView() } However the API requires an app capable of handling this request as explained here: (Launching the app brings the other app to the foreground.) If no app is capable of handling the specified scheme, the com
Topic: UI Frameworks SubTopic: UIKit
Feb ’26
Reply to SwiftUI .toolbar(placement: .keyboard) item not exposed to accessibility on iOS 26.1 (affects VoiceOver + XCUITest)
I've seen this behavior as well. Haven't been able to track down exactly why it's happening. I attempted to create a stripped down example, but couldn't recreate the same issue. A couple of things about the ToolbarItemGroup(placement: .keyboard) {} I'm investigating: My implementation is view a SwiftUI View that conforms to the ToolbarContent protocol. My implementation is part of a separate Swift Package utilized in my main project.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’26
WidgetKit: WidgetCenter.reloadAllTimelines() / reloadTimelines(ofKind:) requests are silently ignored/deferred, causing widget to remain unupdated UI Frameworks SwiftUI
Problem After launching the host app by tapping the widget (widgetURL), calls to: WidgetCenter.shared.reloadAllTimelines() WidgetCenter.shared.reloadTimelines(ofKind: ...) are ignored/deferred for an initial period right after the app opens. During this window, the widget does not reload its timeline and remains unupdated, no matter how many times I call the reload methods. After some time passes (typically ~30 seconds, sometimes shorter/longer), reload calls start working again. There is also no developer-visible signal (no callback/error/acknowledgement) that the reload was ignored, so the app can’t detect the failure and can’t reliably recover the flow. Question: Is this expected behavior (throttling/cooldown) after opening the app from a widget ? If so, is there any recommended workaround to update the widget reliably and quickly (or at least detect that the reload was not accepted)? Any guidance would help.
Replies
0
Boosts
0
Views
124
Activity
Feb ’26
Reply to Why do I feel like my growth as an iOS developer has slowed down
Upskill in SwiftUI and system design, explore leadership roles, diversify platform expertise strategically.
Replies
Boosts
Views
Activity
Feb ’26
Reply to Wanted: Live Activities, only on iOS (No remote iOS Live Activities)
Thank you for your post. I must admit that I am not entirely clear on your question regarding creating a Live Activity for a remote hosting environment. I believe I may have misunderstood your inquiry. Could you please provide me with additional details to clarify your objectives? As currently, Live Activities are designed primarily for iOS devices, and they appear on the Lock Screen and Control Center. December 16, 2025 Updated guidance for all platforms, and added guidance for macOS and CarPlay. https://developer.apple.com/design/human-interface-guidelines/live-activities/ If you want to bring Live Activities to Apple Watch: https://developer.apple.com/videos/play/wwdc2024/10068/ Including the documentation for the live activities guide. The widget configuration api to position a widget: https://developer.apple.com/documentation/swiftui/widgetconfiguration/disfavoredlocations(_:for:) Thanks, Albert Pascual
  Worldwide Developer Relations.
Replies
Boosts
Views
Activity
Feb ’26
Reply to Application Hangs with Nested LazyVStack When Accessibility Inspector is Active
Hello @mike sldkcjnsdmhvbsdh I can see the code you submitted and have some insight. However, I am not the engineering team handling this report and would continue to refer to the status and discussion in Feedback Assistant, but I do have some insight. See your line 40 of NestedLazyVStackView .onAppear { // ⚠️ HANG TRIGGER POINT LazyVStacks allocates views as they are needed and here SwiftUI is modifying its content through state changes while that is happening. This creates a race condition. Traversing the accessibility tree will cause unexpected issues in this situation. For more info on the best practices building performant layouts, see: Building layouts with stack views and Creating performant scrollable stacks I hope this helps!  Travis Trotto - DTS Engineer
Replies
Boosts
Views
Activity
Feb ’26
UIHostingConfiguration focus problem on tvOS, with SwiftUI view
UIHostingConfiguration on tvOS: focus permanently broken with multiple focusable SwiftUI views Hi everyone, I'm working on a tvOS app with a UICollectionView. Some cells embed SwiftUI content via UIHostingConfiguration, specifically a row of 3 buttons that should be individually focusable. The cell itself returns canBecomeFocused = false so focus passes through to the SwiftUI buttons. The problem: after navigating focus into that section once, it becomes permanently unfocusable. Focus enters briefly, then immediately exits to nil on its own, without any user input. From that point on, the focus engine completely skips the section. The exact same SwiftUI view works perfectly when embedded via UIHostingController instead. How to reproduce Press DOWN to move focus into the UIHostingConfiguration section Focus lands on a SwiftUI button for a split second Focus exits on its own and bumps to another section The section is now dead, focus skips it on every subsequent navi
Replies
1
Boosts
0
Views
356
Activity
Feb ’26
UIHostingConfiguration on tvOS, focus engine problem with SwiftUI and collectionView
UIHostingConfiguration on tvOS: focus permanently broken with multiple focusable SwiftUI views Hi everyone, I'm working on a tvOS app with a UICollectionView. Some cells embed SwiftUI content via UIHostingConfiguration, specifically a row of 3 buttons that should be individually focusable. The cell itself returns canBecomeFocused = false so focus passes through to the SwiftUI buttons. The problem: after navigating focus into that section once, it becomes permanently unfocusable. Focus enters briefly, then immediately exits to nil on its own, without any user input. From that point on, the focus engine completely skips the section. The exact same SwiftUI view works perfectly when embedded via UIHostingController instead. How to reproduce Press DOWN to move focus into the UIHostingConfiguration section Focus lands on a SwiftUI button for a split second Focus exits on its own and bumps to another section The section is now dead, focus skips it on every subsequent navi
Replies
0
Boosts
0
Views
425
Activity
Feb ’26
Support for trailing accessory views in Tab (sidebarAdaptable TabView)
In iOS 18, TabView with .tabViewStyle(.sidebarAdaptable) introduced a powerful adaptive pattern — tabs in compact, sidebar in regular. However, the current Tab API only supports a title and an image (icon). There is no way to provide a trailing accessory view (e.g., a secondary icon or indicator) for sidebar rows. This is a meaningful gap in the API, because trailing accessories are a well-established pattern throughout UIKit and SwiftUI. Precedent in Apple's own design language Apple already supports trailing accessories in many analogous contexts: UITableViewCell / UICollectionViewListCell — support accessories (disclosure indicators, checkmarks, custom views) via UICellAccessory. UIListContentConfiguration — allows leading and trailing content in list rows. SwiftUI List rows — support Label, HStack with trailing elements, .badge(), and swipeActions. NavigationLink — automatically renders a disclosure chevron as a trailing accessory. UITabSidebarItem (UIKit, iOS 18) — supports configuratio
Replies
2
Boosts
0
Views
277
Activity
Feb ’26
Why do I feel like my growth as an iOS developer has slowed down
I have 9 plus years of iOS experience starting with Objective C and moving to Swift, but after 4 years in my current company with little salary growth, I am struggling to find new opportunities in a highly competitive market with fewer openings and broader skill expectations. I am unsure about the long term career path for mobile developers, concerned about compensation growth and lacking SwiftUI experience, and would appreciate guidance on what additional skills to learn to stand out and secure better opportunities.
Replies
1
Boosts
0
Views
130
Activity
Feb ’26
SpriteKit framerate drop on iOS 26.3
Hello, I have noticed a performance drop on SpriteKit-based projects running on iOS 26.3. The issue seems very similar to the issue reported on iOS 26.0, and later solved from iOS 26.2 beta 3: https://developer.apple.com/forums/thread/800952?answerId=870617022#870617022 With 26.3, it seems a regression occured. Below is the same SpriteKit scene used to test framerate on different devices: import SpriteKit import SwiftUI class BareboneScene: SKScene { override func didMove(to view: SKView) { size = view.bounds.size anchorPoint = CGPoint(x: 0.5, y: 0.5) backgroundColor = .darkGray let roundedSquare = SKShapeNode(rectOf: CGSize(width: 150, height: 75), cornerRadius: 12) roundedSquare.fillColor = .systemRed roundedSquare.strokeColor = .black roundedSquare.lineWidth = 3 addChild(roundedSquare) let action = SKAction.rotate(byAngle: .pi, duration: 1) roundedSquare.run(.repeatForever(action)) } } struct BareboneSceneView: View { var body: some View { SpriteView( scene: BareboneScene(), debugOptions: [.showsF
Replies
4
Boosts
0
Views
1.9k
Activity
Feb ’26
Zoom transition source tile lags after back navigation when LazyVGrid is scrolled immediately
[Submitted as FB21961572] When navigating from a tile in a scrolling LazyVGrid to a child view using .navigationTransition(.zoom) and then returning, the source tile can lag behind the rest of the grid if scrolling starts immediately after returning. The lag becomes more pronounced as tile content gets more complex; in this simplified sample, it can seem subtle, but in production-style tiles (as used in both of my apps), it is clearly visible and noticeable. This may be related to another issue I recently filed: Source item disappears after swipe-back with .navigationTransition(.zoom) CONFIGURATION Platform: iOS Simulator and physical device Navigation APIs: matchedTransitionSource + navigationTransition(.zoom) Container: ScrollView + LazyVGrid Sample project: ZoomTransition (DisappearingTile).zip REPRO STEPS Create a new iOS project and replace ContentView with the code below. Run the app in sim or physical device Tap any tile in the scrolling grid to navigate to the child view. Return to the grid (back butt
Topic: UI Frameworks SubTopic: SwiftUI
Replies
3
Boosts
0
Views
376
Activity
Feb ’26
Intrinsic content/system fitting size not propagating up to hosting controller.
Overview I have the following view hierarchy that mixes SwiftUI and UIKit: AccordionView └─ VStack ├─ Text ├─ Button └─ UIViewRepresentable └─ UIStackView ├─ UILabel └─ UILabel When tapping the button, the UIViewRepresentable hides and shows its content. This all works as expected. However, in certain circumstances the view's sizing is rendered with the correct size, but the text can often render incorrectly, despite the frame seemingly looking as though it has enough room to render the text. More info Below you can see the UILabel has the correct frame height (the light grey background and coloured borders) but the text is rendered as though it has infinite width along one line. There's a few configurations of my view hierarchy that seem to have this effect. I've added a playground to the bottom of this post of various configurations to show what does and doesn't work, just copy and paste to see for yourself... It seems of the ones that don't work, there's a couple of reasons why that may be: Hosted
Replies
0
Boosts
0
Views
331
Activity
Feb ’26
SwiftUI bottom bar triggers UIKitToolbar hierarchy fault and constraint errors
[Submitted as FB21958289] A minimal SwiftUI app logs framework warnings when a bottom bar Menu is used with the system search toolbar item. The most severe issue is logged as a console Fault (full logs below): Adding 'UIKitToolbar' as a subview of UIHostingController.view is not supported and may result in a broken view hierarchy. Add your view above UIHostingController.view in a common superview or insert it into your SwiftUI content in a UIViewRepresentable instead. This appears to be a framework-level SwiftUI/UIKit integration issue, not custom UIKit embedding in app code. The UI may still render, but the warnings indicate an internal hierarchy/layout conflict. This occurs in simulator and physical device. REPRO STEPS Create a new project then replace ContentView with the code below. Run the app. The view uses NavigationStack + .searchable + .toolbar with: ToolbarItem(placement: .bottomBar) containing a Menu DefaultToolbarItem(kind: .search, placement: .bottomBar) EXPECTED RESULT
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
3
Boosts
0
Views
373
Activity
Feb ’26
Notifications scheduled but never delivered at scheduled time
Device: iPhone (real device) iOS: 17.x Permission: Granted Notifications are scheduled using UNCalendarNotificationTrigger. The function runs and prints SCHEDULING STARTED. However, notifications never appear at 8:00 AM, even the next day. Here is my DailyNotifications file code: import Foundation import UserNotifications enum DailyNotifications { // CHANGE THESE TWO FOR TESTING / PRODUCTION // For testing set to a few minutes ahead static let hour: Int = 8 static let minute: Int = 0 // For production use: // static let hour: Int = 9 // static let minute: Int = 0 static let daysToSchedule: Int = 30 private static let idPrefix = daily-thought- private static let categoryId = DAILY_THOUGHT // MARK: - Permission static func requestPermission(completion: @escaping (Bool) -> Void) { let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert, .sound]) { granted, _ in DispatchQueue.main.async { completion(granted) } } } // MARK: - Schedule static func scheduleNext30Days(isPro: Bo
Replies
1
Boosts
0
Views
320
Activity
Feb ’26
Reply to UIApplication.canOpenURL not working without Safari
Yes, it makes sense now, so you are letting us know the API: guard let url = URL(string: https://www.apple.com) else { return } if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } else { print(Could not open URL) } Is not working? I can help you with that as there is no bugs on that api at all. I just put the simple app to open and opens safari, but if there is no browser nothing will open? import SwiftUI struct ContentView: View { var body: some View { VStack { Image(systemName: globe) .imageScale(.large) .foregroundStyle(.tint) Text(Hello, world!) }.task { guard let url = URL(string: https://www.apple.com) else { return } if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } else { print(Could not open URL) } } .padding() } } #Preview { ContentView() } However the API requires an app capable of handling this request as explained here: (Launching the app brings the other app to the foreground.) If no app is capable of handling the specified scheme, the com
Topic: UI Frameworks SubTopic: UIKit
Replies
Boosts
Views
Activity
Feb ’26
Reply to SwiftUI .toolbar(placement: .keyboard) item not exposed to accessibility on iOS 26.1 (affects VoiceOver + XCUITest)
I've seen this behavior as well. Haven't been able to track down exactly why it's happening. I attempted to create a stripped down example, but couldn't recreate the same issue. A couple of things about the ToolbarItemGroup(placement: .keyboard) {} I'm investigating: My implementation is view a SwiftUI View that conforms to the ToolbarContent protocol. My implementation is part of a separate Swift Package utilized in my main project.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Feb ’26