Hello, We are using a Message Filter Extension (ILMessageFilterExtension) to classify SMS/iMessage content (junk vs allow) in our app. After testing on iOS 26.1, we want to confirm whether there are any behavioral, performance, or API-level changes that impact message filtering, such as: Changes in how often the filter extension is invoked Differences in classification accuracy or system overrides New privacy, entitlement, or permission-related restrictions Execution time limits or memory constraints Any changes specific to iMessage vs SMS filtering We did not find any explicit mention of Message Filter Extensions in the iOS 26.1 release notes and would like to confirm whether the existing behavior from previous iOS versions remains unchanged. Has Apple introduced any known or undocumented changes in iOS 26.1 that developers should be aware of when supporting Message Filter Extensions? Sometime I also found unpredictable behaviour on iOS version 18.5 or below, like sometime it works but sometimes sta
Search results for
SwiftUI List performance
50,605 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Background / Objective We are currently developing a solution to centrally manage Apple OS updates (major and minor) across managed macOS devices. Before implementing at scale, we need Apple’s guidance on supported and future-proof update mechanisms under MDM. Questions / Ask (Apple Guidance Requested) Apple recommended method What is Apple’s recommended approach to perform: Minor updates (e.g., macOS X.Y → X.Z) Major upgrades (e.g., Ventura → Sonoma) in an enterprise fleet? Support boundary Is macOS update management only supported via MDM (including any newer declarative workflows), or are local mechanisms (installer + command-line tooling) also considered supported for enterprise automation? Use of startosinstall Can we leverage the existing utility: /Applications/Install macOS .app/Contents/Resources/startosinstall for automated upgrades in enterprise environments? If yes, are there recommended flags/workflows Apple endorses for unattended or minimally interactive upgrades? Long-term support / st
We are upgrading macOS (minor versions and potentially major versions) using a scripted approach: Install the InstallAssistant package via installer Trigger OS install via startosinstall On MDM-managed assets, OS update policies appear to prohibit or interfere with the update flow. The update often fails with startosinstall reporting “Helper tool crashed…” during the “Preparing” phase. Steps to Reproduce On an MDM-enrolled Mac with OS update restriction/deferral policies applied, run: sudo /usr/sbin/installer -pkg /Path/To/InstallAssistant.pkg -target / && echo 'MACOS_PASSWORD' | /Applications/Install macOS Sonoma.app/Contents/Resources/startosinstall --agreetolicense --forcequitapps --stdinpass --user MACOS_USER Actual Result Package installation reports success, but startosinstall fails during preparation with: Standard Output installer: Package name is macOS15.7_SoftwareUpdate installer: Upgrading at base path / installer: The upgrade was successful. By using the agreetolicense option, you are agre
I’m trying to test a crossgrade on a subscription plan that has the same duration and price. When running tests with renewal intervals shorter than one hour, and managing or modifying the subscription, I see a payment confirmation message that says “You’ll pay X euros today.” This message is confusing because it sounds like an immediate charge, whereas my understanding is that the payment actually occurs at the next renewal, which in the test environment happens “today” due to the accelerated renewal frequency (1 hour or less). To make sure this works as expected, according to the official documentation, when testing in TestFlight the renewal frequency is 1 day. Therefore, when managing and modifying the subscription to perform the crossgrade, I would expect the UI to indicate that the payment will occur tomorrow. However, when I manage the subscription from the device’s Developer section, it indicates that the subscription will renew today, and as a result, during the crossgrade flow it again shows
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
In SwiftUI, iOS 18+ provides a dedicated Search tab role: Tab(value: .search, role: .search) { Text(This view is intentionally blank) } This displays Search as a separate tab bar item/slot. Is there an official UIKit equivalent for UITabBarController / UITabBarItem? If not, what is Apple’s recommended UIKit approach to achieve the same UX?
Topic:
UI Frameworks
SubTopic:
UIKit
Hello everyone, I’m currently working with the Message Filtering Extension and would really appreciate some clarification around its performance and operational constraints. While the extension is extremely powerful and useful, I’ve found that some important details are either unclear or not well covered in the available documentation. There are two main areas I’m trying to understand better: Machine learning model constraints within the extension In our case, we already have an existing ML model that classifies messages (and are not dependant on Apple's built-in models). We’re evaluating whether and how it can be used inside the extension. Specifically, I’m trying to understand: Are there documented limits on the size of an ML model (e.g., maximum bundle size or model file size in MB)? What are the memory constraints for a model once loaded into memory by the extension? Under what conditions would the system terminate or “kick out” the extension due to memory or performance pressure? Messag
We are developing a standalone AI avatar application for hospital reception kiosks using Mac mini (M2/M4). The app runs on SwiftUI + RealityKit, displays on a 75-inch monitor, and utilizes a USB-connected 4K camera and external sensors (LiDAR/mmWave). We have several technical concerns regarding the transition from iPadOS to macOS. Could you please provide insights on the following? ARKit/Vision Framework on macOS with External Camera On iPadOS, ARKit provides robust Face Tracking. On macOS with an external USB 4K camera: Can we achieve real-time face tracking (expression/gaze/depth) with Vision framework or ARKit comparable to iPadOS performance? Are there any specific limitations for accessing the Neural Engine via Vision framework for real-time 4K video analysis on macOS? Accessing External Hardware (LiDAR/Sensors) in Sandbox We plan to connect external LiDAR and mmWave sensors (e.g., Akara) via USB/Bluetooth. Is it feasible to communicate with these custom drivers/devices within the App
Topic:
Graphics & Games
SubTopic:
RealityKit
I would like it to work like the iOS notes app text editor, where there is a toolbar above the keyboard on which I can click buttons to toggle a numbered list and bullet list where the cursor position is
Topic:
UI Frameworks
SubTopic:
SwiftUI
Hello natanbiley, Thanks for your question and sample code. What are you looking to do in terms of support for toggled bullet and numbered lists, in terms of app experience? Do you mean that when a user types into your TextEditor, the string is automatically converted into list format? Or are you asking for something else? Also, what is the FormattingToolbar in this case? Thank you for your patience, Richard Yeh Developer Technical Support
Topic:
UI Frameworks
SubTopic:
SwiftUI
I think the question remains; where is .safeAreaBar supposed to be placed, when you're using a ScrollView on the page? I'm also using the .top setting. I haven't been able to find some usage example of this. It seems that if we attach the .safeAreaBar onto the scrollview itself, the scrollview content is correctly offset at first, such that the safeareabar contents do not overlap the scrollviews unless scrolled. If we put the safeareabar higher in the hierarchy, the scrollview contents are not offset and we unfortunately get overlap. Would help a ton to get some insight here. As a workaround, perhaps it would work by putting the safeareabar high in the hierarchy (like onto the first view in the SwiftUI view body), and then manually offsetting the scrollview offset somehow. Still need to figure out how to find the correct offset here...
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags:
Question1: Accessing deleted files via bookmark (Specification clarification) Our app saves file URLs as bookmarks, which file that user has selected on Files App or app-created, so to open a file which user has modified previously in the next launch. As a side note, you may want to take a look at this post which describes a longstanding issue which makes bookmark resolution much less reliable than it would be on macOS. When a user deletes a file in Files App (moves a file to Recently Deleted), the app can still resolve the bookmark and access the file for read/write operations. Is this behavior intended? In other words, is it correct that a bookmark can access a file that has been deleted in Files App but not permanently removed? Yes. Bookmarks are a relatively low-level file system construct compared to the Recently Deleted concept Files.app presents. As far as the bookmark system is concerned, it's just another file on disk. Question2: Overwriting a file in Recently Deleted (Potential bug) We noticed that
Topic:
App & System Services
SubTopic:
Core OS
Tags:
I'm sending local push notifications and want to show specific content based on the id of any notification the user opens. I'm able to do this with no issues when the app is already running in the background using the code below. final class AppDelegate: NSObject, UIApplicationDelegate, UNUserNotificationCenterDelegate { let container = AppContainer() func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { let center = UNUserNotificationCenter.current() center.delegate = self return true } func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void) { container.notifications.handleResponse(response) completionHandler() } } However, the delegate never fires if the app was terminated before the user taps the notification. I'm looking for a way to fix this without switching my app lifecycle to UIKit. This is a SwiftUI
Is there an officially supported way for third-party iOS apps to access accelerometer data at sampling rates higher than ~100 Hz? So, my first question here is why you think you need a higher sampling rate? I ask because every developer who's asked this question has done so having gone through the same general development experience: They built an initial motion analysis engine which sort of worked, but had strange/inconsistent results and/or glitches. They increased the update interval and the situation improved marginally, but not completely. They continued increasing the update interval and saw improvements without actually resolving the issue until they hit the limit. Based on that experience, they've decided that the problem is caused by update frequency and if they can JUST get data a little bit faster everything will work fine. The problem here is that, in my experience, that entire analysis was built on the fundamentally false premise that the update frequency was actually the source of the problem. I
Topic:
App & System Services
SubTopic:
Hardware
Upon a customer’s initial subscription, whether with or without an offer, you will receive the SUBSCRIBED notificationType. If a customer is currently in an offer period, their conversion is equivalent to a renewal, thus you would receive the DID_RENEW notificationType. For further reference, I recommend exploring the documentation provided on all the notification types sent and use cases listed at the bottom: https://developer.apple.com/documentation/appstoreservernotifications/notificationtype Additionally, at WWDC24, Alex delivered an informative talk on notifications that may prove beneficial to you. You can access it via the following link: https://developer.apple.com/videos/play/wwdc2024/10062/?time=271
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Thank you for sharing your post. I find it intriguing, but I am unable to replicate the functionality you have described on my own devices. The code works the same in all simulators I have tried. The parent SwiftUI view is a List, which is destroyed when nested view presentations and alerts are involved. While you mentioned that it works correctly on other simulators and devices, I have consistently encountered the same issue when running it on different simulators with the same configuration. I would personally implement a custom mechanism to manage when and how the sheet is presented, potentially using a combination of state flags and conditional views to avoid relying on the immediate modifier behavior or better, do not include inside a List that will be destroyed. I am still very interested in knowing what device and versions of iOS the code: List { VStack { LibraryView(title: “Show view (Loss of state)”) } } works so that I can investigate the reason, in my case, the s
Topic:
UI Frameworks
SubTopic:
SwiftUI