Search results for

SwiftUI List performance

50,597 results found

Post

Replies

Boosts

Views

Activity

UIHostingConfiguration on tvOS, focus engine problem with SwiftUI and collectionView
UIHostingConfiguration on tvOS: focus permanently broken with multiple focusable SwiftUI views Hi everyone, I'm working on a tvOS app with a UICollectionView. Some cells embed SwiftUI content via UIHostingConfiguration, specifically a row of 3 buttons that should be individually focusable. The cell itself returns canBecomeFocused = false so focus passes through to the SwiftUI buttons. The problem: after navigating focus into that section once, it becomes permanently unfocusable. Focus enters briefly, then immediately exits to nil on its own, without any user input. From that point on, the focus engine completely skips the section. The exact same SwiftUI view works perfectly when embedded via UIHostingController instead. How to reproduce Press DOWN to move focus into the UIHostingConfiguration section Focus lands on a SwiftUI button for a split second Focus exits on its own and bumps to another section The section is now dead, focus skips it on every subsequent navi
0
0
39
3d
Guideline 3.2.1(viii): Loan app rejected — Product Page domains “not under my control” & Apple Account email domain requirement (App Store Connect metadata)
Hello Apple Developer Forums, My iOS app provides loan services and was rejected under Guideline 3.2.1(viii) with the following message: “The app provides loan services but the domains listed on the app’s Product Pages are not clearly under your control or ownership… Update the Product Page metadata to only include domains you both own and that are used as email domains for Apple Accounts registered to your developer account… Account Holder and Admin users should use emails with domains that identify the company providing loan services.” I’m trying to understand exactly what Apple expects and how to pass review. What I’ve already checked / updated I own a company domain (ikiela.org) and I can create emails on this domain Questions For loan apps, does Apple require that all Product Page fields (Support URL, Marketing URL, Privacy Policy URL, Support Email, etc.) use the same domain that matches the financial institution? What are the best practices to prove domain ownership/control (DNS, website conte
0
0
12
3d
Reply to Background execution window after CLBeaconRegion wake from terminated state
I am testing my iOS app on iOS 18. I performed 50 tests, and in 43–44 of them, the app successfully detects beacons, relaunches in the background, and continues BLE communication. However, in a few cases, beacon detection does not trigger, and the background BLE process fails. I want to understand why beacon triggers are inconsistent in iOS. What are the common reasons behind iOS not relaunching the app for beacon events, and what factors affect reliable BLE/background beacon detection?
3d
Support for trailing accessory views in Tab (sidebarAdaptable TabView)
In iOS 18, TabView with .tabViewStyle(.sidebarAdaptable) introduced a powerful adaptive pattern — tabs in compact, sidebar in regular. However, the current Tab API only supports a title and an image (icon). There is no way to provide a trailing accessory view (e.g., a secondary icon or indicator) for sidebar rows. This is a meaningful gap in the API, because trailing accessories are a well-established pattern throughout UIKit and SwiftUI. Precedent in Apple's own design language Apple already supports trailing accessories in many analogous contexts: UITableViewCell / UICollectionViewListCell — support accessories (disclosure indicators, checkmarks, custom views) via UICellAccessory. UIListContentConfiguration — allows leading and trailing content in list rows. SwiftUI List rows — support Label, HStack with trailing elements, .badge(), and swipeActions. NavigationLink — automatically renders a disclosure chevron as a trailing accessory. UITabSidebarItem (UIKit, iOS 18) — sup
2
0
45
3d
Reply to Does 'perform(schedule: .immediate)' guarantee serial execution?
Every NSManagedObjectContext has a private serial dispatch queue. perform(schedule: .immediate) runs the block immediately, if the code is currently running in the dispatch queue of the managed object context. Otherwise, it does perform(schedule: .enqueue), which enqueues the block to the context's dispatch queue. In your code snippet, you use await to serialize the two performs, and so for every single doSomething, the system guarantees that the first block (add log event 1) is done BEFORE the second one (add log event 2) is started. Maybe worth mentioning, like other async functions, doSomething can be re-entered. Assuming that doSomething is called twice, it's possible that the first block of the second doSomething is enqueued before the second block of the first doSomething is. Best, —— Ziqiao Chen  Worldwide Developer Relations.
3d
Reply to iBeacon Monitoring in Flutter App: Background Wake-Up from Killed State, Time Limits for BLE, and Handling Multiple Regions/Identifiers
There are a few questions in this block. Let me try to take them apart. Background Execution Time After Wake-Up: When the app is woken in the background by a region monitoring event (enter/exit) from a killed state, approximately how much time (in seconds) does iOS allocate for the app to run before suspending it again? You can generally expect about 10 seconds when the app is woken up. This is the total time. If the app has been terminated, depending on how long it takes for your app to finish launching, you would end up with less than that. The beginBackgroundTask(expirationHandler:) API can be used to request up to 30 seconds, but it is not guaranteed that you will get that much. The system can also re-suspend or terminate your app in much shorter a time if it needs the resources your app is using urgently. Is this sufficient for performing BLE operations like ranging beacons or establishing a short connection, or are there stricter limits in terminated wake-ups compared to standard background mod
3d
For some reason, my Apple Developer subscription didn't connect.
Please help. I purchased an Apple Developer account subscription through the iPhone app. It's listed in the App Store, but it's not listed in Apple Developer itself. I've been waiting for a response from support for over a week, but it's as if they've completely forgotten about me; no one's responding. Although, in fact, it says two days ago. Has anyone else encountered this and can help? It's asking me to pay a second time, and through the website.
0
0
24
4d
Why do I feel like my growth as an iOS developer has slowed down
I have 9 plus years of iOS experience starting with Objective C and moving to Swift, but after 4 years in my current company with little salary growth, I am struggling to find new opportunities in a highly competitive market with fewer openings and broader skill expectations. I am unsure about the long term career path for mobile developers, concerned about compensation growth and lacking SwiftUI experience, and would appreciate guidance on what additional skills to learn to stand out and secure better opportunities.
1
0
33
4d
SpriteKit framerate drop on iOS 26.3
Hello, I have noticed a performance drop on SpriteKit-based projects running on iOS 26.3. The issue seems very similar to the issue reported on iOS 26.0, and later solved from iOS 26.2 beta 3: https://developer.apple.com/forums/thread/800952?answerId=870617022#870617022 With 26.3, it seems a regression occured. Below is the same SpriteKit scene used to test framerate on different devices: import SpriteKit import SwiftUI class BareboneScene: SKScene { override func didMove(to view: SKView) { size = view.bounds.size anchorPoint = CGPoint(x: 0.5, y: 0.5) backgroundColor = .darkGray let roundedSquare = SKShapeNode(rectOf: CGSize(width: 150, height: 75), cornerRadius: 12) roundedSquare.fillColor = .systemRed roundedSquare.strokeColor = .black roundedSquare.lineWidth = 3 addChild(roundedSquare) let action = SKAction.rotate(byAngle: .pi, duration: 1) roundedSquare.run(.repeatForever(action)) } } struct BareboneSceneView: View { var body: some View { SpriteView( scene: BareboneScene(), debugOptions:
0
0
66
4d
Zoom transition source tile lags after back navigation when LazyVGrid is scrolled immediately
[Submitted as FB21961572] When navigating from a tile in a scrolling LazyVGrid to a child view using .navigationTransition(.zoom) and then returning, the source tile can lag behind the rest of the grid if scrolling starts immediately after returning. The lag becomes more pronounced as tile content gets more complex; in this simplified sample, it can seem subtle, but in production-style tiles (as used in both of my apps), it is clearly visible and noticeable. This may be related to another issue I recently filed: Source item disappears after swipe-back with .navigationTransition(.zoom) CONFIGURATION Platform: iOS Simulator and physical device Navigation APIs: matchedTransitionSource + navigationTransition(.zoom) Container: ScrollView + LazyVGrid Sample project: ZoomTransition (DisappearingTile).zip REPRO STEPS Create a new iOS project and replace ContentView with the code below. Run the app in sim or physical device Tap any tile in the scrolling grid to navigate to the child view. Return to the grid (back butt
Topic: UI Frameworks SubTopic: SwiftUI
0
0
37
4d
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:
5d
Intrinsic content/system fitting size not propagating up to hosting controller.
Overview I have the following view hierarchy that mixes SwiftUI and UIKit: AccordionView └─ VStack ├─ Text ├─ Button └─ UIViewRepresentable └─ UIStackView ├─ UILabel └─ UILabel When tapping the button, the UIViewRepresentable hides and shows its content. This all works as expected. However, in certain circumstances the view's sizing is rendered with the correct size, but the text can often render incorrectly, despite the frame seemingly looking as though it has enough room to render the text. More info Below you can see the UILabel has the correct frame height (the light grey background and coloured borders) but the text is rendered as though it has infinite width along one line. There's a few configurations of my view hierarchy that seem to have this effect. I've added a playground to the bottom of this post of various configurations to show what does and doesn't work, just copy and paste to see for yourself... It seems of the ones that don't work, there's a couple of reasons why that may be: Hosted
0
0
47
5d
SwiftUI bottom bar triggers UIKitToolbar hierarchy fault and constraint errors
[Submitted as FB21958289] A minimal SwiftUI app logs framework warnings when a bottom bar Menu is used with the system search toolbar item. The most severe issue is logged as a console Fault (full logs below): Adding 'UIKitToolbar' as a subview of UIHostingController.view is not supported and may result in a broken view hierarchy. Add your view above UIHostingController.view in a common superview or insert it into your SwiftUI content in a UIViewRepresentable instead. This appears to be a framework-level SwiftUI/UIKit integration issue, not custom UIKit embedding in app code. The UI may still render, but the warnings indicate an internal hierarchy/layout conflict. This occurs in simulator and physical device. REPRO STEPS Create a new project then replace ContentView with the code below. Run the app. The view uses NavigationStack + .searchable + .toolbar with: ToolbarItem(placement: .bottomBar) containing a Menu DefaultToolbarItem(kind: .search, placement: .bottomBar) EXPECTED RESULT
Topic: UI Frameworks SubTopic: SwiftUI Tags:
1
0
61
5d
Does 'perform(schedule: .immediate)' guarantee serial execution?
If I have two consecutive calls like to perform(schedule: .immediate) like so: func doSomething() async { await self.perform(schedule: .immediate) { // add log event 1 to data store } await self.perform(schedule: .immediate) { // add log event 2 to data store } } Can I be guaranteed that the block for log event 1 will happen after log event 2? log event here is just an example, so please ignore things like storing date, etc. Looking at the documentation here: https://developer.apple.com/documentation/coredata/nsmanagedobjectcontext/perform(schedule:_:) It's a little unclear whether any such guarantee is in place. However, given that the function returns the value from the block, it seems like I should be able to expect event 1 will always be executed before event 2 regardless of the schedule parameter?
1
0
57
6d