I have written several applications that utilise a few XPC services that I include in each application bundle.
For some unknown reason, one particular application is refusing to communicate with its XPC services. It seems that they don't even get started by launchd. The XPC bundles are properly signed and the main application bundle is fully deployed and signed such that codesign --verify --deep says that the app bundle is valid on disk and satisfies its designated requirement.
I know the XPC services themselves are fine because they work when deployed in other applications.
There is no command line or console output to show an issue.
I guess something, somewhere is not signed but I can't find what.
How can I find out why launchd won't start the services ?
And is there a checklist I can go through to ensure that launchd is happy with the file set up ?
It turns out that the property list for the main application bundle was the source of the problem: I had updated it recently and somehow managed to write an old style ASCII property list - https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/PropertyLists/OldStylePlists/OldStylePLists.html#//apple_ref/doc/uid/20001012-BBCBDBJE
The solution was to generate a new style XML property list.