Post

Replies

Boosts

Views

Activity

Reply to Increase Contrast reduces List selection contrast in dark appearance in SwiftUI NavigationSplitView
Hey @DTS Engineer Travis, A workaround would be helpful, but ideally this would be fixed in the framework so it benefits all affected apps, not just mine. I've already had to implement quite a few workarounds with iOS 26. Looking at my open feedbacks and posts here, several remain unresolved. I have workarounds for most, but could clean up my code if they weren't necessary.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
1w
Reply to SwiftUI bottom bar triggers UIKitToolbar hierarchy fault and constraint errors
Here’s an even simpler repro sample that removes List and .searchable entirely: struct ContentView: View { var body: some View { NavigationStack { Text("Hello, World!") .navigationTitle("Toolbar Repro") .toolbar { ToolbarItem(placement: .bottomBar) { Menu { Button("Action 1") { } Button("Action 2") { } } label: { Label("Actions", systemImage: "ellipsis.circle") } } } } } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’26
Reply to Swipe to go back still broken with Zoom navigation transition.
Also confirmed this is still broken in iOS 26.3 (23D127). My feedback is FB21078443 filed Nov 2025. If anyone can’t repro it, here’s a minimal example. Tap a color, then swipe back from the left edge—the source view will disappear after the transition. Easier to repro on physical device, but also possible in sim with a solid swipe. import SwiftUI struct ContentView: View { @Namespace private var namespace private let colors: [Color] = [.red, .blue] var body: some View { NavigationStack { VStack(spacing: 16) { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { RoundedRectangle(cornerRadius: 16) .fill(colors[index]) .frame(maxWidth: .infinity, minHeight: 200, maxHeight: 200) .matchedTransitionSource(id: index, in: namespace) } .buttonStyle(.plain) } } .padding(20) .navigationTitle("Zoom Transition Issue") .navigationSubtitle("Tap card, then swipe back from left edge") .navigationDestination(for: Int.self) { index in Rectangle() .fill(colors[index]) .ignoresSafeArea() .navigationTransition(.zoom(sourceID: index, in: namespace)) } Spacer() } } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’26
Reply to Free trial for one-time purchase: Is the $0 IAP workaround still recommended in 2026?
Since I hadn’t received replies yet, I did some additional research. I had Gemini do a deep dive based on my original post and it suggested that StoreKit 2 might support a cleaner time-limited trial → one-time purchase flow without the $0 IAP step. Here's the (lengthy) report, including proposed solution towards the end: https://gemini.google.com/share/099cf0140311 That initially seemed promising, but App Store Review Guideline 3.1.1 still explicitly calls out the $0 non-consumable “XX-day Trial” approach. While the StoreKit 2 method seems to follow the spirit of the guideline (if clearly communicated), it’s not clear whether it’s actually allowed—and I’m not willing to risk App Review rejection after investing significant work. So I’m hoping for clarification from Apple: Is the $0 non-consumable IAP still the recommended approach in 2026? Are alternative StoreKit 2–based trial → one-time purchase flows allowed? Would really appreciate updated guidance here. 🙏
Jan ’26
Reply to NavigationStack back button ignores tint when presented in sheet
@DTS Engineer Thanks for the suggestion. I did try hiding the system back button and replacing it with a custom toolbar button. However, that disables the left-edge swipe gesture, which felt like a worse tradeoff. Most people expect swipe-to-go-back, so a mismatched toolbar button seemed like the lesser issue. Unless there’s a way to preserve the swipe gesture while using a custom back button, I’ll just hope for a fix.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’26
Reply to Custom SF Symbols with badges not vertically centered in SwiftUI buttons
@DTS Engineer Thanks for letting me know! In the meantime I found this workaround: custom SF symbols will center correctly when the button label is declared like this: ToolbarItem { Button(action: { }) { Label { Text("More") } icon: { Image("ellipsis.badge.90.10") } } } But that’s a bit cumbersome. It’d be better if worked with any valid button declaration.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Nov ’25
Reply to popoverTips don't display for toolbar menu buttons in iOS 26.1
The only workaround I’ve found is to use a text-only menu button label. That lets the tip display correctly on iOS 26 (see below). This release has (or had) quite a few toolbar-related bugs and most seem related to icon-only buttons. Along with this issue, here are three others I've reported: issue 1, issue 2, and issue 3. In my app, I've left the icon-only button hoping it gets fixed soon. The actual tip I display is not critical, and a text-only label just looks "off"—especially since Apple officially designates the ellipsis symbol as the standard for More (Apple Design link). Workaround Starting with the code in the first post, just change the Label() in the ToolbarItem to Text() like this: ToolbarItem(placement: .topBarTrailing) { Menu { Button("Dismiss", role: .cancel) { } Button("Do Nothing") { } } label: { Text("More") } .popoverTip(tip) } Screenshot Description: iPhone simulator running iOS 26.1 showing a popover labeled Menu Tip. The popover beak is pointing to a toolbar button labeled More.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Nov ’25
Reply to Increase Contrast reduces List selection contrast in dark appearance in SwiftUI NavigationSplitView
@DTS Engineer , here you go… Passwords: FB22216684 Messages: FB22216811 Calculator: FB22216904 Thanks for the workaround info.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
1w
Reply to Increase Contrast reduces List selection contrast in dark appearance in SwiftUI NavigationSplitView
Hey @DTS Engineer Travis, A workaround would be helpful, but ideally this would be fixed in the framework so it benefits all affected apps, not just mine. I've already had to implement quite a few workarounds with iOS 26. Looking at my open feedbacks and posts here, several remain unresolved. I have workarounds for most, but could clean up my code if they weren't necessary.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
1w
Reply to ppq.apple.com returning 502 Bad Gateway - Unable to verify developer apps on device
I really need some kind of alert system for posts like this so I don’t waste 20 minutes trying to fix something I can’t fix. ChatGPT (eventually) led me to this thread…thank goodness.
Replies
Boosts
Views
Activity
1w
Reply to SwiftUI bottom bar triggers UIKitToolbar hierarchy fault and constraint errors
Here’s an even simpler repro sample that removes List and .searchable entirely: struct ContentView: View { var body: some View { NavigationStack { Text("Hello, World!") .navigationTitle("Toolbar Repro") .toolbar { ToolbarItem(placement: .bottomBar) { Menu { Button("Action 1") { } Button("Action 2") { } } label: { Label("Actions", systemImage: "ellipsis.circle") } } } } } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Swipe to go back still broken with Zoom navigation transition.
Also confirmed this is still broken in iOS 26.3 (23D127). My feedback is FB21078443 filed Nov 2025. If anyone can’t repro it, here’s a minimal example. Tap a color, then swipe back from the left edge—the source view will disappear after the transition. Easier to repro on physical device, but also possible in sim with a solid swipe. import SwiftUI struct ContentView: View { @Namespace private var namespace private let colors: [Color] = [.red, .blue] var body: some View { NavigationStack { VStack(spacing: 16) { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { RoundedRectangle(cornerRadius: 16) .fill(colors[index]) .frame(maxWidth: .infinity, minHeight: 200, maxHeight: 200) .matchedTransitionSource(id: index, in: namespace) } .buttonStyle(.plain) } } .padding(20) .navigationTitle("Zoom Transition Issue") .navigationSubtitle("Tap card, then swipe back from left edge") .navigationDestination(for: Int.self) { index in Rectangle() .fill(colors[index]) .ignoresSafeArea() .navigationTransition(.zoom(sourceID: index, in: namespace)) } Spacer() } } }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Source view disappearing when interrupting a zoom navigation transition
Still an issue in iOS 26.3 public release. Updated FB21078443 with simplified minimal repro.
Topic: UI Frameworks SubTopic: SwiftUI
Replies
Boosts
Views
Activity
Feb ’26
Reply to .bottomBar menu button briefly disappears after menu dismissal on iOS 26.1 Seed 2 (23B5059e)
Looping back to mark this as resolved. Not sure when it was fixed, but it doesn't repro on iOS 26.2.1 (23C71).
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to Free trial for one-time purchase: Is the $0 IAP workaround still recommended in 2026?
Since I hadn’t received replies yet, I did some additional research. I had Gemini do a deep dive based on my original post and it suggested that StoreKit 2 might support a cleaner time-limited trial → one-time purchase flow without the $0 IAP step. Here's the (lengthy) report, including proposed solution towards the end: https://gemini.google.com/share/099cf0140311 That initially seemed promising, but App Store Review Guideline 3.1.1 still explicitly calls out the $0 non-consumable “XX-day Trial” approach. While the StoreKit 2 method seems to follow the spirit of the guideline (if clearly communicated), it’s not clear whether it’s actually allowed—and I’m not willing to risk App Review rejection after investing significant work. So I’m hoping for clarification from Apple: Is the $0 non-consumable IAP still the recommended approach in 2026? Are alternative StoreKit 2–based trial → one-time purchase flows allowed? Would really appreciate updated guidance here. 🙏
Replies
Boosts
Views
Activity
Jan ’26
Reply to NavigationStack back button ignores tint when presented in sheet
@DTS Engineer Thanks for the suggestion. I did try hiding the system back button and replacing it with a custom toolbar button. However, that disables the left-edge swipe gesture, which felt like a worse tradeoff. Most people expect swipe-to-go-back, so a mismatched toolbar button seemed like the lesser issue. Unless there’s a way to preserve the swipe gesture while using a custom back button, I’ll just hope for a fix.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to Xcode Simulator causes Mac audio crackling and distortion
This seems to have been fixed in macOS 26.2 (25C56)! 🙌
Replies
Boosts
Views
Activity
Dec ’25
Reply to Custom SF Symbols with badges not vertically centered in SwiftUI buttons
@DTS Engineer Thanks for letting me know! In the meantime I found this workaround: custom SF symbols will center correctly when the button label is declared like this: ToolbarItem { Button(action: { }) { Label { Text("More") } icon: { Image("ellipsis.badge.90.10") } } } But that’s a bit cumbersome. It’d be better if worked with any valid button declaration.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Nov ’25
Reply to popoverTips don't display for toolbar menu buttons in iOS 26.1
The only workaround I’ve found is to use a text-only menu button label. That lets the tip display correctly on iOS 26 (see below). This release has (or had) quite a few toolbar-related bugs and most seem related to icon-only buttons. Along with this issue, here are three others I've reported: issue 1, issue 2, and issue 3. In my app, I've left the icon-only button hoping it gets fixed soon. The actual tip I display is not critical, and a text-only label just looks "off"—especially since Apple officially designates the ellipsis symbol as the standard for More (Apple Design link). Workaround Starting with the code in the first post, just change the Label() in the ToolbarItem to Text() like this: ToolbarItem(placement: .topBarTrailing) { Menu { Button("Dismiss", role: .cancel) { } Button("Do Nothing") { } } label: { Text("More") } .popoverTip(tip) } Screenshot Description: iPhone simulator running iOS 26.1 showing a popover labeled Menu Tip. The popover beak is pointing to a toolbar button labeled More.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Nov ’25
Reply to How to prevent VoiceOver from reading text INSIDE an image?
BTW, if anyone knows how to force a specific size for an inline image in a post, I’d love to know! Whenever I include high-DPI images, I set the width and height so they don’t display huge like the ones above—but it never seems to work. Is this a forum software bug, or am I missing something?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Oct ’25
Reply to How to prevent VoiceOver from reading text INSIDE an image?
Turns out that there's a setting to turn this off, so probably something that shouldn't be suppressed by the developer. The setting can be found in: Settings › Accessibility › VoiceOver › VoiceOver Recognition › Text Recognition Screenshot
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Oct ’25
Reply to SF Symbols 7: Hundreds of SF Symbols missing 'Availability' info
Thanks @Etresoft, that's good to know! Though it’s a bit disappointing that we have to rely on a third-party tool for this. I filed FB20741470 in hopes they eventually fill in the missing availability. 🤞
Replies
Boosts
Views
Activity
Oct ’25