In macOS 13 there's now the SMAppService
object which can be retrieved for a login item via its loginItem(identifier:)
function. However, the documentation for this function doesn't make sense, it reads in part:
The property list name must correspond to a property list in the calling app’s
Contents/Library/LoginItems
directory
This function doesn't take a property list name, it takes a (presumably bundle) identifier.
Is it safe to assume despite the documentation that the officially designed behavior is actually the same as the now deprecated SMLoginItemSetEnabled(_:_:)
function and that actually there must be a bundle in the calling app'sContents/Library/LoginItems
directory with that bundle identifier? I know I can try this out myself and see what happens, but I've found with Apple it's never a good idea to make assumptions which don't match documented behavior.