We are seeing a strange lifecycle issue on multiple MDM-managed iPads where application(_:didFinishLaunchingWithOptions:) is not called after the device is idle overnight. Even if we terminate the app manually via the app switcher, the next morning the system does not perform a cold launch. Instead, the app resumes directly in: applicationDidBecomeActive(_:) This causes all initialization logic that depends on didFinishLaunching to be completely skipped. This behavior is consistent across four different supervised MDM devices. Environment Devices: iPads enrolled in MDM (supervised) iOS version: 18.3 Xcode: 16.4 macOS: Sequoia 15.7.2 App type: Standard UIKit iOS app App: Salux Audiometer (App Store app) Expected Behavior If the app was terminated manually using the app switcher, the next launch should: Start a new process Trigger application(_:didFinishLaunchingWithOptions:) Follow the normal cold-start lifecycle Actual Behavior After leaving the iPad idle overnight (8–12 hours): The next launch skips
Search results for
SwiftUI List performance
50,605 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
NSSecureCoding requires explicit type declaration for all classes in the object graph. When decoding an array, you must specify both the container type (NSArray) AND the element type (Item). The current code only specifies NSArray.self or Item.self (but not both), so the decoder doesn't know it's allowed to decode the Item objects from the array. You tried [NSArray.self, NSString.self, NSColor.self, NSNumber.self], but didn't include Item.self in the list. Other than that, verify both classes have complete encode/decode pairs using the same keys in both the encoding and decoding methods. Make sure all the key strings match exactly, etc.
Topic:
App & System Services
SubTopic:
General
Tags:
Thanks for the follow ups. Can’t believe I’m not reproducing so let me take a step back and let’s get this to reproduce. Based on your description, it seems that the inside the is being recreated when the flag changes, causing issues in your SwiftUI view. This behavior might occur because SwiftUI re-evaluates views when state changes, and if the identity of views isn’t stable, it can lead to unnecessary recreations. What Xcode build do you use and what iOS simulator do you use? Can we get this in a focused sample so I can download and run it in different Xcode versions? And also will be good if other SwiftUI engineers take a look because I’m failing to reproduce it, so something I am not doing correctly. If the static text doesn’t recreate, the issue might be related to how handles state updates. Albert Pascual
Worldwide Developer Relations.
Topic:
UI Frameworks
SubTopic:
SwiftUI
@savci2 Thanks for your post, this is the second old thread I see you posting the issue you are having with TestFlight. I would recommend you if you are having a problem with TestFlight to create a new thread and post all the logs and screenshots so engineers here can look if this is a new issue or an existing issue and help you. Make sure you’ve added the external testers’ emails to the Internal Testing and External Testing lists in the App Store Connect dashboard. External testers must accept the invitation to download the app. Ensure that all agreements related to distributing your app on TestFlight are active. Check the logs in Xcode’s Devices and Simulators section. There might be error messages related to the download issue and provide those logs on your post. Hope this helps. Albert Pascual
Worldwide Developer Relations.
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
Yes, also on Mac where my application is seen earlier Yes, I perform install using sudo installer command which is a standard way of installation Yes, that's correct. Some more information: Running codesign --verify --deep --strict /path/to/your.app throws the following error, invalid resource directory (directory or signature have been modified) If I run sudo codesign --verify --deep --strict /path/to/your.app, it does not throw any error. I have verified the sudo command run with the verbose option, it says valid on disk and satisfies its Designated Requirement
Topic:
Code Signing
SubTopic:
General
Tags:
Hi, I’m implementing a macOS DNS Proxy as a system extension and running into a persistent activation error: OSSystemExtensionErrorDomain error 9 (validationFailed) with the message: extension category returned error This happens both on an MDM‑managed Mac and on a completely clean Mac (no MDM, fresh install). Setup macOS: 15.x (clean machine, no MDM) Xcode: 16.x Team ID: AAAAAAA111 (test) Host app bundle ID: com.example.agent.NetShieldProxy DNS Proxy system extension bundle ID: com.example.agent.NetShieldProxy.dnsProxy The DNS Proxy is implemented as a NetworkExtension system extension, not an app extension. Host app entitlements From codesign -d --entitlements :- /Applications/NetShieldProxy.app: xml com.apple.application-identifier AAAAAAA111.com.example.agent.NetShieldProxy com.apple.developer.system-extension.install com.apple.developer.team-identifier AAAAAAA111 com.apple.security.app-sandbox com.apple.security.application-groups group.com.example.NetShieldmac com.apple.security.files.user-selected.
Thanks for the updated posts. [quote='873386022, Leo_Nagano, /thread/812857?answerId=873386022#873386022, /profile/Leo_Nagano'] legacy dns-proxy entitlement [value] [/quote] To be clear, this isn’t a legacy value. This value is used for App Store distribution, both on iOS and macOS. It’s also used for development. The -systemextension suffix is used for direct distribution using Developer ID signing. Neither value is more legacy than the other. As to what’s going wrong, you’ve tried a lot of different things and it’s hard to be sure what’s what at this state. However, this is problematic: NSExtensionPointIdentifier com.apple.system_extension.network_extension And it suggests that you could do with some high-level guidance. The best place to get that is Xcode. Consider this sequence: In Xcode 26.2, create a new project from macOS > App template. In my case I named it “Test812857”. Then create a new target within that project, using the macOS > System Extension > Network Extension template. In my case
Topic:
App & System Services
SubTopic:
Networking
Tags:
@Frameworks Engineer Sorry to reach out again, but is this planned for the future? Because using default Annotations will probably result in serious performance issues or is there a trick I can use myself to make these performant enough and try to rebuild the animations?
Topic:
App & System Services
SubTopic:
Maps & Location
Tags:
Hey there, is there a way to set the z-index for MarkerAnnotations in MapkitJS? I'm loading up to 200 markers dynamically as the map moves or the user zooms and I want a few specific markers to always be at the top (the best search results). The only way I found is to always remove all markers and then add them again in the right order, but that's visually so annoying to see them disappear and animate in with every tiny movement. I thought about using a default Annotation and setting the z-index myself and trying to rebuild the balloon, including the animation when it's clicked, but the big downside is probably the performance because I won't be able to use shadow DOM elements and have 200 real DOM elements instead. Is there a solution to this right now or is it planned to add a feature like that to Mapkit JS? It's a real blocker for me right now because all the bad content always gets rendered on top when a user zooms in, because I obviously want to show the best content first when the user isn't zo
I tested the sample code, even using a random color to debug the view to check if it is being recreated, it looks like VStack in List = unstable identity when presentation state changes. I applied .border() modifier with the random color, to track if a view is recreated. Only when the presentation state changes, then the count is reset. Color( red: .random(in: 0...1), green: .random(in: 0...1), blue: .random(in: 0...1) ) Separate the buttons to test, and when the isPresented flag changes after the alert, the LibraryView in the VStack causes issues. private struct ViewWithAlert: View { @State private var isPresented: Bool = false @State private var presentedCount = 0 var body: some View { VStack { // Test without alert - just increment the counter Button { // isPresented = true // Comment out alert presentedCount += 1 } label: { Text(Increment count: (presentedCount)) .border(Color.random) } // Separate button to show alert // -> When tapped, presentedCount resets to 0 on tap OK Button(Show Alert)
Topic:
UI Frameworks
SubTopic:
SwiftUI
Hi everyone, I’ve encountered an issue where using a popover inside the toolbar of a Catalyst app causes a crash on macOS 26 beta 5 with Xcode 26 beta 5. Here’s a simplified code snippet: import SwiftUI struct ContentView: View { @State private var isPresentingPopover = false var body: some View { NavigationStack { VStack { } .padding() .toolbar { ToolbarItem { Button(action: { isPresentingPopover.toggle() }) { Image(systemName: bubble) } .popover(isPresented: $isPresentingPopover) { Text(Hello) .font(.largeTitle) .padding() } } } } } } Steps to reproduce: Create a new iOS app using Xcode 26 beta 5. Enable Mac Catalyst (Match iPad). Add the above code to show a Popover from a toolbar button. Run the app on macOS 26, then click the toolbar button. The app crashes immediately upon clicking the toolbar button. Has anyone else run into this? Any workarounds or suggestions would be appreciated! Thanks!
There are multiple iOS simulator runtimes located at /System/Library/AssetsV2/com_apple_MobileAsset_iOSSimulatorRuntime which I don't need. I tried the following approaches to delete them but not working. Xcode > Settings > Components > Delete (It can delete some but not all of them) xcrun simctl runtime list (It doesn't show the old runtimes) sudo rm (Operation not permitted) sudo rm -rf cc1f035290d244fca4f74d9d243fcd02d2876c27.asset Password: rm: cc1f035290d244fca4f74d9d243fcd02d2876c27.asset/AssetData/096-69246-684.dmg: Operation not permitted rm: cc1f035290d244fca4f74d9d243fcd02d2876c27.asset/AssetData: Operation not permitted rm: cc1f035290d244fca4f74d9d243fcd02d2876c27.asset/Info.plist: Operation not permitted rm: cc1f035290d244fca4f74d9d243fcd02d2876c27.asset/version.plist: Operation not permitted rm: cc1f035290d244fca4f74d9d243fcd02d2876c27.asset: Operation not permitted I have two questions: Why xcrun simctl runtime list is unable to list some old runtimes? How to
Hi everyone, I am working on a CarPlay integration, and need open a two level list opened from a root template. However, I am always receiving an error message when opening the 2nd pushed template. To narrow it down not to have an issue with some app specific code I created the CarPlay scene below. I am aware that there is a limit, but two levels I understand are supported on all CarPlay integrations, the maximum seems to be 5. The app is just crashing right after showing the 2nd template. Any ideas? Any hints are much appreciated. Thanks a lot! Regards, Michael class CarPlaySceneDelegate2: UIResponder, CPTemplateApplicationSceneDelegate { // [...] private func createRootTemplate() -> CPListTemplate { let pushToAItem = CPListItem(text: Push to Template A, detailText: Level 1 → Level 2) pushToAItem.handler = {[weak self] (pushToAItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateA(), animated: true, completion: { (didPres
I have some really straight forward code in a sample project. For some reason when the app launches the title is blurred obscured by scrolledgeeffect blur. If I scroll down the title goes small as it should do and all looks fine. If I scroll back to the top, just before it reaches the top the title goes large and it looks correct, but once it actually reaches/snaps to the top, is then incorrectly blurs again. Is there anything obvious I'm doing wrong? Is this a bug? struct ContentView: View { var body: some View { NavigationStack { ScrollView { VStack { Rectangle().fill(Color.red.opacity(0.2)).frame(height: 200) Rectangle().frame(height: 200) Rectangle().frame(height: 200) Rectangle().frame(height: 200) Rectangle().frame(height: 200) } } .safeAreaBar(edge: .top) { Text(Test) } .navigationTitle(Title) } } }
I'm looking to support toggleable bullet and numbered lists in my IOS 26 app. currently my text editor looks like this @Binding var text: AttributedString var requestFocus: Bool = false @State private var selection = AttributedTextSelection() @FocusState private var isFocused: Bool var body: some View { TextEditor(text: $text, selection: $selection) .scrollContentBackground(.hidden) .background(Color.clear) .focused($isFocused) .safeAreaInset(edge: .bottom) { if isFocused { FormattingToolbar(text: $text, selection: $selection) .padding(.horizontal) .padding(.vertical, 8) .background(Color(UIColor.systemBackground)) } } .onChange(of: requestFocus) { _, newValue in if newValue { isFocused = true } } } } i cant find any useful docs on how to best implement this. anything helps, thanks
Topic:
UI Frameworks
SubTopic:
SwiftUI