Search results for

SwiftUI List performance

50,605 results found

Post

Replies

Boosts

Views

Activity

TipKit: showing a popover tip on a SwiftUI toolbar button
Hi folks, there's currently a known issue in TipKit due to which it won't show popover tips on buttons that are inside a SwiftUI ToolbarItem. For example, if you try this code, the popover tip will not appear: ToolbarItem { Button(action: {...}) { Label(Tap here, systemImage: gear) } .popoverTip(sampleTip) } There's an easy workaround for this issue. Just apply a style to the button. It can be any style. Some examples are bordered, borderless, plain and borderedProminent. Here's a fixed version of the above code: ToolbarItem { Button(action: {...}) { Label(Tap here, systemImage: gear) } .buttonStyle(.plain) // Adding this line fixes the issue. .popoverTip(sampleTip) } Hope this helps anyone running into this issue.
10
0
5.8k
Jan ’26
Custom @Observable RandomAcccessCollection List/ForEach issues
I'm trying to understand the behavior I'm seeing here. In the following example, I have a custom @Observable class that adopts RandomAccessCollection and am attempting to populate a List with it. If I use an inner collection property of the instance (even computed as this shows), the top view identifies additions to the list. However, if I just use the list as a collection in its own right, it detects when a change is made, but not that the change increased the length of the list. If you add text that has capital letters you'll see them get sorted correctly, but the lower list retains its prior count. The choice of a List initializer with the model versus an inner ForEach doesn't change the outcome, btw. If I cast that type as an Array(), effectively copying its contents, it works fine which leads me to believe there is some additional Array protocol conformance that I'm missing, but that would be unfortunate since I'm not sure how I would have known that.
3
0
221
Jan ’26
Reply to Custom @Observable RandomAcccessCollection List/ForEach issues
I learned my lesson to not color outside the lines with pure SwiftUI. I've not tried it again since April, so maybe something changed with the Xcode releases since then, but I just export pure arrays from my view models instead of trying to be clever with custom collections. It would be cool if it were predictably extensible, but there's too much goddamn magic going on to waste time with it in my opinion.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’26
Created a free ASO analysis tool to help indie iOS developers
I built the Appvector tool – aso.report, a completely free ASO analysis platform designed to help indie developers easily improve their App Store listings without complex metrics or costly subscriptions. Just paste your app’s URL to get instant insights, multi-country analysis, and actionable recommendations - making ASO simple, accessible, and effective for everyone.
2
0
95
Jan ’26
Reply to Reduce dyld overhead
[quote='813195021, CamJN, /thread/813195, /profile/CamJN'] that's a LOT of overhead! [/quote] In relative terms, sure. But it’s also a short amount of total time, so it doesn’t give you a lot of space to optimise. Anyway, there are a bunch of things you can do on this front, but there are also certain fundamental limits to how fast a given process can launch. If you use C to create a small ‘hello world’ project, how does its performance compare to that of your tool? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: Core OS Tags:
Jan ’26
CallKit Call Directory database corruption (sqlite Code 11)
Hi everyone, I’ve filed a Feedback report (FB20986470) for a serious issue affecting the Call Directory database when add phone numbers for call blocking. When adding blocking numbers to a Call Directory extension, the system’s CallKit database (/private/var/mobile/Library/CallDirectory/CallDirectory.db) becomes corrupted. The reload call (reloadExtensionWithIdentifier) fails with error code 11 when the system tries to insert blocking entries, and the Console app on macOS shows the following errors: database corruption page 2265525 of /private/var/mobile/Library/CallDirectory/CallDirectory.db at line 81343 of [f0ca7bba1c] database corruption at line 79387 of [f0ca7bba1c] Error Domain=com.apple.callkit.database.sqlite Code=11 sqlite3_step for query 'INSERT INTO PhoneNumberBlockingEntry (extension_id, phone_number_id) VALUES (?, (SELECT id FROM PhoneNumber WHERE (number = ?))), (?, (SELECT id FROM PhoneNumber WHERE (number = ?))),...)' After this happens, CallKit becomes fully corrupted on the device and no fur
9
0
536
Jan ’26
[iOS26]UITableView drag bug
I encountered a bug with drag-and-drop sorting in ios 26. I created a UITableView for dragging and dropping to adjust the order of the list. However, when I set the height of the cells to a custom height, some cells were not displayed during the dragging process. The tools I use are the official version of Xcode16.1 and the ios 26 emulator And I can also reproduce the same problem on the real device. class ViewController: UIViewController { private let tableView: UITableView = { let tableView = UITableView.init(frame: .zero, style: .grouped) tableView.backgroundColor = .clear tableView.estimatedSectionHeaderHeight = 50 tableView.isEditing = true tableView.showsVerticalScrollIndicator = false tableView.allowsSelectionDuringEditing = true return tableView }() var content: [Int] = [] override func viewDidLoad() { super.viewDidLoad() tableView.register(FTWatchGroupPageCell.self, forCellReuseIdentifier: FTWatchGroupPageCell) tableView.delegate = self tableView.dataSource = self view.addSubview(tableView)
3
0
450
Jan ’26
ARView ignores multi-touch events
Hi, How to enable multitouch on ARView? Touch functions (touchesBegan, touchesMoved, ...) seem to only handle one touch at a time. In order to handle multiple touches at a time with ARView, I have to either: Use SwiftUI .simultaneousGesture on top of an ARView representable Position a UIView on top of ARView to capture touches and do hit testing by passing a reference to ARView Expected behavior: ARView should capture all touches via touchesBegan/Moved/Ended/Cancelled. Here is what I tried, on iOS 26.1 and macOS 26.1: ARView Multitouch The setup below is a minimal ARView presented by SwiftUI, with touch events handled inside ARView. Multitouch doesn't work with this setup. Note that multitouch wouldn't work either if the ARView is presented with a UIViewController instead of SwiftUI. import RealityKit import SwiftUI struct ARViewMultiTouchView: View { var body: some View { ZStack { ARViewMultiTouchRepresentable() .ignoresSafeArea() } } } #Preview { ARViewMultiTouchView() }
2
0
450
Jan ’26
Reply to My app is for iPhone only. The reviewers are not reading/getting my messages
[quote='872985022, nightow1, /thread/813147?answerId=872985022#872985022, /profile/nightow1'] You have a choice, right? [/quote] No, you literally don't. Every iPhone app is expected to work on an iPad. It doesn't have to be written as an iPad app, i.e. it doesn't have to take up the full screen and have all the same navigation stacks, tabs and layout as an iPad app does, but the app must function on an iPad. App Store Connect shows it is an iPhone app, yes, but that just means it is listed in the App Store for iPhones. If someone downloads it on their iPhone it will also become available on their iPad, too, so it must work on their iPad as well. As I said, run it on an iPad and see if the app works properly. If it doesn't, then you have to fix it. The App Review Team are literally telling you that they are rejecting it because it doesn't function properly on an iPad. Your app must work on an iPad, so make it work on an iPad. Just run it on an iPad and see what needs fixing. It might be a really simp
Jan ’26
Invalid_client error on Service ID despite successful manual token exchange test
Hi I am experiencing a persistent 'invalid_client' error when attempting to exchange the authorization code for an access token using Sign in with Apple for my website (https://www.vitamarinaweb.com). Current Setup & Steps Taken: Identifier: I am using the Service ID com.vitamarinaweb.web1, which is correctly linked to the Primary App ID com.vitamarinaweb.web. Client Secret: I have generated a fresh Client Secret (JWT) using a valid Key (.p8) and confirmed the Team ID (29J763Q88J) and Key ID (RRW6536D27) are correct. Redirect URIs: My Return URL is set to https://www.vitamarinaweb.com/login.php and I have verified there are no trailing spaces or mismatches. Manual Test (CURL): When I perform a manual POST request via CURL using the generated Client Secret, I receive an 'invalid_grant' response (meaning the Client Secret and Client ID are accepted, and only the temporary code is rejected as expected). The Issue: Despite the CURL success, every request initiated through the web browser/PHP applicat
1
0
296
Jan ’26
Reply to App Rejected for Being "Too Similar to LaunchPad" - Seeking Specific Guidance on Differentiation
the lengthy lecture about what App Review is doing me a favour with a bit strange After your initial greeting, you said, and I quote, I'm seeking advice. And then, at closing, you doubled-down on that with, Any advice, experiences, or suggestions would be greatly appreciated. You've also managed to argue both that Launchpad is terrible (and Tahoe's version is even worse), and that I shouldn't bother building something better. You're mischaracterizing my statement. I suggested that you shouldn't build something that looks like LaunchPad, and apparently App Review agrees with me. That's what an app launcher looks like. As I said in my first reply, I recently purchased a nice app launcher from one of my favourite developers. It looks nothing like LaunchPad. That fact was part of the appeal. My original question was a straightforward one: have people encountered IP issues during review for apps that improve on native functionality? You posted a numbered list of 5 specific questions, followed by an explic
Jan ’26