where we can find documentation about this and other useful flags and
launch arguments?
You can’t. Hence my earlier comment that “These preference keys are not considered API.” If you want that to change, you should file an
enhancement request describing your requirements. Please post your bug number, just for the record.
How is <false/> which seems XML becomes a boolean?
Because:
Modern versions of CF don’t use that exact code, but rather rely on the value being a CFBoolean.
The NSArgumentDomain within NSUserDefaults will only yield a CFBoolean if you use this syntax.
I can’t point you to the exact code for this because I didn’t keep a breadcrumb trail (normally I do that when I’m working on a TSI but in this case I did all that work before myurik2 opened their TSI). Oh, and it’s quite possible that this isn’t part of the CF open source at all.
Apropos that, you wrote:
CF-855.17
That open source version of Core Foundation is
wildly out of date. Consider this:
Code Block % sw_vers |
ProductName: Mac OS X |
ProductVersion: 10.15.7 |
BuildVersion: 19H15 |
% strings CoreFoundation | grep CoreFoundation- |
@(#)PROGRAM:CoreFoundation PROJECT:CoreFoundation-1677.104 |
[The same trick doesn’t work on macOS 11 for… well… reasons, but you get the idea.]
To find the most up-to-date open source Core Foundation, look in the
swift-corelibs-foundation project. But, as always, you have to take this with a grain of salt. Some Apple open source projects, and this is especially true for Darwin and
swift-corelibs-foundation, are not an exact match for the version included in the OS. So it’s fine to read the open source to get a general idea of what’s going on — and I regularly point folks to it here on DevForums — but you have to be sensible about this:
Don’t rely on the OS behaving in exactly the same way as the open source.
The open source exposes a lot of implementation details. Do not encode these implementation details in a shipping product. They can and will change over time (or even between Apple platforms).
Hence my “not considered API” comment above.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"