Difference between revisions of "Talk:Portal:Mac"

From Lazarus wiki
Jump to navigationJump to search
(→‎To do: Fix typo)
m (→‎Cross-Platform To Do: Wiki op check)
 
(40 intermediate revisions by the same user not shown)
Line 28: Line 28:
 
* <strike>[[macOS SCNetworkReachability API]] * Detect Internet access or not (laz_network_reachable) </strike>
 
* <strike>[[macOS SCNetworkReachability API]] * Detect Internet access or not (laz_network_reachable) </strike>
 
* <strike> [[Mac_Preferences_Read_and_Write#NSUserDefaults|NSUserDefaults]] - serious problems iOS 9  & macOS 10.12/10.13</strike>
 
* <strike> [[Mac_Preferences_Read_and_Write#NSUserDefaults|NSUserDefaults]] - serious problems iOS 9  & macOS 10.12/10.13</strike>
 +
* <strike>[[macOS NSAlert|NSAlert modal dialog or sheet]] attached to a window. See https://developer.apple.com/documentation/appkit/nsalert</strike>
 +
* <strike>[[macOS NSRegularExpression]] article</strike>
 +
* <strike>[[macOS NSString Regular Expressions]] article</strike>
 +
* <strike>Save form state (position and size) using Mac preferences system: [[macOS Form Position Save and Restore‎‎]]</strike>
 +
* <strike>AVPlayer - AVKit and AVFoundation [[macOS Video Player]]</strike>
 +
* <strike>[[macOS Progress Indicators]]</strike>
 +
* <strike>[[macOS_NSURLSession#Downloading_files_with_graphical_user_interface_feedback|Updating the GUI from a non-main thread]] (eg NSURLSession progress etc)</strike>
 +
* <strike>[[macOS NSStatusBar|Adding application status items to the menu bar]]</strike>
 +
* <strike>[[lNet_examples#Lazarus_SMTP_client_example_for_macOS|macOS email client using lNet library]]</strike>
 +
* <strike>[[Synapse#Advanced_SMTP_client|macOS email client using Synapse library]]</strike>
  
 
===In progress===
 
===In progress===
  
 
* [[macOS daemons and agents]] new macOS daemons and agents page - done but:
 
* [[macOS daemons and agents]] new macOS daemons and agents page - done but:
** awaiting code examples: launch daemon boot script; monitor script; login agent to do(?)
+
** 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
 
* [[macOS Energy Efficiency Guide]] - started, in progress
 +
* Add full project source code to SourceForge for all my examples... will take a while.
  
 
===Stalled===
 
===Stalled===
  
 
* UNUserNotificationCenter notification for Big Sur [stalled]
 
* UNUserNotificationCenter notification for Big Sur [stalled]
* AVPlayer - AVKit and AVFoundation Movie Player [stalled]
 
  
 
===To do===
 
===To do===
Line 45: Line 56:
 
* Alain's AudioQueue example
 
* Alain's AudioQueue example
 
* AVSpeechSynthesizer
 
* AVSpeechSynthesizer
* NSFileManager
+
* NSFileManager (mentioned in [[macOS NSURLSession]])
 
* 64 bit Global HotKey (Carbon units needed - see MacPortalToDo.txt)
 
* 64 bit Global HotKey (Carbon units needed - see MacPortalToDo.txt)
 
* Screenshot (see MacPortalToDo.txt)
 
* Screenshot (see MacPortalToDo.txt)
Line 51: Line 62:
 
* [https://developer.apple.com/documentation/security/preventing_insecure_network_connections?language=objc Preventing Insecure Network Connections]  
 
* [https://developer.apple.com/documentation/security/preventing_insecure_network_connections?language=objc Preventing Insecure Network Connections]  
 
** [https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html Cocoa Keys]
 
** [https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html Cocoa Keys]
* NSRegularExpression article
+
* macoS versions and missing features in older versions page (see [[Accessing_macOS_System_Information#Gestalt_Manager|this page section]] for the approach).
* macoS versions and missing features in older versions page (see [[Accessing_macOS_System_Information#Gestalt_Manager|this page section]] for the approach.
+
* Using WKWebView (10.10+) - see [https://forum.lazarus.freepascal.org/index.php/topic,42001 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 <tt>LSCopyAllHandlersForURLScheme(CFSTR("https"))</tt> then <tt>LSCopyApplicationURLsForURL</tt> - 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

Latest revision as of 00:02, 3 May 2022

Light bulb  Note: A list of macOS items, native code techniques etc to document in the Mac Portal

Trev's Mac Portal ToDo List

Done

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

killall cfprefsd && killall Finder

Cross-Platform To Do

  • OpenSSL, LibreSSL, etc