Post

Replies

Boosts

Views

Activity

Reply to Managing Safari Extensions in macOS Sequoia
For the record, Apple's support web pages are also broken when it comes to Safari Extensions. Go to https://support.apple.com/en-gb/guide/deployment/welcome/web Type Safari Extensions in the search field and run the search. Click the link 'Safari extensions management declarative configuration for Apple devices'. => You're back to the Apple Platform Deployment home page. :-(
Sep ’24
Reply to [installd/PackageKit] Known issue with trashed sandbox?
moving the installed files from the temporary staging area to the permanent location Do you mean moving the extracted payload files from /Library/InstallerSandboxes/A/B/C to /Applications for instance? Isn't this performed by 'shove'? In the case I described, the problem happens before the extraction of the payload files. It happens when the .pkg metadata (Distribution for instance) is about to be extracted. A step performed by installd IIRC.
Feb ’23
Reply to DNS Proxy Provider vs DNS Proxy Provider vs DNS Settings
DNS flows created by the first proxy are seen by the second. The gotcha here is that there’s no way to control the order in which the proxies are loaded. It looks to me that the random order is only one of the issues. Let's imagine a solution is found to fix the loading order. Those DNS flows created by the fist proxy can be DNS-over-HTTPS or DNS-over-TLS flows and none of these matches the description of the flows provided to a DNS proxy provider: "Each flow corresponds to a socket opened by an app to UDP port 53 or TCP port 53.". So, the second proxy provider would not see the DNS flows created by the first proxy. If we accumulate the order randomness and the fact that the classic UDP flows may not be seen at all by the second DNS proxy provider, I don't think this can be considered as working correctly. Am I missing something? Ref. https://developer.apple.com/documentation/networkextension/nednsproxyprovider?language=objc
Feb ’23
Reply to [SMAppService] Is there any useful debug log provided by the SMAppService APIs?
Feedback IDs: FB11875368 - deprecated constants being used FB11873325 - registerAndReturnError: weird prototype and incorrect documentation FB11873316 - registerAndReturnError: incorrect documentation FB11873303 - missing information in online documentation FB11873295 - documentation is scary when it comes to updated plist or items. It also looks like, from what I'm observing, that the register and unregister APIs do no behave as documented. In the headers, it is written that when trying to register an already registered item or unregistering an already unregistered item, an error will be returned but the returned BOOL is YES and the out NSError * is nil. If the service is already registered, this API will return error kSMErrorAlreadyRegistered If the service is already unregistered, this API will return error kSMErrorJobNotFound Side note: it looks like that the forum code is not ready for FB# greater than 9999999 when it creates the helpful link.
Dec ’22
Reply to [SMAppService] Is there any useful debug log provided by the SMAppService APIs?
Thank you very much for the detailed answer. I will check on my side if it's just the registering call that is missing. Regarding the status value, I'm apparently not the only one that is mislead because the documentation clearly states that this means there is an error: Both inline and online documentations: SMAppServiceNotFound An error occurred and no such service could be found While I'm looking into this new framework, I must confess that I find the documentation to be rather: confusing with important pieces of information being available in the inline documentation but not, AFAIK, in the online documentation. e.g the requirement for applications to be notarized to embed LaunchDaemons. incoherent with the returned values, whether a value is actually returned or not. e.g. the registerAndReturnError: method where the inline documentation states that true and false are returned, or where both the inline and online documentation state that CoreFoundation enum values are returned by this method whereas these are just possible error codes of the NSError * out parameter. confusing when it comes to the case where an embedded LaunchAgent or LaunchDaemon, or their corresponding PropertyList are updated. This is a part where a project example would provide some clarification. From the way it looks so far, the documentation seems to suggest that the version management of embedded agents or daemons could be worse than the embedded System Extensions' one and could make the whole thing unusable. I'm also surprised by the method prototypes for register and unregister which, unless I'm mistaken, do not follow the Cocoa pattern and are strongly suggesting that a NSError * is being returned. I'm surprised that there are no recommendations in the documentation regarding the POSIX permissions for the property list or embedded launch agents/daemons considering that these are usual show stoppers for the legacy agents or daemons. I'm disappointed that there are no Cocoa error domain string or error code values and that it is required to use CoreFoundation values. I filed a few Feedback assistant tickets about this.
Dec ’22
Reply to Endpoint Security Event: ES_EVENT_TYPE_NOTIFY_BTM_LAUNCH_ITEM_ADD is ...broken?
BTW, is there any plan to provide documentation for this event and the new Ventura events? This could be interesting to know whether there is a bug or this is the "designed" behavior. The online documentation for the new event types is currently: not helpful as there is not the beginning of basic Discussion section. buggy: the new event types are listed separately as constants. Ref. https://developer.apple.com/documentation/endpointsecurity/es_event_type_t/es_event_type_notify_btm_launch_item_add
Dec ’22