Search results for

SwiftUI List performance

50,605 results found

Post

Replies

Boosts

Views

Activity

New push notifications for widgets seem too limited for actual production-level apps
I was very excited to see the addition of push notifications for widgets. However upon further inspection, the way it is implemented seems too limiting for real life apps. I have an app for time tracking with my own backend. The app syncs with my backend in the main executable (main target). My widgets are more lightweight as they only access data in the shared app container, but they don't perform sync with the server directly to avoid race conditions with the main app. I was under the impression that the general direction of the platform is to be doing most things in the main app target (also App Intents work that way for the most part), so the fact that the WidgetPushHandler just calls the widget's method to reload the timeline is very unfortunate. In an ideal scenario I also need the main app to be 'woken up' to perform the sync with the server, and once that's done I'd update the widget's timeline and where I would just read data from the shared app container. So, my questions are: What
3
0
269
3w
Mac Studio: Continuity Camera unavailable after reboot unless USB camera is connected
Summary On Mac Studio systems (no built-in camera), macOS does not initialize camera services after a normal reboot if no physical camera is present. As a result, Continuity Camera does not appear anywhere in the system. Observed behavior System Information → Camera reports “No video capture devices were found.” Continuity Camera (iPhone) is completely absent from camera lists. Plugging in any USB UVC webcam immediately initializes camera services and causes both the USB camera and the iPhone (Continuity Camera) to appear. The USB camera can then be unplugged and Continuity Camera continues working until the next reboot. Reproduction steps Use a Mac Studio (no built-in camera) on recent macOS. Ensure no USB webcam or external camera is connected. Reboot the Mac normally. After login, open System Information → Camera. Expected Camera services should initialize even when no physical camera is present, allowing Continuity Camera to be available as the primary camera. Actual No camera devices are present
1
0
113
3w
Reply to Labeling an eSIM during the installation wizard, not present on iOS 26
Hi Travis, the app that I work on sells eSIMs to our customers. We have the entitlement which allows us to perform a direct installation via the addPlan method of CoreTelephony. We try to educate and guide our customers through the installation wizard that iOS offers, though we have noticed that the steps in the wizard are different from iOS 18 to iOS 26, e.g. some of our customers report that they are not prompted at all with steps such as labeling the eSIM or choosing what to use for mobile data, etc. What would be the best contact, or is there a source on which we could rely on these changes?
3w
Reply to SwiftUI subviews traverse issue
SwiftUI view hierarchy is internal to the framework. When using SwiftUI, you won't need to traverse the view hierarchy – If you do, I'd say that you probably aren't on the right track... Having said that, I'm quite curious why you need to traverse the view hierarchy in SwiftUI. Would you mind to share? Best, —— Ziqiao Chen  Worldwide Developer Relations.
Topic: UI Frameworks SubTopic: SwiftUI
3w
Reply to App Logout / Termination Behavior When Changing Bluetooth Settings With and Without Multitasking
“while using multitasking” means reducing the app’s size and displaying it side by side with the Settings screen at the same time. For better understanding, I will attach an image. Ahh, now I understand. So, the first thing to understand here is that a number of our settings (particularly around authorization) don't really have a unauthorize path. That is, many APIs provide a way for an app to check if they're authorized, but they don't have a notification/delegate for you used to be authorized but now you're not. Often this issue is as much architectural as it is API. For example, in the case of Bluetooth you'd need to invalidate all existing Bluetooth objects (since the app doesn't have access anymore) and you'd also need a way to recreate them again (when authorization is restored). All of this is quite unwieldy, so instead of building that architecture, the system just terminates the app instead. As you noticed, this is Allow Tracking“ example: Additionally, I found that YouTube also terminates when the “
Topic: App & System Services SubTopic: General Tags:
3w
Reply to How to make fluid TabBar
Hello @Julsalim , You don't need to programmatically hide the TabBar, it can be done by restructuring your Views. Make sure the NavigationStack contains the TabView, and the Tab contains the NavigationLink. Here's an example view structure that achieves what you're looking for: Also, welcome to iOS Development! SwiftUI is my favorite!  Travis Trotto - DTS Engineer NavigationStack { TabView{ Tab(, systemImage: ) { List{ NavigationLink(... }
Topic: UI Frameworks SubTopic: SwiftUI
3w
Reply to XCode26.2 ld: Assertion failed: ((ct == Atom::ContentType::objcConst) || (ct == Atom::ContentType::objcData) || (ct == Atom::ContentType::constData) || (ct == Atom::ContentType::constText)), function ObjCClassReadOnlyDataRef, file Atom.cpp, line 329
Thanks for this very interesting post. I'm not an expert in this field and I invite experts to comment, in my modest opinion, It looks like there’s something unexpected with ObjC/Swift metadata. Can we ask them for a focused sample project that reproduces the issue, can you make a copy of the project that is causing the issue, and then remove everything that isn’t important to keep the meta data in the project that may be causing this? Maybe the linker error you're encountering in Xcode 26.2 after migrating from Xcode 16.2, along with the modifications you've made to the linker flags, points to a deeper issue with how object files are being processed, specifically related to Objective-C runtime data. Could that mean or indicates there is an incompatibility or corruption in Objective-C metadata? Any object files or libraries you're linking were compiled with an older compiler version? Any external libraries or frameworks, with the Xcode 26.2 compiler. If you're using CocoaPods or Carthage, update them ( or ) a
3w
Reply to Can we decode twice in the same session with unarchiver?
Thanks for the reply. I tried to replace if let result = unarchiver.decodeObject(of: [/* list */], forKey: someKey) as? someClass { by do { let result = try unarchiver.decodeTopLevelObject(of: [/* list */], forKey: someKey) as! someClass It compiles but does not decode: I get a failure on log : unarchiving failed And with this pattern, I do not know how to test the double call within the print Is it an error to use unarchiver.decodeObject ? What can be the side effects ? unarchiver.decodeObject(of: [/* list */], forKey: someKey)
Topic: App & System Services SubTopic: General Tags:
3w
"userVerification" is ignored during Passkey Autofill in non-Safari browsers
When using passkeys stored in iCloud Keychain (Passwords app) via Passkey Autofill in browsers other than Safari, the userVerification parameter is ignored and user verification (UV) is not performed. As a result, relying party servers that require userVerification = required fail validation because the UV flag is not set, causing passkey authentication to fail. This issue occurs when the following setting is disabled: Settings → Face ID & Passcode → Use Face ID For → Password AutoFill The issue is reproducible only with the following combination: Non-Safari browsers (e.g. Chrome) Passkeys stored in iCloud Keychain (Passwords app) Passkey Autofill The issue does not occur in the following cases: Safari with passkeys stored in any credential manager Non-Safari browsers using credential managers other than iCloud Keychain Steps to Reproduce: Go to Settings → General → Autofill & Passwords, and enable the Passwords app under “Autofill From”. Go to Settings → Face ID & Passcode → Use Face ID
1
0
195
3w
Manipulation stops working when changing rooms
This post documents an issue I reported in feedback FB19610114 and see if anyone knows of a workaround. Here is a copy of the feedback. Short version Manipulation (SwiftUI OR RealityKit) fails to translate entities after changing rooms. By changing rooms, I mean a human wearing an Apple Vision Pro leaving one room and entering another room. Once this issue occurs, it impacts all apps that use these features. A device restart is the only solution I have to fix it. Feedback FB19610114 This is an odd one. I'm using the new Manipulation Component in visionOS 26. Most of the time this works well. Sometime it stops working and when it does the only way to get it working again is to reboot the headset. When this happens, I can continue to rotate and scale items, but translation no longer works. It is as if the item is stuck to a fixed point in the parent scene (window, volume, etc). When this bug occurs, it affects every app across the entire operating system that is using manipulation, including the Realit
6
0
958
3w
Khmer Script Misidentified as Thai in Vision Framework
It is vital for Apple to refine its OCR models to correctly distinguish between Khmer and Thai scripts. Incorrectly labeling Khmer text as Thai is more than a technical bug; it is a culturally insensitive error that impacts national identity, especially given the current geopolitical climate between Cambodia and Thailand. Implementing a more robust language-detection threshold would prevent these harmful misidentifications. There is a significant logic flaw in the VNRecognizeTextRequest language detection when processing Khmer script. When the property automaticallyDetectsLanguage is set to true, the Vision framework frequently misidentifies Khmer characters as Thai. While both scripts share historical roots, they are distinct languages with different alphabets. Currently, the model’s confidence threshold for distinguishing between these two scripts is too low, leading to incorrect OCR output in both developer-facing APIs and Apple’s native ecosystem (Preview, Live Text, and Photos). import SwiftUI i
2
0
927
3w
Matter commissioning issue with Matter support extension
My team has developed an app with a Matter commissioner feature (for own ecosystem) using the Matter framework on the MatterSupport extension. Recently, we've noticed that commissioning Matter devices with the MatterSupport extension has become very unstable. Occasionally, the HomeUIService stops the flow after commissioning to the first fabric successfully, displaying the error: Failed to perform Matter device setup: Error Domain=HMErrorDomain Code=2. (normally, it should send open commissioning window to the device and then add the device to the 2nd fabric). The issue is never seen before until recently few weeks and there is no code changes in the app. We are suspected that there is some data that fail to download from the icloud or apple account that cause this problem. For evaluation, we tried removing the HomeSupport extension and run the Matter framework directly in developer mode, this issue disappears, and commissioning works without any problems.
20
0
880
3w
Reply to How to animate `UIHostingController.view` frame when my View's size changes?
Alright, I have tried to follow your advice and I don't see how this can help. I have this setup: struct AnimatedView: View { @ObservedObject var viewModel: ViewModel var body: some View { let width = viewModel.isExpanded ? 120.0 : 50.0 let height = viewModel.isExpanded ? 400.0 : 100.0 let cornerRadius = viewModel.isExpanded ? 42.0 : 8.0 Color(uiColor: .red) .frame(width: width, height: height) .cornerRadius(cornerRadius) } } The hosting controller is mounted to the top of its parent via constraints. Then I do this in my tap handler for a totally separate button: @objc func tap() { withAnimation(Animation.easeInOut(duration: 0.5), { viewModel.isExpanded.toggle() }) } And what I observe here is that my hosting controller's view immediately teleports to the new frame - its center is immediately in the position where it should be only at the end of the animation. Meanwhile, the SwiftUI content is animating correctly, except it has already teleported. I have tried to use your answer @DTS Engineer I have
Topic: UI Frameworks SubTopic: SwiftUI Tags:
3w
Orphaned 9GB Simulator Runtime in /System/Library/AssetsV2 - Cannot Delete (SIP protected)
I have an orphaned asset folder taking up 9.13GB located at: /System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime/c0d3fd05106683ba0b3680d4d1afec65f098d700.asset It contains SimulatorRuntimeAsset version 18.5 (Build 22F77). Active Version: My current Xcode setup is using version 26.2 (Build 23C54). I checked the plist files in the directory and found what seems to be the cause of the issue: The Never Collected Flag: The Info.plist inside the orphaned asset folder explicitly sets the garbage collection behavior to NeverCollected: __AssetDefaultGarbageCollectionBehavior NeverCollected The Catalog Mismatch: The master catalog file (com_apple_MobileAsset_iOSSimulatorRuntime.xml) in the parent directory only lists the new version (26.2). Because the old version (18.5) is missing from this XML, Xcode and mobileassetd seem to have lost track of it entirely. What I Have Tried (All Failed) Xcode Components: The version 18.5 does not appear in Settings -> Components, so I cannot delete it via t
5
0
495
3w