macOS Platform Support
macOS Platform Support
Section titled “macOS Platform Support”macOS-specific implementation details for Toss.
Accessibility Permissions
Section titled “Accessibility Permissions”macOS requires accessibility permissions for clipboard monitoring. The app must:
- Request accessibility permissions on first launch
- Check permission status before accessing clipboard
- Provide instructions if permissions are denied
- Handle permission denied gracefully
Implementation Status: Basic structure created in permissions_service.dart. Full implementation requires native code integration.
Files:
flutter_app/lib/src/core/services/permissions_service.dartflutter_app/macos/Runner/Info.plist(needsNSAccessibilityUsageDescription)
Implementation Details
Section titled “Implementation Details”Requesting Permissions
Section titled “Requesting Permissions”The app should request accessibility permissions on first launch:
// In AppDelegate.swiftlet options = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String: true]let accessEnabled = AXIsProcessTrustedWithOptions(options as CFDictionary)Checking Permissions
Section titled “Checking Permissions”Before accessing clipboard, check permission status:
let accessEnabled = AXIsProcessTrusted()if !accessEnabled { // Show instructions to user}Info.plist Configuration
Section titled “Info.plist Configuration”Add to Info.plist:
<key>NSAccessibilityUsageDescription</key><string>Toss needs accessibility permissions to monitor clipboard changes.</string>System Integration
Section titled “System Integration”- Keychain: Secure storage for device keys
- System Tray: Menu bar integration
- Notifications: User notifications for events
Next Steps
Section titled “Next Steps”- Platform Overview - Return to platform overview
- iOS Implementation - iOS platform details