I have created this section exclusively dedicated to keeping track of those annoying SwiftUI bugs. I will maintain a list of the bugs I come across. I’ll try to keep them updated, including workarounds when relevant.
To increase the chances of these bugs getting resolved, if you experience the same problem, I recommend that you file a bug report with Apple and mention the number of my report. This will help them easily link the reports together and realize they are related.
In the “Checked On” column, I include the Xcode version used to test. The OS versions are the last versions released with such Xcode. For example, for Xcode 15.1, the OS versions tested were macOS 14.2 and iOS17.2.
New Bug Reports (WWDC ’23)
Description | Feedback | Checked On |
@Query animate parameter does not work consistently with Tables in macOS (works fine with Lists) | FB12607138 | Xcode 15.1 |
@Query no longer infers root type. Workaround: explicitly specify the root type. | FB12796651 | Xcode 15.1 |
The animation() method with a proxy view parameter does not work on animated offset. | FB12658303 | Xcode 15.1 |
Transition.animation() works only with some transitions. | FB12611647 | Xcode 15.1 |
The documentConfiguration environment variable value is nil (it has changed behavior during the betas) | FB12620525 | FIXED in Sonoma 14.2! |
View.tableColumnHeaders(:) not working consistently. | FB12582082 | FIXED in Sonoma 14.2! |
Section expand/collapse chevron cannot be hidden and is put on top of the header view. | FB12479032 | Xcode 15.1 |
Section(isExpanded:content:header:) header view does not respond to taps in iOS. | FB12478960 | Xcode 15.1 |
No way to hide the show/hide chevron in a Section header view. | FB12881856 | Xcode 15.1 |
searchDictationBehavior() makes no difference on iOS (works fine on xrOS) | FB12576622 | Xcode 15.1 |
navigationDestination(item:destination:) does not present a view when a NavigationLink is tapped, but works by changing the binding programmatically. Prior to Xcode 15.0, beta 5, the behavior was the opposite. I keep the bug report open because I think this method should work in both cases. If this were the intended behavior, it should be specified in the documentation. As a workaround (or perhaps the intended behavior), you can add a call to navigationDestination(for:) to handle NavigationLink. Both calls do not interfere with each other. | FB12575974 | Xcode 15.1 |
View.layoutDirectionBehavior(:) has no effect on shapes. If intended behavior, should be clarified in the documentation. Fix otherwise. | FB12574945 | Xcode 15.1 |
scrollIndicatorsFlash(onAppear:) do not work. Also note that scrollIndicatorsFlash(trigger:) did not work consistently before beta 7, but now works fine. | FB12535815 | Xcode 15.1 |
SubscriptionStoreControlStyleConfiguration has no properties, which makes public SubscriptionStoreControlStyle.makeBody useless. | FB12500183 | Xcode 15.1 |
MKLookAroundScene does not provide useful information (too opaque) | FB12462283 | Xcode 15.1 |
Unable to use LookAroundPreview with a specific heading | FB12460568 | Xcode 15.1 |
Marker(item:) does not show proper icons, it always shows the default red pin (macOS). Works fine on iOS. | FB12452062 | FIXED in Sonoma 14.2! |
PhotosPicker no longer loads images in non-sandbox app (it worked fine on macOS 13.x) | FB12568050 | Xcode 15.1 |
Older Bug Reports (Before WWDC ’23)
Description | Feedback | Checked On |
Picker crashes with the binding collection initializers, if the collection is empty. | FB10547261 | Xcode 15.1 |
DynamicTableRowContent.onInsert does not trigger when the table has 0 rows. | FB9265795 | Xcode 15.1 |
Using the VideoPlayer view in some macOS versions may result in a crash. Read More | FB8928032 | Xcode 15.1 |
ShapeRole has no effect on macOS (works fine on iOS) | FB9386105 | Xcode 15.1 |
speechAnnouncementsQueued() does nothing | FB9313957 | Xcode 15.1 |
The tint() modifier does not propagate the color properly in all scenarios as the deprecated accentColor() did. | FB9302726 | Xcode 15.1 |
The interactionActivityTrackingTag() modifier works for iOS and Mac Catalyst, but no information is logged for a mac only apps. | FB11744668 | Xcode 15.1 |
listSectionSeparatorTint: Sections with a single row tint the top and bottom line, while sections with more than one row tint only the section’s bottom line. | FB11600356 | Xcode 15.1 |
Scene.keyboardShortcut(nil) does not remove default shortcut | FB11323009 | Xcode 15.1 |
DynamicTableRowContent.dropDestination() does not work when the table has 0 rows. | FB11290885 | Xcode 15.1 |
macOS 13.0: importableFromServices() only imports Sketch from Continuity Camera, Take wrongly Photo is grayed out. Scan Documents is also gray out, but that is ok, because scan documents are not images, but pdfs. macOS 14.0: importableFromServices() imports Sketch and Photo ok, but Scan Document should be grayed out and its not. For more control use the importsItemProviders(). Note that both method provide the same functionality but the first method uses Transferable while the other uses NSItemProvider. | FB11241695 | Xcode 15.1 |
defaultFocus() works on tvOS, but not on macOS | FB11225686 | Xcode 15.1 |
NavigationSplitViewStyleConfiguration has no properties, which makes NavigationSplitViewStyle.makeBody useless. | FB10471192 | Xcode 15.1 |