I downloaded the sample code given in: https://developer.apple.com/documentation/servicemanagement/updating-your-app-package-installer-to-use-the-new-service-management-api?language=objc
Made necessary changes and I was able to install and test successfully.
Next, I watched: https://developer.apple.com/videos/play/wwdc2023/10266/
I noted the example given at: 14:52 Example launchd plist constraint.
Applied the KeepAlive, RunAtLoad and SpawnConstraints parameters to the sample code downloaded earlier.
I got the log in the console and agent was not allowed:
default 11:35:26.885483+0300 kernel AMFI: Launch Constraint Violation (enforcing), error info: c[5]p[1]m[1]e[0], (Constraint not matched) launching proc[vc: 10 pid: 19439]: /Library/Application Support/X/SMAppServiceSampleCode.app/Contents/Resources/SampleLaunchAgent, launch type 0, failure proc [vc: 10 pid: 19439]: /Library/Application Support/X/SMAppServiceSampleCode.app/Contents/Resources/SampleLaunchAgent
Is SpawnConstraint not applicable for launch agents?
Since launchd is the only parent process that can spawn the launch agent based on the plist, is the example given at 14:52 still valid?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi, I noticed in this page, there is no explanation about who/when/how the method handle_checkbox_toggle is called.
Page:
https://developer.apple.com/documentation/servicemanagement/updating-helper-executables-from-earlier-versions-of-macos?language=objc
Ultimately, how should the app come to know when a app service is allowed or disallowed in System Settings > Login Items ?