Delve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Device Activity monitor extension Not working
anyone has the same problem which is that your device activity extension ain't working even tho all the code work perfectly in the console, I setup it in the right way , tried to make schedule and it did the same exact thing when I tried to create usage threshold. anyone know the reason for this bug? here is my extension code import ManagedSettings import FamilyControls import Foundation import OSLog import UserNotifications class MonitoringExtension: DeviceActivityMonitor { private let defaults = UserDefaults(suiteName: "group.com.William.app") private let logger = Logger(subsystem: "com.William.app", category: "MonitoringExtension") override func eventDidReachThreshold(_ event: DeviceActivityEvent.Name, activity: DeviceActivityName) { let activityRaw = activity.rawValue logger.info("Limite atteinte: \(activityRaw)") scheduleNotification(title: "Limite dépassée", body: "Tu as utilisé trop de temps sur \(activityRaw).") guard let data = defaults?.data(forKey: "\(activityRaw)_selection"), let selection = try? JSONDecoder().decode(FamilyActivitySelection.self, from: data) else { logger.warning("Pas de sélection pour \(activityRaw)") return } let store = ManagedSettingsStore() // ← LE SEUL QUI MARCHE store.shield.applications = selection.applicationTokens if !selection.categoryTokens.isEmpty { store.shield.applicationCategories = .specific(selection.categoryTokens) } logger.info("BLOCAGE ACTIF via ManagedSettingsStore.default") } override func intervalDidEnd(for activity: DeviceActivityName) { super.intervalDidEnd(for: activity) let store = ManagedSettingsStore() store.clearAllSettings() // ← Débloque à minuit logger.info("Restrictions levées à la fin de l'intervalle") } private func scheduleNotification(title: String, body: String) { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]) { granted, _ in guard granted else { return } let content = UNMutableNotificationContent() content.title = title content.body = body let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil) UNUserNotificationCenter.current().add(request) } } }
0
0
335
Nov ’25
iPad widget bug
Widgets on the widget is not responding to the touch properly. This issue is also affecting within the home screen widget in a way that the widget switches to light mode by itself even though I am in dark mode. Additionally, lock screen does not to respond once the lock screen widget has been edited. Is anyone else having this issue?
0
0
192
Mar ’25
Presumably its not possible to use declared age range in an extension?
Its possible to add the Declared Age Range entitlement to extensions, in particular I'm looking at a Notification Service Extension. However the DAR requestAgeRange() API takes a view controller as a parameter. Presumably therefore its not possible for a notification service extension to obtain the age range itself directly? Yes the extension can read it from shared groups if the app reads it and set it into the group. However the scenario I'm thinking of is this: App runs and gets the age range. Sets its functionality accordingly. The server sends pushes which are intercepted by the notification service extension, the extension adjusts its functionality based upon what the app wrote to shared groups The user changes the age range setting, but the app doesn't run. The extension keeps receiving pushes but its functionality is now out of sync with the age range as its not able to obtain it directly
0
0
93
Oct ’25
Weatherkit - visibility units and height
reposting this in case it got missed the first time around here https://developer.apple.com/forums/thread/775900 We had a question that came up when we comparing data from WeatherKit to other sources - WeatherKit visibility was well beyond the boundaries we had historically, even from Darksky. That raises two questions: is visibility actually in meters like the docs say? is this visibility at ground level, 500ft, or some other height? We were seeing visibility numbers of up to 40 miles (after converting the number the API sent to miles), where all of our other sources are usually within 10 miles
0
0
66
Apr ’25
Secure Integration of Apple Calendar (iCalendar) in a Third-Party App
Hi everyone, We’re integrating Apple Calendar (iCalendar) into our Codapet app but haven’t found any official Apple APIs for event management and synchronisation. Currently, we use CalDAV with Apple ID authentication and an app-specific password (ASP), storing the ASP encrypted in our database and decrypting it for each API call. We’re looking for a more secure and recommended approach to this integration. Does Apple provide dedicated APIs for calendar sync, or is there a better alternative to avoid sending the ASP with every request? Any guidance or best practices would be greatly appreciated! Thanks!
0
0
165
Mar ’25
CarKeyErrorCode in the CarKey framework
I have a question regarding CarKeyErrorCode in the CarKey framework. I plan to use the following methods in the CarKey framework: CarKeyRemoteControl.start CarKeyRemoteControlSession.vehicleReports CarKeyRemoteControlSession.perform RemoteKeylessEntryAction.ExecutionRequest.results Each of the above methods throws an Error. Are these different from CarKeyErrorCode? Is CarKeyErrorCode only used in CarKeyRemoteControlSessionDelegate.remoteControlSession(_:didInvalidateWithError:)? If methods 1-4 do not return CarKeyErrorCode, what kind of Error do they return? Thank you in advance.
0
0
84
Oct ’25
How to reset system window private picker alert with Screen Capture Kit
Hi, I would like to reset system window private picker alert with ScreenCapture kit. i can reset the ScreenCapture permission with tccutil reset ScreenCapture. but it does not reset the system window private picker alert. i tried deleting the application directory from container and it does not help. the system window private picker alert uses the old approval i gave and it does not prompt a new alert. How can i starta with fresh screencapture kit settings for an app in testing? Thanks
0
0
128
Jun ’25
CarKeyErrorCode in the CarKey framework
I have a question regarding CarKeyErrorCode in the CarKey framework. I plan to use the following methods in the CarKey framework: CarKeyRemoteControl.start(delegate: ) RemoteKeylessEntryAction) Each of the above methods throws an Error. Are these different from CarKeyErrorCode? Is CarKeyErrorCode only used in CarKeyRemoteControlSessionDelegate.remoteControlSession(_:didInvalidateWithError:)? If methods 1-4 do not return CarKeyErrorCode, what kind of Error do they return? Thank you in advance.
1
0
210
Oct ’25
[Proposal] Sense & Store – Intelligent App Suggestions from Safari (with On-Device AI)
Hello everyone, I’d like to propose Sense & Store — a seamless integration between Safari and the App Store, powered by on-device AI, designed to understand what users are reading, searching, or selecting in Safari, and suggest relevant apps that match their current context or intention. 🔍 Key Idea: “Sense” the user’s need through intelligent analysis of web content, then “Store” — offer the most relevant app, either already installed or available in the App Store. 🌟 Core Features: • AI-powered context detection directly inside Safari • Real-time app suggestions based on user intent • Smart overlays when selecting text or data (e.g., phone numbers, emails, tools) • Privacy-first: All AI runs on-device (Apple Neural Engine) • Instant App Launch or Installation via StoreKit ✅ Examples: • Reading an article on productivity? → Suggests Notion or Things. • Looking up meditation tips? → Recommends Calm or Headspace. • Selecting a phone number? → Offers CRM or spam blocker apps. • Exploring code samples? → Suggests Pythonista or developer tools. 🔒 Privacy & Performance: • 100% on-device intelligence (no data sent to servers) • Follows Apple’s privacy framework • Works with SafariKit + StoreKit + CoreML ⸻ I’m happy to provide a full prototype roadmap and technical architecture. Feedback and collaboration are welcome! Would love to hear your thoughts — especially from developers who build for Safari, App Clips, or work with CoreML. Thanks! Jose Luiz Horta Barbosa Maurity Cruz - Apple lover...
1
0
123
Jun ’25
Tricky behavior of attribute names in CSSearchQuery, can't find documentation
I am wanting to not only surface my content in the system-level Spotlight search results but also to utilize the same index for my in-app search screen. The very few examples or tutorials I could find all craft a CSSearchQuery string using just the "title" attribute. I can't figure out where to look to understand how to search across other attributes. My most pressing need is to be able to perform a CSSearchQuery looking for a search term in the .htmlContentData attribute. If I search for this term in the system search field it returns results, so I know it's being indexed. However when I use a search query (in my app) like htmlContentData == "someSearchTerm" I get zero results. This frustration has led to some more general questions like: How do you know what attribute names are available to use in the search query? Is it just a string literal that's exactly the same as the CSSearchableItemAttributeSet property in Swift? e.g. property .htmlContentData is referred to as "htmlContentData" in the query string? Also, is there any way to just search across all attributes with CSSearchQuery? Obviously using the system Spotlight search (from Home Screen) you don't have to specify if you're searching the title or htmlContentData, it just finds it in either. Yet for CSSearchQuery I have to know up-front which fields I want to look in?
2
0
998
Oct ’25
Alarms scheduled using AlarmKit is not reliable
The alarms that I am scheduling using alarmKit is not reliable at all, especially in beta 8 (Used to have this issue in previous betas, But they were inconsistent). The alarm fires anywhere after 5 mins to 45 mins from the actual scheduled time. I'll share the relevant code block here in case if it is me who is doing something wrong. This code block doesn't throw any errors and I am also able to see the scheduled alarms when I query them. The issue is with alarms not firing on the specified time let alert = AlarmPresentation.Alert( title: "Wakey Wakey!", stopButton: .init(text: "stop", textColor: .red, systemImageName: "stop.fill") ) let presentation = AlarmPresentation(alert: alert) let attributes = AlarmAttributes<CountDownAttribute>( presentation: presentation, metadata: .init(), tintColor: .orange ) let schedule = Alarm.Schedule.fixed(alarmTime) let config = AlarmManager.AlarmConfiguration( schedule: schedule, attributes: attributes ) let id = UUID() do { let alarm = try await AlarmManager.shared.schedule(id: id, configuration: config) print("Alarm set successfully for \(alarmTime) - \(alarm)") } catch { print("Failed to schedule alarm: \(error)") }
3
0
219
Sep ’25
Critical Technical Issue: App Update Rendering iPhones Inoperative on iOS 16 Versions
We appreciate your suggestion to use the Apple Developer Forums. However, we must respectfully request further escalation of this issue beyond the forums for several critical reasons: Severity and Scope: This is not a general development discussion topic. We are facing a massive, reproducible performance issue on iOS 16 that renders devices unresponsive, requiring factory resets or DFU restores. This goes far beyond typical app bugs and points to a potential systemic issue in the OS's image handling. Insufficiency of Forum Support: While the forums are a valuable resource for community advice, they cannot provide the official, in-depth technical diagnosis from Apple engineers that this situation demands. Our users' devices are being bricked by an app update that passed App Review, and we require clarity on the root cause to prevent further damage and restore user trust. Code-Level Support Eligibility: As members of the Apple Developer Program, we believe our issue falls under the purview of Code-Level Support, as described on the Apple Developer website 9. Our problem involves "building or running software" and requires expertise in Apple's frameworks and hardware-level image rendering APIs. We request that our case be forwarded to that specialized team. To reiterate the core problem: Our update introduced 1024x1026 JPEG assets into the Asset Catalog. On iOS 16, this causes severe overheating, freezing, and device unresponsiveness. Replacing them with PNGs completely resolves the issue. This suggests a potentially serious regression in iOS 16's JPEG decoding or memory management pipeline. We prepared to provide a sample project that demonstrates the issue if required. Our case number is 102678393572. We urgently need to understand why this happens at the OS level to ensure our app is safe and to contribute to the stability of the iOS platform. Please escalate this case to the appropriate technical team for a detailed investigation. Sincerely,
5
0
148
Oct ’25
UV Index hourly forecast instability
I pull an hourly UV index forecast in my app via WeatherKit, but I’ve noticed it flips back and forth between two "stable" forecasts throughout the day, as if the data source is switching between providers, as a result giving a sense of instability in the presented forecast. Is there any way to lock or specify a single forecast source for greater consistency? I have a feature that notifies users when the UV index crosses a set threshold, but these repeated “back-and-forth” changes trigger multiple alerts that feel spammy and unreliable. Any advice or best practices for handling this would be greatly appreciated.
1
0
148
Jun ’25
Language detection
I have prepared a NSSpellServer spelling and grammar checker for Slovenian proofing in macOS. My proofing service gets used when I explicitly set keyboard spelling language to "Slovenian (Besana)" (my proofing tool). When I set keyboard language to Automatic by Language, system does the language detection. Since it has limited support for Slovenian language, it doesn't recognize the text as Slovenian and never asks my proofing service to check the spelling. It does consult my proofing service for spelling suggestions and when it does, I see the language parameter there is set to anything but Slovenian. Is it possible to install own language detector to macOS? Or, place some language dictionary files somewhere, the system could use to extend language detection to new languages?
1
0
109
Sep ’25
How is Security Delay still so broken?
I'm sitting at my house and trying to sign my test device out of my apple ID so I can sign into a Sandbox user, but now I have an hour to kill because of this terribly broken "security" feature that thinks it's in an unfamiliar location, despite being at the only location it's ever known. Looks like I'll just be disabling this feature all together. Especially as a device with Developer Mode enabled, which gets reset regularly, there should be additional options here. Come on!
0
0
64
Apr ’25