Search results for

“swiftui”

17,489 results found

Post

Replies

Boosts

Views

Activity

Looking on feedback on the UI Design
Hi everyone, I'm developing a simple iOS app that solves quadratic equations using SwiftUI. I've attached a screenshot of the current interface. I'd appreciate feedback on the UI and user experience, especially from the perspective of Apple's Human Interface Guidelines. Thanks!
Topic: Design SubTopic: General Tags:
1
0
865
4w
Unexpected behavior in the interaction between LazyVStack and GeometryReader
Hello! I'd like to share a problem and its potential solution. Steps to reproduce: The issue can be reproduced with the following minimal example: struct TestConditionalScrollView: View { var body: some View { ConditionalScrollView { LazyVStack(spacing: 16) { Text(Text 1) .frame(height: 20) Text(Text 2) .frame(height: 30) Text(Text 3) .frame(height: 40) Text(Text 4) .frame(height: 500) Text(Text 5) .frame(height: 400) } .padding() } } } struct ConditionalScrollView: View { let content: Content init(@ViewBuilder content: () -> Content) { self.content = content() } @State private var contentHeight: CGFloat = 0 var body: some View { GeometryReader { geo in _ = print(Height: (contentHeight)) return Group { if contentHeight > geo.size.height { ScrollView { measuredContent } } else { measuredContent } } } } private var measuredContent: some View { content .background( GeometryReader { geo in Color.clear .preference( key: ContentHeightKey.self, value: geo.size.height ) } ) .onPreferenceChange(ContentHeightKey.
0
0
173
4w
Sign in with Apple fails with AKAuthenticationError -7003 / AuthorizationError 1001 only for com.siremo.flare
Hello, We already have an existing iOS app on this Apple Developer team that successfully uses Sign in with Apple. However, Sign in with Apple consistently fails for our second and newer App ID, com.siremo.flare, before any Apple credential or identity token is returned. Both apps belong to the same Apple Developer team and have equivalent Sign in with Apple configurations. App information: Affected app: Flare Affected Bundle ID: com.siremo.flare Working existing Bundle ID: com.siremo.aily Team ID: JYGN9K53XA Distribution: iOS Simulator and TestFlight TestFlight build: 0.2.3 (2) Developer Support case: 102947765951 Symptoms: In the iOS Simulator, the Sign in with Apple sheet becomes unresponsive after entering the Apple ID password. In TestFlight on physical devices, the system sheet displays “Sign Up Not Completed”. No Apple credential or identity token is returned to the app. Firebase Authentication and our backend authentication code are never reached. Console output from a reproduction using Apple’s nativ
1
0
613
Jul ’26
StoreKit is not loading newly created subscriptions across multiple apps on my developer account
I am unable to load newly created auto-renewable subscriptions in the StoreKit sandbox environment. The issue occurs in multiple apps under my developer account and is reproducible both in the iOS Simulator and on a physical device. StoreKit consistently returns an empty product list without reporting an error. I have attempted to load the subscriptions in two ways: Directly using their product identifiers Using SwiftUI’s SubscriptionStoreView with the subscription group ID Neither method returns any products. Troubleshooting steps already completed Confirmed that the bundle identifiers and app versions match between Xcode and App Store Connect Confirmed that the subscription groups and subscriptions are in the Prepare for Submission state Added all required subscription metadata, including review screenshots Changed the bundle identifier in both Xcode and App Store Connect Created new subscription groups with new product identifiers Confirmed that the Paid Apps Agreement is active Confirmed that the
0
0
194
Jul ’26
Tab bar animates from first tab to restored selection at launch with .tabBarMinimizeBehavior(.onScrollDown)
[Submitted as FB23998635] On iPhone, applying .tabBarMinimizeBehavior(.onScrollDown) to a SwiftUI TabView causes the native tab bar to briefly show the first declared tab before animating to the already-restored selection during app launch. The selected tab is persisted with @AppStorage and is already restored before the TabView is presented. The sample contains no explicit animations, transactions, navigation containers, loading states, asynchronous work, or post-launch selection changes. Removing .tabBarMinimizeBehavior(.onScrollDown) eliminates the launch animation entirely. Likewise, starting with .tabBarMinimizeBehavior(.never) and changing it to .onScrollDown after a one-second delay also eliminates the issue. The behavior reproduces with three simple tabs and a direct @AppStorage selection binding. ENVIRONMENT • iOS 26 & 27 REPRO STEPS Build and run the attached sample. Select the Two tab. Force-quit the app. Relaunch the app. Observe the tab bar during launch. ACTUAL The tab indicator ini
2
0
501
Jul ’26
Inspector Panel Visual UI
How can I get the inspector panel on the Mac to be respected by the toolbar? In Xcode and Pages, the inspector panel runs the entire length of the app so that everything slides over when it's invoked. But in my testing, the toolbar always overlaps the inspector. import SwiftUI @main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } } struct ContentView: View { @State private var selectedItem: String? = Page 1 @State private var inspectorVisible = true let items = [Page 1, Page 2, Page 3] var body: some View { NavigationSplitView { List(items, id: .self, selection: $selectedItem) { item in Label(item, systemImage: doc) } } detail: { Text(selectedItem ?? Nothing selected) .font(.title2) .foregroundStyle(.secondary) .inspector(isPresented: $inspectorVisible) { List { Section(Properties) { LabeledContent(Width, value: 100) LabeledContent(Height, value: 200) } Section(Style) { LabeledContent(Color, value: Blue) LabeledContent(Opacity, value: 100%) } } .scrollContentBackground(.hid
Topic: UI Frameworks SubTopic: SwiftUI
0
0
304
Jul ’26
iOS 26 WidgetKit APNs Pushes vs. NSE Targeted Reloads: Budget Allocation & Render Invalidation
Hello Apple DTS Team, We are optimizing a real-time iOS 26 WidgetKit architecture that utilizes both direct WidgetKit APNs pushes and Notification Service Extension (NSE) background asset downloading. We would appreciate technical clarification regarding budget allocation, execution latency, and view hierarchy invalidation on iOS 26. Architecture Overview Our system handles real-time visual updates across multiple distinct Widget kinds (KindA, KindB) using a dual-path pipeline: Direct WidgetKit APNs Push (iOS 26): Registers tokens via WidgetPushHandler (pushTokenDidChange(_:widgets:)). Remote server sends APNs requests targeting .push-type.widgets with apns-push-type: widgets and payload {aps: {content-changed: true}}. NSE Asset Pre-Fetch (Notification Service Extension): Server sends a remote notification containing mutable-content: 1 and asset metadata. The NSE intercepts the payload, streams the binary image asset into a shared App Group container (FileManager.default.containerURL(forSecurityApplicationGro
0
0
616
Jul ’26
Reply to Xcode IOS development
@Seared_one Welcome to the development world. Here's a curated starter list of resources to get going with Xcode and iOS development: Develop in Swift: https://developer.apple.com/tutorials/develop-in-swift/ starting point today, and works with Swift Playgrounds too. Getting Started with Xcode: https://developer.apple.com/videos/play/wwdc2019/404/ Xcode documentation home: https://developer.apple.com/documentation/xcode Download Xcode: https://developer.apple.com/xcode/ SwiftUI: https://developer.apple.com/documentation/swiftui and https://developer.apple.com/tutorials/swiftui-concepts. Swift Language. The Swift Programming Language https://docs.swift.org/swift-book/ Hope not forgetting anything important. Albert  WWDR
Jul ’26
iOS 27 – What changes are mandatory to support Liquid Glass?
We're preparing our SDK and host applications for iOS 27 and would like to understand the mandatory requirements for supporting the new Liquid Glass design. Beyond building with the iOS 27 SDK, are there any required implementation or migration steps (UIKit or SwiftUI) that developers must adopt to ensure full compatibility? Are there any behaviors or APIs that require explicit changes, or does the system automatically handle Liquid Glass for standard controls? We're specifically interested in the minimum required changes for compliance and compatibility, rather than optional design enhancements. Thanks in advance for any guidance.
Topic: UI Frameworks SubTopic: General
1
0
277
Jul ’26
SimCtl
Summary xcrun simctl install fails even though the app's Info.plist contains a correct, well-formed CFBundleIdentifier — verified independently with plutil -p. The app builds successfully via xcodebuild twice, under two different signing configurations. This is purely an install-time failure. ERROR · EVERY ATTEMPT An error was encountered processing the command (domain=IXErrorDomain, code=13): Simulator device failed to install the application. Missing bundle ID. Underlying error (domain=IXErrorDomain, code=13): Failed to get bundle ID from /QuestionsWeCarry.app Missing bundle ID. Environment MACOS 26.5.2 · Build 25F84 XCODE 26.6 · Build 17F113 SIMULATOR RUNTIME iOS 26.5 (23F77) HARDWARE Apple M5 KERNEL Darwin 25.5.0 arm64 XCODE.APP / SIMULATOR PLATFORM both freshly installed Xcode.app and the iOS Simulator platform were both freshly installed immediately before this was discovered — this may be a first-run / first-boot issue specific to this Xcode 26.6 + iOS 26.5 combination. Project being built A SwiftUI
0
0
343
Jul ’26
What's the preferred way enable scroll behind tab bar in nested ScrollView in SwiftUI
I am having a root TabView with tabs. One of the tabs has a TabBar with page style as the root view and each Page has a ScrollView. Unfortunately the scroll view get's clipped by the parent TabView size. But I want to make the ScrollView content to go behind the root TabView's tab bar like it would work if I would have the ScrollView as direct child to the root TabBar I tried using ignoreSafeArea on the page style TabView and there are other weird bugs, it stops reacting to the Binding pageIndex I am having as a State. The custom page index view disappears Sample code: https://github.com/BProg/TabViewScrollViewBug.git
2
0
211
Jul ’26
Reply to How to send a message from menu item in SwiftUI App to ContentView
@State public var contentView = ContentView(); @State var showFileImporter:Bool = false; var body:some Scene { WindowGroup { self.contentView // this is a different content view, not the one stored in line 1! .environment(langModel) } The above code creates the same problem this post started with: being value types, views are passed as copies. The one in your view hierarchy has nothing to do with the one stored in the contentView variable. Really, this is not idiomatic to SwiftUI and will only generate more issues in the app. Do not store references to your views because they are not reference types. You want to do something like this: var body:some Scene { WindowGroup { MyContentView() .environment(langModel) // or MyContentView(langModel) } // ... struct MyContentView: View { // ... } Apart from that, @sjmills, have all your questions been answered?
Topic: UI Frameworks SubTopic: SwiftUI
Jul ’26
SwiftUI `List` incorrectly reuses stale `Equatable` objects when redrawing
Hi, We have found a nasty issue with SwiftUI List and Equatable reference types. In such scenarios List might resurface stale objects from some internal cache when inserting new equal instances, which can lead to outdated cells on screen. Detailed information can be found in our bug report (FB23923342). Since List is quite a widespread component we thought dropping a few lines here in addition to our report could be helpful, especially if you have been bitten by this issue in the past.
0
0
193
Jul ’26
Urgent: AppStore.requestReview(in:) appears to show rating prompts too frequently in production
Hello, We are requesting urgent help with what appears to be repeated presentation of the native in-app rating prompt in our production app, Jízdní řády IDOS: https://apps.apple.com/cz/app/j%C3%ADzdn%C3%AD-%C5%99%C3%A1dy-idos/id473503749 This issue is materially affecting our App Store rating and user trust. We estimate that it has resulted in dozens of negative reviews explicitly mentioning that the native “Rate this app” prompt is shown repeatedly or “all the time”. The actual impact on our overall rating is difficult to determine, as not all affected users explicitly reference this issue in their reviews. The affected builds are App Store production builds, not Debug builds or TestFlight builds. Initially, we used the deprecated SKStoreReviewController API. We suspected that this could be the cause, so we migrated to the current API on iOS 18 and later: import StoreKit import UIKit @MainActor static func requestReview(from view: UIView) { if #available(iOS 18.0, *), let scene = view.window?.windowScene { A
1
0
224
Jul ’26
Looking on feedback on the UI Design
Hi everyone, I'm developing a simple iOS app that solves quadratic equations using SwiftUI. I've attached a screenshot of the current interface. I'd appreciate feedback on the UI and user experience, especially from the perspective of Apple's Human Interface Guidelines. Thanks!
Topic: Design SubTopic: General Tags:
Replies
1
Boosts
0
Views
865
Activity
4w
Unexpected behavior in the interaction between LazyVStack and GeometryReader
Hello! I'd like to share a problem and its potential solution. Steps to reproduce: The issue can be reproduced with the following minimal example: struct TestConditionalScrollView: View { var body: some View { ConditionalScrollView { LazyVStack(spacing: 16) { Text(Text 1) .frame(height: 20) Text(Text 2) .frame(height: 30) Text(Text 3) .frame(height: 40) Text(Text 4) .frame(height: 500) Text(Text 5) .frame(height: 400) } .padding() } } } struct ConditionalScrollView: View { let content: Content init(@ViewBuilder content: () -> Content) { self.content = content() } @State private var contentHeight: CGFloat = 0 var body: some View { GeometryReader { geo in _ = print(Height: (contentHeight)) return Group { if contentHeight > geo.size.height { ScrollView { measuredContent } } else { measuredContent } } } } private var measuredContent: some View { content .background( GeometryReader { geo in Color.clear .preference( key: ContentHeightKey.self, value: geo.size.height ) } ) .onPreferenceChange(ContentHeightKey.
Replies
0
Boosts
0
Views
173
Activity
4w
Sign in with Apple fails with AKAuthenticationError -7003 / AuthorizationError 1001 only for com.siremo.flare
Hello, We already have an existing iOS app on this Apple Developer team that successfully uses Sign in with Apple. However, Sign in with Apple consistently fails for our second and newer App ID, com.siremo.flare, before any Apple credential or identity token is returned. Both apps belong to the same Apple Developer team and have equivalent Sign in with Apple configurations. App information: Affected app: Flare Affected Bundle ID: com.siremo.flare Working existing Bundle ID: com.siremo.aily Team ID: JYGN9K53XA Distribution: iOS Simulator and TestFlight TestFlight build: 0.2.3 (2) Developer Support case: 102947765951 Symptoms: In the iOS Simulator, the Sign in with Apple sheet becomes unresponsive after entering the Apple ID password. In TestFlight on physical devices, the system sheet displays “Sign Up Not Completed”. No Apple credential or identity token is returned to the app. Firebase Authentication and our backend authentication code are never reached. Console output from a reproduction using Apple’s nativ
Replies
1
Boosts
0
Views
613
Activity
Jul ’26
StoreKit is not loading newly created subscriptions across multiple apps on my developer account
I am unable to load newly created auto-renewable subscriptions in the StoreKit sandbox environment. The issue occurs in multiple apps under my developer account and is reproducible both in the iOS Simulator and on a physical device. StoreKit consistently returns an empty product list without reporting an error. I have attempted to load the subscriptions in two ways: Directly using their product identifiers Using SwiftUI’s SubscriptionStoreView with the subscription group ID Neither method returns any products. Troubleshooting steps already completed Confirmed that the bundle identifiers and app versions match between Xcode and App Store Connect Confirmed that the subscription groups and subscriptions are in the Prepare for Submission state Added all required subscription metadata, including review screenshots Changed the bundle identifier in both Xcode and App Store Connect Created new subscription groups with new product identifiers Confirmed that the Paid Apps Agreement is active Confirmed that the
Replies
0
Boosts
0
Views
194
Activity
Jul ’26
Tab bar animates from first tab to restored selection at launch with .tabBarMinimizeBehavior(.onScrollDown)
[Submitted as FB23998635] On iPhone, applying .tabBarMinimizeBehavior(.onScrollDown) to a SwiftUI TabView causes the native tab bar to briefly show the first declared tab before animating to the already-restored selection during app launch. The selected tab is persisted with @AppStorage and is already restored before the TabView is presented. The sample contains no explicit animations, transactions, navigation containers, loading states, asynchronous work, or post-launch selection changes. Removing .tabBarMinimizeBehavior(.onScrollDown) eliminates the launch animation entirely. Likewise, starting with .tabBarMinimizeBehavior(.never) and changing it to .onScrollDown after a one-second delay also eliminates the issue. The behavior reproduces with three simple tabs and a direct @AppStorage selection binding. ENVIRONMENT • iOS 26 & 27 REPRO STEPS Build and run the attached sample. Select the Two tab. Force-quit the app. Relaunch the app. Observe the tab bar during launch. ACTUAL The tab indicator ini
Replies
2
Boosts
0
Views
501
Activity
Jul ’26
Inspector Panel Visual UI
How can I get the inspector panel on the Mac to be respected by the toolbar? In Xcode and Pages, the inspector panel runs the entire length of the app so that everything slides over when it's invoked. But in my testing, the toolbar always overlaps the inspector. import SwiftUI @main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } } struct ContentView: View { @State private var selectedItem: String? = Page 1 @State private var inspectorVisible = true let items = [Page 1, Page 2, Page 3] var body: some View { NavigationSplitView { List(items, id: .self, selection: $selectedItem) { item in Label(item, systemImage: doc) } } detail: { Text(selectedItem ?? Nothing selected) .font(.title2) .foregroundStyle(.secondary) .inspector(isPresented: $inspectorVisible) { List { Section(Properties) { LabeledContent(Width, value: 100) LabeledContent(Height, value: 200) } Section(Style) { LabeledContent(Color, value: Blue) LabeledContent(Opacity, value: 100%) } } .scrollContentBackground(.hid
Topic: UI Frameworks SubTopic: SwiftUI
Replies
0
Boosts
0
Views
304
Activity
Jul ’26
iOS 26 WidgetKit APNs Pushes vs. NSE Targeted Reloads: Budget Allocation & Render Invalidation
Hello Apple DTS Team, We are optimizing a real-time iOS 26 WidgetKit architecture that utilizes both direct WidgetKit APNs pushes and Notification Service Extension (NSE) background asset downloading. We would appreciate technical clarification regarding budget allocation, execution latency, and view hierarchy invalidation on iOS 26. Architecture Overview Our system handles real-time visual updates across multiple distinct Widget kinds (KindA, KindB) using a dual-path pipeline: Direct WidgetKit APNs Push (iOS 26): Registers tokens via WidgetPushHandler (pushTokenDidChange(_:widgets:)). Remote server sends APNs requests targeting .push-type.widgets with apns-push-type: widgets and payload {aps: {content-changed: true}}. NSE Asset Pre-Fetch (Notification Service Extension): Server sends a remote notification containing mutable-content: 1 and asset metadata. The NSE intercepts the payload, streams the binary image asset into a shared App Group container (FileManager.default.containerURL(forSecurityApplicationGro
Replies
0
Boosts
0
Views
616
Activity
Jul ’26
Reply to Xcode IOS development
@Seared_one Welcome to the development world. Here's a curated starter list of resources to get going with Xcode and iOS development: Develop in Swift: https://developer.apple.com/tutorials/develop-in-swift/ starting point today, and works with Swift Playgrounds too. Getting Started with Xcode: https://developer.apple.com/videos/play/wwdc2019/404/ Xcode documentation home: https://developer.apple.com/documentation/xcode Download Xcode: https://developer.apple.com/xcode/ SwiftUI: https://developer.apple.com/documentation/swiftui and https://developer.apple.com/tutorials/swiftui-concepts. Swift Language. The Swift Programming Language https://docs.swift.org/swift-book/ Hope not forgetting anything important. Albert  WWDR
Replies
Boosts
Views
Activity
Jul ’26
iOS 27 – What changes are mandatory to support Liquid Glass?
We're preparing our SDK and host applications for iOS 27 and would like to understand the mandatory requirements for supporting the new Liquid Glass design. Beyond building with the iOS 27 SDK, are there any required implementation or migration steps (UIKit or SwiftUI) that developers must adopt to ensure full compatibility? Are there any behaviors or APIs that require explicit changes, or does the system automatically handle Liquid Glass for standard controls? We're specifically interested in the minimum required changes for compliance and compatibility, rather than optional design enhancements. Thanks in advance for any guidance.
Topic: UI Frameworks SubTopic: General
Replies
1
Boosts
0
Views
277
Activity
Jul ’26
SimCtl
Summary xcrun simctl install fails even though the app's Info.plist contains a correct, well-formed CFBundleIdentifier — verified independently with plutil -p. The app builds successfully via xcodebuild twice, under two different signing configurations. This is purely an install-time failure. ERROR · EVERY ATTEMPT An error was encountered processing the command (domain=IXErrorDomain, code=13): Simulator device failed to install the application. Missing bundle ID. Underlying error (domain=IXErrorDomain, code=13): Failed to get bundle ID from /QuestionsWeCarry.app Missing bundle ID. Environment MACOS 26.5.2 · Build 25F84 XCODE 26.6 · Build 17F113 SIMULATOR RUNTIME iOS 26.5 (23F77) HARDWARE Apple M5 KERNEL Darwin 25.5.0 arm64 XCODE.APP / SIMULATOR PLATFORM both freshly installed Xcode.app and the iOS Simulator platform were both freshly installed immediately before this was discovered — this may be a first-run / first-boot issue specific to this Xcode 26.6 + iOS 26.5 combination. Project being built A SwiftUI
Replies
0
Boosts
0
Views
343
Activity
Jul ’26
What's the preferred way enable scroll behind tab bar in nested ScrollView in SwiftUI
I am having a root TabView with tabs. One of the tabs has a TabBar with page style as the root view and each Page has a ScrollView. Unfortunately the scroll view get's clipped by the parent TabView size. But I want to make the ScrollView content to go behind the root TabView's tab bar like it would work if I would have the ScrollView as direct child to the root TabBar I tried using ignoreSafeArea on the page style TabView and there are other weird bugs, it stops reacting to the Binding pageIndex I am having as a State. The custom page index view disappears Sample code: https://github.com/BProg/TabViewScrollViewBug.git
Replies
2
Boosts
0
Views
211
Activity
Jul ’26
Reply to How to send a message from menu item in SwiftUI App to ContentView
Ah. That's something that isn't at all obvious. Thanks for explaining that. As far as my questions being answered, yes and no. I'm moving on. I keep hitting brick walls with SwiftUI, and the last one caused Xcode to just give up even trying to build it. I'm going back to UI models I understand and that still work just fine.
Topic: UI Frameworks SubTopic: SwiftUI
Replies
Boosts
Views
Activity
Jul ’26
Reply to How to send a message from menu item in SwiftUI App to ContentView
@State public var contentView = ContentView(); @State var showFileImporter:Bool = false; var body:some Scene { WindowGroup { self.contentView // this is a different content view, not the one stored in line 1! .environment(langModel) } The above code creates the same problem this post started with: being value types, views are passed as copies. The one in your view hierarchy has nothing to do with the one stored in the contentView variable. Really, this is not idiomatic to SwiftUI and will only generate more issues in the app. Do not store references to your views because they are not reference types. You want to do something like this: var body:some Scene { WindowGroup { MyContentView() .environment(langModel) // or MyContentView(langModel) } // ... struct MyContentView: View { // ... } Apart from that, @sjmills, have all your questions been answered?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
Boosts
Views
Activity
Jul ’26
SwiftUI `List` incorrectly reuses stale `Equatable` objects when redrawing
Hi, We have found a nasty issue with SwiftUI List and Equatable reference types. In such scenarios List might resurface stale objects from some internal cache when inserting new equal instances, which can lead to outdated cells on screen. Detailed information can be found in our bug report (FB23923342). Since List is quite a widespread component we thought dropping a few lines here in addition to our report could be helpful, especially if you have been bitten by this issue in the past.
Replies
0
Boosts
0
Views
193
Activity
Jul ’26
Urgent: AppStore.requestReview(in:) appears to show rating prompts too frequently in production
Hello, We are requesting urgent help with what appears to be repeated presentation of the native in-app rating prompt in our production app, Jízdní řády IDOS: https://apps.apple.com/cz/app/j%C3%ADzdn%C3%AD-%C5%99%C3%A1dy-idos/id473503749 This issue is materially affecting our App Store rating and user trust. We estimate that it has resulted in dozens of negative reviews explicitly mentioning that the native “Rate this app” prompt is shown repeatedly or “all the time”. The actual impact on our overall rating is difficult to determine, as not all affected users explicitly reference this issue in their reviews. The affected builds are App Store production builds, not Debug builds or TestFlight builds. Initially, we used the deprecated SKStoreReviewController API. We suspected that this could be the cause, so we migrated to the current API on iOS 18 and later: import StoreKit import UIKit @MainActor static func requestReview(from view: UIView) { if #available(iOS 18.0, *), let scene = view.window?.windowScene { A
Replies
1
Boosts
0
Views
224
Activity
Jul ’26