Talk:Portal:Mac
From Lazarus wiki
Jump to navigationJump to search
Note: A list of macOS items, native code techniques etc to document in the Mac Portal
Trev's Mac Portal ToDo List
Done
The open command (man open) for external applications, documents, urls etcDrag and drop files on form exampleBouncing application dock icons exampleGet macOS default application namemacOS file associations (see macOS_tips.txt)Implement NSSound delegate for macOS NSSoundFinish off System Sound Services, eg completion handler, error msgs for macOS Play Alert SoundHow to hide the dock when starting an application (macOS_tips.txt)AVMidiPlayer (MacPortalToDo.txt)NSBundle paths (apart from Resource)NSProcessInfoFinish the code and description for macOS NSURLConnection.macOS NSURLSession started; system-provided delegates & completion handler example done. Custom delegates done.Example of using macOS Gestures for a trackpadmacOS App NapClarify unloading of dynamic library to macOS Dynamic LibrariesNSApplication Delegates - done for macOS App NapmacOS Application Dock Menu to do ...Protected Resources: https://developer.apple.com/documentation/bundleresources/information_property_list/protected_resourcesmacOS Drawers examples done.Cocoa About BoxesmacOS SCNetworkReachability API * Detect Internet access or not (laz_network_reachable)NSUserDefaults - serious problems iOS 9 & macOS 10.12/10.13NSAlert modal dialog or sheet attached to a window. See https://developer.apple.com/documentation/appkit/nsalertmacOS NSRegularExpression articlemacOS NSString Regular Expressions articleSave form state (position and size) using Mac preferences system: macOS Form Position Save and RestoreAVPlayer - AVKit and AVFoundation macOS Video PlayermacOS Progress IndicatorsUpdating the GUI from a non-main thread (eg NSURLSession progress etc)Adding application status items to the menu barmacOS email client using lNet librarymacOS email client using Synapse library
In progress
- macOS daemons and agents new macOS daemons and agents page - done but:
- awaiting code examples: boot script; monitor script; login agent to do(?)
- system-wide launch daemons - done (still need launch_activate_socket() for servers)
- macOS Energy Efficiency Guide - started, in progress
- Add full project source code to SourceForge for all my examples... will take a while.
Stalled
- UNUserNotificationCenter notification for Big Sur [stalled]
To do
- Retrieving file attributes
- Alain's AudioQueue example
- AVSpeechSynthesizer
- NSFileManager (mentioned in macOS NSURLSession)
- 64 bit Global HotKey (Carbon units needed - see MacPortalToDo.txt)
- Screenshot (see MacPortalToDo.txt)
- File System Events + packages/univint/src/FSEvents.pas
- Preventing Insecure Network Connections
- macoS versions and missing features in older versions page (see this page section for the approach).
- Using WKWebView (10.10+) - see this forum thread
- Logging in macOS: https://developer.apple.com/documentation/os/logging
- String assignment post 2019 (find it and add to Tips) ???
- Detect "best" web browser - up to 10.15 LSCopyAllHandlersForURLScheme(CFSTR("https")) then LSCopyApplicationURLsForURL - see LSInfo.pas
- Distribute via app store https://developer.apple.com/forums/thread/128166
- To reload the plist file manually (avoid cached copy), use defaults read <filename>.plist to read the new plist values or maybe
killall cfprefsd && killall Finder
Cross-Platform To Do
- OpenSSL, LibreSSL, etc