Yea, I tried reading through both header files. I couldn’t discern which was a 
“better” choice. Neither one clearly stood out as the recommended approach to 
using the macros.

Link

> On Feb 2, 2024, at 23:49, Joshua Root <[email protected]> wrote:
> 
> On 3/2/2024 14:08, Link Dupont wrote:
>>>> On Feb 2, 2024, at 19:04, Joshua Root <[email protected]> wrote:
>>> 
>>> __MAC_OS_X_VERSION_MAX_ALLOWED is from AvailabilityInternal.h, which as its 
>>> name suggests is only intended to be used internally (by Availability.h).
>> I’m not sure that’s the intention of the file AvailabilityInternal.h. I 
>> certainly suggests a private API, but I wonder if it’s more intended to hide 
>> the implementation of Availability.h macros behind a secondary layer of 
>> abstraction. Availability.h defines the various OS version integers, then 
>> includes AvailabilityInternal.h, and then checks if 
>> __<OS_VARIANT>_VERSION_MAX_ALLOWED is defined. I think the 
>> __MAC_OS_X_VERSION_MAX_ALLOWED macro is allowed to be used publicly.
> 
> Well, the brief comment at the top of the file says:
> 
>> Contains:   implementation details of __OSX_AVAILABLE_* macros from 
>> <Availability.h>
> 
> Interpret that as you will, I guess.
> 
> - Josh

Reply via email to