Search results for

“swiftui”

17,491 results found

Post

Replies

Boosts

Views

Activity

Reply to OS27 LazyVGrid hops like crazy on scroll up.
Okay, I think I've isolated it more. My hops like crazy scenario was multiple LazyVGrids inside a single ScrollView. I'm going to assume that's not a supported configuration. I've attached a project and some videos to FB23182374 . Let me know if you have any questions or want me to try some things out on it. Thanks for this @J0hn! I see what's going on here. This sample project shows one LazyVGrid in a ScrollView, that looks fine – I'm curious to see if you find yourself needing to nest lazy stacks, there might be other ways to achieve the same result. What stands out to me is: Geometry-driven layout changes should happen in a single pass with a custom Layout, not through a state feedback loop. This exact situation is covered in our WWDC26 session Dive into lazy stacks and scrolling with SwiftUI. Watch that video, it will provide relevant insight into this app you are building. And for usability concerns, you can probably get away with a fixed corner radius. Lastly, your feedback report is still open
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’26
MapKit MapStyle
Does anybody know if I'm missing something here? I'm using .mapStyle(.elevation(.realistic)), which enables the 3D map view, but it causes significant lag when driving in real life, especially at speeds above 50 mph. Everything works perfectly in the Simulator with no issues, but real world performance is much worse. The phone starts heating up almost immediately when driving in this mode through urban areas with 3D map data. Interestingly, the phone does not heat up on motorways, and performance is excellent there. (I guess because there's not so much 3D data to show on motorways) This mode looks fantastic and is one of the most requested features from my users, so I'm trying to figure out how to make it work properly. I've tested both SwiftUI and UIKit implementations and get the same result in both. Also I'm using an iPhone 17 Pro Max and an iPad 11, same result on both, including CarPlay import MapKit import CoreLocation struct ContentView: View { @State private var locationManager = LocationMana
1
0
192
Jun ’26
SwiftUI `OutlineGroup` Should Support Native Reordering with `reorderable` / `reorderContainer`
Description I would like to request native reordering support for SwiftUI hierarchical views, especially OutlineGroup and List(_:children:). In iOS 27, SwiftUI introduces the new reordering APIs: .reorderable() .reorderable(collectionID:) .reorderContainer(for:move:) .reorderContainer(for:in:move:) These APIs work well for flat collections and explicit sectioned collections, but they do not appear to integrate with OutlineGroup, even though OutlineGroup is the natural SwiftUI API for tree-structured data. Currently, OutlineGroup hides the internal recursive ForEach / DisclosureGroup structure, so there is no obvious place to apply reorderable(collectionID:) at each hierarchy level. Current Working Pattern for Sections This works when each parent is represented manually as a section: struct SectionModel: Identifiable { let id: UUID var title: String var items: [Item] } struct Item: Identifiable { let id: UUID var title: String } struct ContentView: View { @State private var sections:
Topic: UI Frameworks SubTopic: SwiftUI
1
0
132
Jun ’26
DeviceActivityReport: is host-owned scrolling over an embedded report possible, and can the report present full-screen modals?
I’m building a rich Home surface around a DeviceActivityReport embedded in my host app, and I’ve hit a set of boundaries that I’d like to confirm as intended behavior rather than something I’m doing wrong. All results below are from physical devices running iOS 18 and iOS 26, since Screen Time data is not available in Simulator. What I’m trying to build I want a single scrolling page where: The host app owns some chrome, including a date picker, refresh button, and settings button. The embedded DeviceActivityReport renders the Screen Time data, including totals, a per-hour chart, and per-app usage. The host chrome can react to the report scrolling. Taps inside the report can open a full-screen sheet. Findings so far 1. Report → host App Group writes do not reach the host A UserDefaults(suiteName:) write, or a file written to the App Group container, from inside the report extension returns success. However, the host app reads nil for those keys, including for a plain string marker unrelated to Screen Time dat
0
0
115
Jun ’26
UserDefaults.standard.integer(forKey: ) crashes the app with EXC_BAD_ACCESS (code=1, address=0x0)
With the 27 OSes using UserDefaults.standard.integer(forKey: ) can cause a crash with EXC_BAD_ACCESS (code=1, address=0x0) It has been seen on a Multiplatform app, up to now tested on iOS/iPadOS and visionOS 27 Beta 1. In our code we use UserDefaults.standard.integer(forKey: ) from a singleton called during the SwiftUI app init(), and we don't know yet if this is the only moment there is a crash as we can't go farther. The API should return 0 if it can't get a value. There is no reason the app should crash if the API conforms to its contract. Running the same code from Xcode on iOS 26 runs it without issue. FeedBack FB23310748
7
0
860
Jun ’26
Reply to How do you make a resizable segmented control in SwiftUI for macOS?
Part of the mystery has now been solved. On macOS 27, NSSegmentedControl gained a new property: var role: NSSegmentedControl.Role { get set } Setting this value to .tabs enables a glass effect during user interactions. If the control is also inside a glass container, then a glass bevel style will also be applied. This appears to mirror the SwiftUI TabsPickerStyle behaviour, with the role .valueSelection mapping to SegmentedPickerStyle. I'm still unable to get a SwiftUI Picker to stretch to fill and I suspect this is because NSSegmentedControl.Distribution is not exposed to SwiftUI, and likely is defaulting to .fit.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’26
Reply to How do you correctly use a SwiftUI View inside an NSToolbarItem?
@galad87 In this example, the benefits of a SwiftUI Button is minimal, but not zero. Integration with an existing @Observable view model, for example, is easier with a SwiftUI button versus the target/action pattern from AppKit. Regardless, this snippet was more intended to show a minimal example I could come up with that exhibited differences between AppKit views and SwiftUI views within an NSToolbarItem. As the complexity of the hosted SwiftUI view increases, the number of glitches I see increases. (ex: Window dragging that initiates inside the hosted SwiftUI view does not appear to work if that SwiftUI view has a subview with a gesture of its own. Mouse events appear to get consumed by the entire NSHostingView.) Rich toolbar items like Safari's address bar or Xcode's status bar would be great candidates for SwiftUI, but my experience so far has been unsuccessful given the issues I've encountered embedding SwiftUI Views inside an NSTool
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’26
qwen3.5 free offline plugin for xcode
I can't figure how to install it Here's google post: You can use the following free options directly inside Xcode 27:1. Built-in On-Device Predictive Code CompletionApple provides a free on-device, on-chip model that runs entirely locally on your Mac.Cost: 100% Free (no internet connection or subscription required).How it works: It uses Apple Silicon to predict and autocomplete your Swift code instantly as you type.Setup: Go to Xcode > Settings > Intelligence and ensure local code completion is toggled on.2. Free-Tier Cloud Models (ChatGPT, Claude, & Gemini)Xcode 27 explicitly features a native two-tier intelligence system. For simple completions, it uses your local chip. For complex planning, multi-turn conversations, and writing autonomous unit tests, it integrates directly with cloud providers. You can utilize the free tiers of these services:Anthropic Claude: You can generate a free API key from the Anthropic Developer Console to power Xcode 27’s coding agents.OpenAI ChatGPT: You can hook Xcode
2
0
582
Jun ’26
Reply to How do you correctly use a SwiftUI View inside an NSToolbarItem?
NSToolbarItem manages its own style when isBordered is set to true (for example in your code is not manually adding a NSButton subview). On the other hand, your SwiftUI code is manually adding a Button instead, and probably NSToolbarItem isn't smart enough to recognise the pattern and fall back to its internal NSButton subclass. I don't know if there is a workaround, I would send a feedback of the issue and keep avoid NSHostingView for simple toolbar buttons, it doesn't like there isn't any advantage in SwiftUI for such things anyway.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’26
Reply to How do you make a resizable segmented control in SwiftUI for macOS?
Hoping to try and boost this now that macOS 27 Beta 1 is out. Xcode 27 uses segmented controls in the sidebar and inspector panels as their tabs. These segmented control have a glass effect applied to them and they stretch to fill the width of their respective container views. How do you actually create such a control? In macOS 27, using SwiftUI I can create a segmented control that has the glass effect but I cannot get it to stretch to fill the width. This is using .pickerStyle(.tabs), which isn't actually the same look as Xcode's but at least has some glass attributes. Using AppKit I can get the stretch to fill behaviour, but I cannot figure out how to get the glass effect. TL;DR: How do you make a segmented control like the on in Xcode 27's sidebar and inspector panel under macOS 27?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jun ’26
How do you correctly use a SwiftUI View inside an NSToolbarItem?
I've been struggling to get consistent UI and UX behaviour of SwiftUI Views inside NSToolbarItems and was wondering if there is an official way to use them. I've now revisited this issue in macOS 27 and continue to see some idiosyncrasies. In the attached screenshot, you can see that the highlight area on mouse down between to the two buttons is different. This is the easiest example I've come up with that shows SwiftUI Views exhibiting different behaviour than AppKit Views. Two questions: Is an NSHostingView a valid and supported view type for NSToolbarItem.view? If so, are there any rules that govern how the SwiftUI view should be configured? (ex: frame, sizing options, supported SwiftUI Views, preferred root view types, etc?) Sample code that created the two NSToolbarItem buttons in the screenshot. macOS 27 ZY21R0CMGL (Public Beta 1) Xcode 27.0 beta Minimum Deployment target: 27.0 // Left-Top SwiftUI Button (Clipped Highlighting) let item = NSToolbarItem(itemIde
2
0
348
Jun ’26
Rejection : Guideline 4.2, Design, Minimum Functionality
Rejected under Guideline 4.2 - a native crypto wallet + Web3 browser flagged as just a web browser. Looking for guidance. I'd appreciate the community's and Apple engineers' read on a 4.2 (Minimum Functionality) rejection, because I believe the guideline was misapplied and I want to resolve it correctly. WHAT THE APP IS Everything Black is a native iOS app (SwiftUI, iOS 18+) built to platform Black-owned businesses, history, culture, and content, and to preserve it in one place. There is nothing else like it on the App Store. It combines a community hub, a Web3 layer, and an on-device crypto wallet. Native non-custodial wallet (GuapcoinX / GUAP token). This is core, and none of it is possible on the web. A 12-word recovery phrase is generated on the device with native BIP-39 / BIP-32 key derivation. The private key is stored in the iOS Keychain, so it never leaves the device or touches a server. Every transaction is gated by Face ID via the native LocalAuthentication framework. Transactions are signe
1
0
336
Jun ’26
Reply to Interface Builder is barely usable
What you describe sounds exactly like my own experience. It's really slow. But I'm pretty sure that LLM agents are not involved. It seems noticeably better than it was 2-3 years ago. It doesn't go insane and start moving elements around on its own like it used to. Unfortunately, I don't see any future for Interface Builder. Many people have already switched to SwiftUI. Ironically enough, Interface Builder is much faster and more reliable than SwiftUI Previews. Maybe just start scaling back use of Interface Builder. Use it only for top-level objects like windows and view controllers. Do anything lower than that in code. In particular, Interface Builder really struggles with auto layout. So once you feel the need to start doing layout, that's your signal to switch to code. As more and more people are using AI, you're going to see even less use of Interface Builder. I guess it's time to start the deprecation clock. It's not as if I'll really miss it. I miss what it could have been. I miss the f
Jun ’26
Supported way for iOS Safari Web Extension to hand off captured data to containing app for processing?
In 2018, Apple staff noted that Safari App Extensions had no direct API to communicate with the containing app, and suggested app groups or opening a custom URL scheme as workarounds. On iOS Safari Web Extensions, app groups work for persistence, but opening the containing app from the native extension/background flow does not appear reliable. iOS launch policy seems to require a direct user gesture, and I have not found a documented way for the extension flow to reliably continue into the containing app. Is there a supported iOS architecture for completing an extension-initiated workflow in the containing app, or is the intended model to persist data and require the user to manually open the app? My current architecture is: JavaScript in the Safari Web Extension extracts article content from the page. The native Extension Handler receives that content via native messaging. The Extension Handler writes an encoded request into the App Group container. The containing app watches the App Group container using Di
0
0
553
Jun ’26
Is there any API to detect Voice Control status in SwiftUI on iOS
I'm building an iOS app in SwiftUI and need to adapt my UI when Voice Control is active — specifically to show labels on custom gesture-driven controls so they're accessible via Voice Control commands. I've checked UIAccessibility and can find notifications and properties for VoiceOver (isVoiceOverRunning), Switch Control (isSwitchControlRunning), and AssistiveTouch (isAssistiveTouchRunning), but I can't find any equivalent for Voice Control. UIAccessibility.isVoiceControlRunning and voiceControlStatusDidChangeNotification appear to exist on macOS (AXIsProcessTrustedWithOptions) but not on iOS. Questions: Is there a public iOS API to detect whether Voice Control is currently active — either a UIAccessibility property, notification, or SwiftUI environment value? If not, is the recommended approach to use UIAccessibility.isGuidedAccessEnabled as a proxy, or something else entirely? Is there a private entitlement or capability that unlocks this detection for App Store apps? What I've already tr
4
0
1.4k
Jun ’26
Reply to OS27 LazyVGrid hops like crazy on scroll up.
Okay, I think I've isolated it more. My hops like crazy scenario was multiple LazyVGrids inside a single ScrollView. I'm going to assume that's not a supported configuration. I've attached a project and some videos to FB23182374 . Let me know if you have any questions or want me to try some things out on it. Thanks for this @J0hn! I see what's going on here. This sample project shows one LazyVGrid in a ScrollView, that looks fine – I'm curious to see if you find yourself needing to nest lazy stacks, there might be other ways to achieve the same result. What stands out to me is: Geometry-driven layout changes should happen in a single pass with a custom Layout, not through a state feedback loop. This exact situation is covered in our WWDC26 session Dive into lazy stacks and scrolling with SwiftUI. Watch that video, it will provide relevant insight into this app you are building. And for usability concerns, you can probably get away with a fixed corner radius. Lastly, your feedback report is still open
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jun ’26
MapKit MapStyle
Does anybody know if I'm missing something here? I'm using .mapStyle(.elevation(.realistic)), which enables the 3D map view, but it causes significant lag when driving in real life, especially at speeds above 50 mph. Everything works perfectly in the Simulator with no issues, but real world performance is much worse. The phone starts heating up almost immediately when driving in this mode through urban areas with 3D map data. Interestingly, the phone does not heat up on motorways, and performance is excellent there. (I guess because there's not so much 3D data to show on motorways) This mode looks fantastic and is one of the most requested features from my users, so I'm trying to figure out how to make it work properly. I've tested both SwiftUI and UIKit implementations and get the same result in both. Also I'm using an iPhone 17 Pro Max and an iPad 11, same result on both, including CarPlay import MapKit import CoreLocation struct ContentView: View { @State private var locationManager = LocationMana
Replies
1
Boosts
0
Views
192
Activity
Jun ’26
SwiftUI `OutlineGroup` Should Support Native Reordering with `reorderable` / `reorderContainer`
Description I would like to request native reordering support for SwiftUI hierarchical views, especially OutlineGroup and List(_:children:). In iOS 27, SwiftUI introduces the new reordering APIs: .reorderable() .reorderable(collectionID:) .reorderContainer(for:move:) .reorderContainer(for:in:move:) These APIs work well for flat collections and explicit sectioned collections, but they do not appear to integrate with OutlineGroup, even though OutlineGroup is the natural SwiftUI API for tree-structured data. Currently, OutlineGroup hides the internal recursive ForEach / DisclosureGroup structure, so there is no obvious place to apply reorderable(collectionID:) at each hierarchy level. Current Working Pattern for Sections This works when each parent is represented manually as a section: struct SectionModel: Identifiable { let id: UUID var title: String var items: [Item] } struct Item: Identifiable { let id: UUID var title: String } struct ContentView: View { @State private var sections:
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
132
Activity
Jun ’26
DeviceActivityReport: is host-owned scrolling over an embedded report possible, and can the report present full-screen modals?
I’m building a rich Home surface around a DeviceActivityReport embedded in my host app, and I’ve hit a set of boundaries that I’d like to confirm as intended behavior rather than something I’m doing wrong. All results below are from physical devices running iOS 18 and iOS 26, since Screen Time data is not available in Simulator. What I’m trying to build I want a single scrolling page where: The host app owns some chrome, including a date picker, refresh button, and settings button. The embedded DeviceActivityReport renders the Screen Time data, including totals, a per-hour chart, and per-app usage. The host chrome can react to the report scrolling. Taps inside the report can open a full-screen sheet. Findings so far 1. Report → host App Group writes do not reach the host A UserDefaults(suiteName:) write, or a file written to the App Group container, from inside the report extension returns success. However, the host app reads nil for those keys, including for a plain string marker unrelated to Screen Time dat
Replies
0
Boosts
0
Views
115
Activity
Jun ’26
UserDefaults.standard.integer(forKey: ) crashes the app with EXC_BAD_ACCESS (code=1, address=0x0)
With the 27 OSes using UserDefaults.standard.integer(forKey: ) can cause a crash with EXC_BAD_ACCESS (code=1, address=0x0) It has been seen on a Multiplatform app, up to now tested on iOS/iPadOS and visionOS 27 Beta 1. In our code we use UserDefaults.standard.integer(forKey: ) from a singleton called during the SwiftUI app init(), and we don't know yet if this is the only moment there is a crash as we can't go farther. The API should return 0 if it can't get a value. There is no reason the app should crash if the API conforms to its contract. Running the same code from Xcode on iOS 26 runs it without issue. FeedBack FB23310748
Replies
7
Boosts
0
Views
860
Activity
Jun ’26
Reply to How do you make a resizable segmented control in SwiftUI for macOS?
Part of the mystery has now been solved. On macOS 27, NSSegmentedControl gained a new property: var role: NSSegmentedControl.Role { get set } Setting this value to .tabs enables a glass effect during user interactions. If the control is also inside a glass container, then a glass bevel style will also be applied. This appears to mirror the SwiftUI TabsPickerStyle behaviour, with the role .valueSelection mapping to SegmentedPickerStyle. I'm still unable to get a SwiftUI Picker to stretch to fill and I suspect this is because NSSegmentedControl.Distribution is not exposed to SwiftUI, and likely is defaulting to .fit.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to How do you correctly use a SwiftUI View inside an NSToolbarItem?
@galad87 In this example, the benefits of a SwiftUI Button is minimal, but not zero. Integration with an existing @Observable view model, for example, is easier with a SwiftUI button versus the target/action pattern from AppKit. Regardless, this snippet was more intended to show a minimal example I could come up with that exhibited differences between AppKit views and SwiftUI views within an NSToolbarItem. As the complexity of the hosted SwiftUI view increases, the number of glitches I see increases. (ex: Window dragging that initiates inside the hosted SwiftUI view does not appear to work if that SwiftUI view has a subview with a gesture of its own. Mouse events appear to get consumed by the entire NSHostingView.) Rich toolbar items like Safari's address bar or Xcode's status bar would be great candidates for SwiftUI, but my experience so far has been unsuccessful given the issues I've encountered embedding SwiftUI Views inside an NSTool
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jun ’26
qwen3.5 free offline plugin for xcode
I can't figure how to install it Here's google post: You can use the following free options directly inside Xcode 27:1. Built-in On-Device Predictive Code CompletionApple provides a free on-device, on-chip model that runs entirely locally on your Mac.Cost: 100% Free (no internet connection or subscription required).How it works: It uses Apple Silicon to predict and autocomplete your Swift code instantly as you type.Setup: Go to Xcode > Settings > Intelligence and ensure local code completion is toggled on.2. Free-Tier Cloud Models (ChatGPT, Claude, & Gemini)Xcode 27 explicitly features a native two-tier intelligence system. For simple completions, it uses your local chip. For complex planning, multi-turn conversations, and writing autonomous unit tests, it integrates directly with cloud providers. You can utilize the free tiers of these services:Anthropic Claude: You can generate a free API key from the Anthropic Developer Console to power Xcode 27’s coding agents.OpenAI ChatGPT: You can hook Xcode
Replies
2
Boosts
0
Views
582
Activity
Jun ’26
Reply to How do you correctly use a SwiftUI View inside an NSToolbarItem?
NSToolbarItem manages its own style when isBordered is set to true (for example in your code is not manually adding a NSButton subview). On the other hand, your SwiftUI code is manually adding a Button instead, and probably NSToolbarItem isn't smart enough to recognise the pattern and fall back to its internal NSButton subclass. I don't know if there is a workaround, I would send a feedback of the issue and keep avoid NSHostingView for simple toolbar buttons, it doesn't like there isn't any advantage in SwiftUI for such things anyway.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to How do you make a resizable segmented control in SwiftUI for macOS?
Hoping to try and boost this now that macOS 27 Beta 1 is out. Xcode 27 uses segmented controls in the sidebar and inspector panels as their tabs. These segmented control have a glass effect applied to them and they stretch to fill the width of their respective container views. How do you actually create such a control? In macOS 27, using SwiftUI I can create a segmented control that has the glass effect but I cannot get it to stretch to fill the width. This is using .pickerStyle(.tabs), which isn't actually the same look as Xcode's but at least has some glass attributes. Using AppKit I can get the stretch to fill behaviour, but I cannot figure out how to get the glass effect. TL;DR: How do you make a segmented control like the on in Xcode 27's sidebar and inspector panel under macOS 27?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jun ’26
How do you correctly use a SwiftUI View inside an NSToolbarItem?
I've been struggling to get consistent UI and UX behaviour of SwiftUI Views inside NSToolbarItems and was wondering if there is an official way to use them. I've now revisited this issue in macOS 27 and continue to see some idiosyncrasies. In the attached screenshot, you can see that the highlight area on mouse down between to the two buttons is different. This is the easiest example I've come up with that shows SwiftUI Views exhibiting different behaviour than AppKit Views. Two questions: Is an NSHostingView a valid and supported view type for NSToolbarItem.view? If so, are there any rules that govern how the SwiftUI view should be configured? (ex: frame, sizing options, supported SwiftUI Views, preferred root view types, etc?) Sample code that created the two NSToolbarItem buttons in the screenshot. macOS 27 ZY21R0CMGL (Public Beta 1) Xcode 27.0 beta Minimum Deployment target: 27.0 // Left-Top SwiftUI Button (Clipped Highlighting) let item = NSToolbarItem(itemIde
Replies
2
Boosts
0
Views
348
Activity
Jun ’26
Rejection : Guideline 4.2, Design, Minimum Functionality
Rejected under Guideline 4.2 - a native crypto wallet + Web3 browser flagged as just a web browser. Looking for guidance. I'd appreciate the community's and Apple engineers' read on a 4.2 (Minimum Functionality) rejection, because I believe the guideline was misapplied and I want to resolve it correctly. WHAT THE APP IS Everything Black is a native iOS app (SwiftUI, iOS 18+) built to platform Black-owned businesses, history, culture, and content, and to preserve it in one place. There is nothing else like it on the App Store. It combines a community hub, a Web3 layer, and an on-device crypto wallet. Native non-custodial wallet (GuapcoinX / GUAP token). This is core, and none of it is possible on the web. A 12-word recovery phrase is generated on the device with native BIP-39 / BIP-32 key derivation. The private key is stored in the iOS Keychain, so it never leaves the device or touches a server. Every transaction is gated by Face ID via the native LocalAuthentication framework. Transactions are signe
Replies
1
Boosts
0
Views
336
Activity
Jun ’26
Reply to Interface Builder is barely usable
What you describe sounds exactly like my own experience. It's really slow. But I'm pretty sure that LLM agents are not involved. It seems noticeably better than it was 2-3 years ago. It doesn't go insane and start moving elements around on its own like it used to. Unfortunately, I don't see any future for Interface Builder. Many people have already switched to SwiftUI. Ironically enough, Interface Builder is much faster and more reliable than SwiftUI Previews. Maybe just start scaling back use of Interface Builder. Use it only for top-level objects like windows and view controllers. Do anything lower than that in code. In particular, Interface Builder really struggles with auto layout. So once you feel the need to start doing layout, that's your signal to switch to code. As more and more people are using AI, you're going to see even less use of Interface Builder. I guess it's time to start the deprecation clock. It's not as if I'll really miss it. I miss what it could have been. I miss the f
Replies
Boosts
Views
Activity
Jun ’26
Supported way for iOS Safari Web Extension to hand off captured data to containing app for processing?
In 2018, Apple staff noted that Safari App Extensions had no direct API to communicate with the containing app, and suggested app groups or opening a custom URL scheme as workarounds. On iOS Safari Web Extensions, app groups work for persistence, but opening the containing app from the native extension/background flow does not appear reliable. iOS launch policy seems to require a direct user gesture, and I have not found a documented way for the extension flow to reliably continue into the containing app. Is there a supported iOS architecture for completing an extension-initiated workflow in the containing app, or is the intended model to persist data and require the user to manually open the app? My current architecture is: JavaScript in the Safari Web Extension extracts article content from the page. The native Extension Handler receives that content via native messaging. The Extension Handler writes an encoded request into the App Group container. The containing app watches the App Group container using Di
Replies
0
Boosts
0
Views
553
Activity
Jun ’26
Is there any API to detect Voice Control status in SwiftUI on iOS
I'm building an iOS app in SwiftUI and need to adapt my UI when Voice Control is active — specifically to show labels on custom gesture-driven controls so they're accessible via Voice Control commands. I've checked UIAccessibility and can find notifications and properties for VoiceOver (isVoiceOverRunning), Switch Control (isSwitchControlRunning), and AssistiveTouch (isAssistiveTouchRunning), but I can't find any equivalent for Voice Control. UIAccessibility.isVoiceControlRunning and voiceControlStatusDidChangeNotification appear to exist on macOS (AXIsProcessTrustedWithOptions) but not on iOS. Questions: Is there a public iOS API to detect whether Voice Control is currently active — either a UIAccessibility property, notification, or SwiftUI environment value? If not, is the recommended approach to use UIAccessibility.isGuidedAccessEnabled as a proxy, or something else entirely? Is there a private entitlement or capability that unlocks this detection for App Store apps? What I've already tr
Replies
4
Boosts
0
Views
1.4k
Activity
Jun ’26