apple-system-integration

Integrate iOS and macOS apps with EventKit, UserNotifications, App Intents, background tasks, and widgets.

Updated Jun 17, 2026
One-click install
npx skills add https://github.com/Yar177/appleNativeSkills --skill apple-system-integration-yar177
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: apple-system-integration
Source: https://github.com/Yar177/appleNativeSkills/tree/main/apple-system-integration
Command: npx skills add https://github.com/Yar177/appleNativeSkills --skill apple-system-integration-yar177

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Connecting an Apple app to system services like calendars, reminders, notifications, Siri/Shortcuts, background execution, and widgets involves fragmented APIs, strict permission rules, and Info.plist requirements that cause crashes or silent failures when misconfigured. This Skill provides permission-first, async/await-native guidance current through iOS 18 and macOS 15. ## Core Features & Use Cases - EventKit Integration: Read and write calendar events and reminders with iOS 17 write-only vs full-access authorization, recurrence rules, and change notifications. - Local & Push Notifications: Schedule UNCalendarNotificationTrigger and UNTimeIntervalNotificationTrigger alerts with stable identifiers, actions, categories, and foreground delegate handling. - App Intents & Background Execution: Expose actions to Siri and Shortcuts with AppIntent and AppEntity, and run BGTaskScheduler app-refresh or processing tasks with proper registration and expiration handling. - Use Case: You are building a task manager that syncs deadlines to the user's calendar, fires a 5pm daily reminder, exposes an "Add Task" Siri shortcut, refreshes data in the background, and shows the next task in a Home Screen widget. ## Quick Start Use the apple-system-integration skill to add a repeating local notification and a Siri shortcut for adding tasks in my SwiftUI app.

Frequently Asked Questions about apple-system-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I schedule a local notification in Swift?

Use UNUserNotificationCenter to request authorization, build UNMutableNotificationContent, and attach a UNCalendarNotificationTrigger for wall-clock times or UNTimeIntervalNotificationTrigger for delays. Use a stable identifier so re-scheduling replaces the request instead of duplicating it.

How do I add events to the iOS calendar with EventKit?

Create an EKEventStore, request write-only access with requestWriteOnlyAccessToEvents for add-only features, then build an EKEvent with title, dates, and calendar, and save it with store.save. Add the matching NSCalendars usage string to Info.plist first.

What is the difference between App Intents and SiriKit?

App Intents is the modern framework for exposing actions to Siri, Shortcuts, Spotlight, and widgets without requiring a Siri entitlement. New Siri and Shortcuts work should use AppIntent and AppShortcutsProvider instead of the legacy Intents framework.

Why is my iOS background task not running?

Background tasks fail when the identifier is missing from BGTaskSchedulerPermittedIdentifiers in Info.plist, register is not called before launch finishes, or the handler omits expirationHandler and setTaskCompleted. Tasks are also best-effort and system-throttled, so timing is never guaranteed.

Can a widget read my app's data directly?

No, widgets run in a separate process and cannot access the app's private container. Share data through an App Group using UserDefaults(suiteName:), a shared file container, or a SwiftData store placed in the group container.

How many local notifications can an iOS app schedule?

iOS caps each app at 64 pending local notification requests. Schedule a rolling window of upcoming reminders and reconcile against pendingNotificationRequests rather than adding hundreds of requests at once.