Search results for

“swiftui”

17,109 results found

Post

Replies

Boosts

Views

Activity

iOS 26: Interactive sheet dismissal causes layout hitch in underlying SwiftUI view
I’ve been investigating a noticeable animation hitch when interactively dismissing a sheet over a SwiftUI screen with moderate complexity. This was not the case on iOS 18, so I’m curious if others are seeing the same on iOS 26 or have found any mitigations. When dismissing a sheet via the swipe gesture, there’s a visible hitch right after lift-off. The hitch comes from layout work in the underlying view (behind the sheet) The duration scales with the complexity of that view (e.g. number of TextFields/layout nodes) The animation for programmatic dismiss (e.g. tapping a “Done” button) is smooth, although it hangs for a similar amount of time before dismissing, so it appears that the underlying work still happens. SwiftUI is not reevaluating the body during this (validated with Self._printChanges()), so that is not the cause. Using Instruments, the hitch shows up as a layout spike on the main thread: 54ms UIView layoutSublayersOfLayer 54ms └─ _UIHostingView.layoutSubviews 38ms └─ SwiftUI.ViewGr
1
0
287
Apr ’26
Detect hardware keyboard with SwiftUI
In an application we are developing, we would like to show a (non-interactable) textfield when a hardware keyboard is connected to the iPad. Therefore my question: Using SwiftUI, is it possible to detect the presence of a hardware keyboard and store that state inside a boolean like isHardwareKeyboardConnected?
1
0
330
Apr ’26
Flutter iOS Project: WidgetKit Extension Not Embedding / Build Cycle Error
Hi, I need your opinion about an issue we faced while trying to implement an iOS widget in our Flutter app. Here is what we did and the problems we encountered: We created a Widget Extension (SwiftUI + WidgetKit) inside the existing Flutter iOS project. The widget files were generated correctly (Widget.swift, WidgetBundle.swift, Info.plist, etc.). However, during the integration, we faced multiple issues: Build Cycle Error We repeatedly got: “Cycle inside Runner; building could produce unreliable results” This was related to embedding the widget extension into the Runner target. Embed Problems Sometimes Xcode did not automatically create the “Embed App Extensions” phase. When we added it manually → build cycle errors appeared. When we removed it → the widget was not embedded at all (no PlugIns folder in Runner.app). Duplicate / Conflicting Embed The extension appeared both in: “Embed Foundation Extensions” “Frameworks, Libraries, and Embedded Content” Removing one often broke the build or removed the
3
0
296
Apr ’26
Widget layout issue: Unexpected padding/content inset on specific widget types
Hello everyone, I am currently developing a suite of widgets for my iOS app using SwiftUI and WidgetKit. While the initial widgets (let's call them Widget A, B, and C) render perfectly, I am encountering a strange layout issue with a new widget (Widget D). The Issue: On the Home Screen, Widget D appears to have an unwanted internal padding or squeezed content inset, even though it shares a similar structural implementation with the other functional widgets. Technical Details: I am using .frame(maxWidth: .infinity, maxHeight: .infinity) on the main container to ensure the content fills the available space.
0
0
172
Apr ’26
Flutter iOS Project: WidgetKit Extension Not Embedding / Build Cycle Error
Hi, I need your opinion about an issue we faced while trying to implement an iOS widget in our Flutter app. Here is what we did and the problems we encountered: We created a Widget Extension (SwiftUI + WidgetKit) inside the existing Flutter iOS project. The widget files were generated correctly (Widget.swift, WidgetBundle.swift, Info.plist, etc.). However, during the integration, we faced multiple issues: Build Cycle Error We repeatedly got: “Cycle inside Runner; building could produce unreliable results” This was related to embedding the widget extension into the Runner target. Embed Problems Sometimes Xcode did not automatically create the “Embed App Extensions” phase. When we added it manually → build cycle errors appeared. When we removed it → the widget was not embedded at all (no PlugIns folder in Runner.app). Duplicate / Conflicting Embed The extension appeared both in: “Embed Foundation Extensions” “Frameworks, Libraries, and Embedded Content” Removing one often broke the build or removed the
0
0
239
Apr ’26
tvOS: Background audio + local caching works on Simulator but stops on real Apple TV device
Description: I’m developing a tvOS app using SwiftUI where we play background audio (music) in the Welcome screen, with support for offline playback via local caching. Feature Overview: App fetches audio metadata from API Starts streaming audio (HLS .m3u8) immediately In parallel, downloads the raw audio file (.mp3) Once download completes: Switches playback from streaming → local file On next launch (offline mode), app plays audio from local storage Issue: This flow works perfectly on the Simulator, but on a real Apple TV device: Audio plays for a few seconds (2–5 sec) and then stops Especially after switching from streaming → local file No explicit AVPlayer error is logged Playback sometimes stops after UI updates or periodic API refresh Implementation Details: Using AVPlayer with AVPlayerItem Background audio controlled via a shared manager (singleton) Files stored locally using FileManager (currently using .cachesDirectory) Switching playback using: player.replaceCurrentItem(with: AVPlayerItem(ur
0
0
216
Apr ’26
tvOS: Background audio + local caching works on Simulator but stops on real Apple TV device
Description: I’m developing a tvOS app using SwiftUI where we play background audio (music) in the Welcome screen, with support for offline playback via local caching. 🔹 Feature Overview App fetches audio metadata from API Starts streaming audio (HLS .m3u8) immediately In parallel, downloads the raw audio file (.mp3) Once download completes: Switches playback from streaming → local file On next launch (offline mode), app plays audio from local storage 🔹 Issue This flow works perfectly on the Simulator, but on a real Apple TV device: Audio plays for a few seconds (2–5 sec) and then stops Especially after switching from streaming → local file No explicit AVPlayer error is logged Playback sometimes stops after UI updates or periodic API refresh 🔹 Implementation Details Using AVPlayer with AVPlayerItem Background audio controlled via a shared manager (singleton) Files stored locally using FileManager (currently using .cachesDirectory) Switching playback using: player.replaceCurrentItem(with: AVPlayerI
1
0
265
Apr ’26
MacOS app file export
Dear fellow devs, I'd be helpful for hints concerning the following problem: My MacOS/iOS app exports generated audio data as wav files using the SwiftUI .fileExporter view modifier. Everything works perfectly fine on all test devices, my own as well as those of TestFlight users. Also the iOS version of the app available in the iOS App Store works fine. The Apple reviewer of the MacOS version however complains that the Export button which should trigger the file export doesn't react. I have no idea why this problem should occur in their tests as neither me nor my beta testers can reproduce it. In lack of any other ideas I guessed it might be related to the document types registered by the app and added the entry below to the plist, but the reviewer still reports the same problem. Any hints would be very welcome. CFBundleDocumentTypes CFBundleTypeExtensions wav CFBundleTypeName WAV Audio File LSHandlerRank Alternate LSItemContentTypes com.microsoft.waveform-audio
1
0
202
Apr ’26
How to achieve liquid glass button morph transition
Hi guys, I’m new on SwiftUI world. I wanted to ask how to achieve this kind of morph transition with ToolbarItem button just like the picture attached below. I have tried using Menu & confirmationDialog API but i didn’t achieve the same kind of looks here. Is there some kind of native API for this kind of transition? Thanks in advance guys 😁👍
Topic: UI Frameworks SubTopic: SwiftUI
1
0
102
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only
0
0
242
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only
1
0
249
Apr ’26
top keyboard pill with up/down and close
I just finished writing a tonn of codes to get a pill on top of my keyboards that gives you the option to go up/down and close the keyboard. Very similar to what I see on safari keyboard. It should be included in the next SwiftUI as a modifier.... it would be so helpful
Topic: UI Frameworks SubTopic: SwiftUI
0
0
167
Apr ’26
Reply to Live Activity works perfectly on Simulator but fails on physical device: "No asset provider bundle ID provided"
Hi Albert, Thank you so much for the detailed response and the excellent pointers! I deeply appreciate you taking the time to look into this. I went through your suggestions step-by-step: Embedded Content & Code Signing: I verified that the Widget Extension is correctly listed under Frameworks, Libraries, and Embedded Content. By inspecting the compiled app container, I confirmed the .appex is successfully sitting inside the PlugIns folder. Push Notifications Capability: Great catch. I added the Push Notifications capability to the main app target. Unfortunately, the behavior remained the same. 4KB Limit: For testing, I am using an absolute minimal payload (just a single short string and an integer) and a barebones Text(Test) UI, so we are well under the limit. However, we ran some aggressive isolation tests over the weekend and discovered something fascinating that points to a completely different root cause. Here is what we found: Completely New Minimal App: We created a brand new, minimal iOS project a
Apr ’26
iOS 26: Interactive sheet dismissal causes layout hitch in underlying SwiftUI view
I’ve been investigating a noticeable animation hitch when interactively dismissing a sheet over a SwiftUI screen with moderate complexity. This was not the case on iOS 18, so I’m curious if others are seeing the same on iOS 26 or have found any mitigations. When dismissing a sheet via the swipe gesture, there’s a visible hitch right after lift-off. The hitch comes from layout work in the underlying view (behind the sheet) The duration scales with the complexity of that view (e.g. number of TextFields/layout nodes) The animation for programmatic dismiss (e.g. tapping a “Done” button) is smooth, although it hangs for a similar amount of time before dismissing, so it appears that the underlying work still happens. SwiftUI is not reevaluating the body during this (validated with Self._printChanges()), so that is not the cause. Using Instruments, the hitch shows up as a layout spike on the main thread: 54ms UIView layoutSublayersOfLayer 54ms └─ _UIHostingView.layoutSubviews 38ms └─ SwiftUI.ViewGr
Replies
1
Boosts
0
Views
287
Activity
Apr ’26
Detect hardware keyboard with SwiftUI
In an application we are developing, we would like to show a (non-interactable) textfield when a hardware keyboard is connected to the iPad. Therefore my question: Using SwiftUI, is it possible to detect the presence of a hardware keyboard and store that state inside a boolean like isHardwareKeyboardConnected?
Replies
1
Boosts
0
Views
330
Activity
Apr ’26
Flutter iOS Project: WidgetKit Extension Not Embedding / Build Cycle Error
Hi, I need your opinion about an issue we faced while trying to implement an iOS widget in our Flutter app. Here is what we did and the problems we encountered: We created a Widget Extension (SwiftUI + WidgetKit) inside the existing Flutter iOS project. The widget files were generated correctly (Widget.swift, WidgetBundle.swift, Info.plist, etc.). However, during the integration, we faced multiple issues: Build Cycle Error We repeatedly got: “Cycle inside Runner; building could produce unreliable results” This was related to embedding the widget extension into the Runner target. Embed Problems Sometimes Xcode did not automatically create the “Embed App Extensions” phase. When we added it manually → build cycle errors appeared. When we removed it → the widget was not embedded at all (no PlugIns folder in Runner.app). Duplicate / Conflicting Embed The extension appeared both in: “Embed Foundation Extensions” “Frameworks, Libraries, and Embedded Content” Removing one often broke the build or removed the
Replies
3
Boosts
0
Views
296
Activity
Apr ’26
Widget layout issue: Unexpected padding/content inset on specific widget types
Hello everyone, I am currently developing a suite of widgets for my iOS app using SwiftUI and WidgetKit. While the initial widgets (let's call them Widget A, B, and C) render perfectly, I am encountering a strange layout issue with a new widget (Widget D). The Issue: On the Home Screen, Widget D appears to have an unwanted internal padding or squeezed content inset, even though it shares a similar structural implementation with the other functional widgets. Technical Details: I am using .frame(maxWidth: .infinity, maxHeight: .infinity) on the main container to ensure the content fills the available space.
Replies
0
Boosts
0
Views
172
Activity
Apr ’26
Flutter iOS Project: WidgetKit Extension Not Embedding / Build Cycle Error
Hi, I need your opinion about an issue we faced while trying to implement an iOS widget in our Flutter app. Here is what we did and the problems we encountered: We created a Widget Extension (SwiftUI + WidgetKit) inside the existing Flutter iOS project. The widget files were generated correctly (Widget.swift, WidgetBundle.swift, Info.plist, etc.). However, during the integration, we faced multiple issues: Build Cycle Error We repeatedly got: “Cycle inside Runner; building could produce unreliable results” This was related to embedding the widget extension into the Runner target. Embed Problems Sometimes Xcode did not automatically create the “Embed App Extensions” phase. When we added it manually → build cycle errors appeared. When we removed it → the widget was not embedded at all (no PlugIns folder in Runner.app). Duplicate / Conflicting Embed The extension appeared both in: “Embed Foundation Extensions” “Frameworks, Libraries, and Embedded Content” Removing one often broke the build or removed the
Replies
0
Boosts
0
Views
239
Activity
Apr ’26
tvOS: Background audio + local caching works on Simulator but stops on real Apple TV device
Description: I’m developing a tvOS app using SwiftUI where we play background audio (music) in the Welcome screen, with support for offline playback via local caching. Feature Overview: App fetches audio metadata from API Starts streaming audio (HLS .m3u8) immediately In parallel, downloads the raw audio file (.mp3) Once download completes: Switches playback from streaming → local file On next launch (offline mode), app plays audio from local storage Issue: This flow works perfectly on the Simulator, but on a real Apple TV device: Audio plays for a few seconds (2–5 sec) and then stops Especially after switching from streaming → local file No explicit AVPlayer error is logged Playback sometimes stops after UI updates or periodic API refresh Implementation Details: Using AVPlayer with AVPlayerItem Background audio controlled via a shared manager (singleton) Files stored locally using FileManager (currently using .cachesDirectory) Switching playback using: player.replaceCurrentItem(with: AVPlayerItem(ur
Replies
0
Boosts
0
Views
216
Activity
Apr ’26
tvOS: Background audio + local caching works on Simulator but stops on real Apple TV device
Description: I’m developing a tvOS app using SwiftUI where we play background audio (music) in the Welcome screen, with support for offline playback via local caching. 🔹 Feature Overview App fetches audio metadata from API Starts streaming audio (HLS .m3u8) immediately In parallel, downloads the raw audio file (.mp3) Once download completes: Switches playback from streaming → local file On next launch (offline mode), app plays audio from local storage 🔹 Issue This flow works perfectly on the Simulator, but on a real Apple TV device: Audio plays for a few seconds (2–5 sec) and then stops Especially after switching from streaming → local file No explicit AVPlayer error is logged Playback sometimes stops after UI updates or periodic API refresh 🔹 Implementation Details Using AVPlayer with AVPlayerItem Background audio controlled via a shared manager (singleton) Files stored locally using FileManager (currently using .cachesDirectory) Switching playback using: player.replaceCurrentItem(with: AVPlayerI
Replies
1
Boosts
0
Views
265
Activity
Apr ’26
Reply to Interactive Sheet dismiss laggy on iOS26
I'm seeing the same thing. It seems to be worse when the underlying screen is more complicated. The SwiftUI body isn't being re-rendered but I still get this stutter. Were you able to improve this behaviour @j0nas00?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Apr ’26
MacOS app file export
Dear fellow devs, I'd be helpful for hints concerning the following problem: My MacOS/iOS app exports generated audio data as wav files using the SwiftUI .fileExporter view modifier. Everything works perfectly fine on all test devices, my own as well as those of TestFlight users. Also the iOS version of the app available in the iOS App Store works fine. The Apple reviewer of the MacOS version however complains that the Export button which should trigger the file export doesn't react. I have no idea why this problem should occur in their tests as neither me nor my beta testers can reproduce it. In lack of any other ideas I guessed it might be related to the document types registered by the app and added the entry below to the plist, but the reviewer still reports the same problem. Any hints would be very welcome. CFBundleDocumentTypes CFBundleTypeExtensions wav CFBundleTypeName WAV Audio File LSHandlerRank Alternate LSItemContentTypes com.microsoft.waveform-audio
Replies
1
Boosts
0
Views
202
Activity
Apr ’26
How to achieve liquid glass button morph transition
Hi guys, I’m new on SwiftUI world. I wanted to ask how to achieve this kind of morph transition with ToolbarItem button just like the picture attached below. I have tried using Menu & confirmationDialog API but i didn’t achieve the same kind of looks here. Is there some kind of native API for this kind of transition? Thanks in advance guys 😁👍
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
102
Activity
Apr ’26
How to let Appkit Scrollview get under sidebar or inspctor?
If I use a SwiftUI Scrollview and scroll horizontally, for example, the scroll content goes underneath the inspector or sidebar views on macOS 26 (probably on older versions as well) But by default, the AppKit scrollviews don't exhibit this behaviour. How do I adapt this to match SwiftUI behavior?
Replies
1
Boosts
0
Views
119
Activity
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only
Replies
0
Boosts
0
Views
242
Activity
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only
Replies
1
Boosts
0
Views
249
Activity
Apr ’26
top keyboard pill with up/down and close
I just finished writing a tonn of codes to get a pill on top of my keyboards that gives you the option to go up/down and close the keyboard. Very similar to what I see on safari keyboard. It should be included in the next SwiftUI as a modifier.... it would be so helpful
Topic: UI Frameworks SubTopic: SwiftUI
Replies
0
Boosts
0
Views
167
Activity
Apr ’26
Reply to Live Activity works perfectly on Simulator but fails on physical device: "No asset provider bundle ID provided"
Hi Albert, Thank you so much for the detailed response and the excellent pointers! I deeply appreciate you taking the time to look into this. I went through your suggestions step-by-step: Embedded Content & Code Signing: I verified that the Widget Extension is correctly listed under Frameworks, Libraries, and Embedded Content. By inspecting the compiled app container, I confirmed the .appex is successfully sitting inside the PlugIns folder. Push Notifications Capability: Great catch. I added the Push Notifications capability to the main app target. Unfortunately, the behavior remained the same. 4KB Limit: For testing, I am using an absolute minimal payload (just a single short string and an integer) and a barebones Text(Test) UI, so we are well under the limit. However, we ran some aggressive isolation tests over the weekend and discovered something fascinating that points to a completely different root cause. Here is what we found: Completely New Minimal App: We created a brand new, minimal iOS project a
Replies
Boosts
Views
Activity
Apr ’26