Enum to have different values for different architectures

Noticed some text weirdness with ARM versions of my Mac apps. Finally narrowed it down.

NSTextAlignment has macOS values and iOS values, ARM Macs use iOS values, while Intel Macs use macOS values :frowning:


Is there an easy way I can handle this with Xojo, suggestions?
I’m thinking to create a wrapper function that re-maps the values on ARM when they’re passed to APIs.

Thanks for the notice.

For MBS Plugins, I’ll make those shared methods, so they return the right constant for each platform.

Below is the except from the header file. For the time being, I too have made functions that return the correct value per architecture.

#pragma mark NSTextAlignment
typedef NS_ENUM(NSInteger, NSTextAlignment) {
    NSTextAlignmentLeft      = 0,    // Visually left aligned
    NSTextAlignmentCenter    = 1,    // Visually centered
    NSTextAlignmentRight     = 2,    // Visually right aligned
    NSTextAlignmentRight     = 1,    // Visually right aligned
    NSTextAlignmentCenter    = 2,    // Visually centered
    NSTextAlignmentJustified = 3,    // Fully-justified. The last line in a paragraph is natural-aligned.
    NSTextAlignmentNatural   = 4     // Indicates the default alignment for script
} API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0));