Does ToothFairy work on Apple Silicon?

โœ… Yes, Full Native Apple Silicon Support as of v2.7.1

May also be known as ToothFairy or Robinlu Mac Tooth-Fairy

๐Ÿ“š Bundle Version History

com.robinlu.mac.Tooth-Fairy

v2.70
๐Ÿ”ถ App has not yet been reported to be native to Apple Silicon
๐Ÿ–ฅ Supported Architectures X86
Full Info Plist
{
  "BuildMachineOSBuild": "18G4032",
  "CFBundleDevelopmentRegion": "en",
  "CFBundleExecutable": "ToothFairy",
  "CFBundleIconFile": "AppIcon",
  "CFBundleIconName": "AppIcon",
  "CFBundleIdentifier": "com.robinlu.mac.Tooth-Fairy",
  "CFBundleInfoDictionaryVersion": "6.0",
  "CFBundleName": "ToothFairy",
  "CFBundlePackageType": "APPL",
  "CFBundleShortVersionString": "2.7",
  "CFBundleSignature": "mtTF",
  "CFBundleSupportedPlatforms": [
    "MacOSX"
  ],
  "CFBundleVersion": "63",
  "DTCompiler": "com.apple.compilers.llvm.clang.1_0",
  "DTPlatformBuild": "11C505",
  "DTPlatformVersion": "GM",
  "DTSDKBuild": "19B90",
  "DTSDKName": "macosx10.15",
  "DTXcode": "1130",
  "DTXcodeBuild": "11C505",
  "LSApplicationCategoryType": "public.app-category.utilities",
  "LSMinimumSystemVersion": "10.11",
  "LSUIElement": false,
  "MDItemKeywords": "bluetooth,airpods,menubar,headset,earpods,beats,earphone,headphones,mouse,keyboard,audio",
  "NSAppleScriptEnabled": true,
  "NSHumanReadableCopyright": "Copyright ยฉ 2002โ€“2020 C-Command Software, LLC. All rights reserved.",
  "NSMainStoryboardFile": "Main",
  "NSPrincipalClass": "NSApplication",
  "NSRequiresAquaSystemAppearance": false,
  "OSAScriptingDefinition": "ToothFairy.sdef"
}
Full Meta Details
{
  "fileSize": 0.4869842529296875,
  "architectures": [
    {
      "bits": "64-bit",
      "fileType": "Demand Paged Executable File",
      "header": {
        "magic": 3489328638,
        "cputype": 7,
        "cpusubtype": 3,
        "filetype": 2,
        "ncmds": 37,
        "sizeofcmds": 5072,
        "flags": [
          "The object file has no undefined references and is executable.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "undefined"
        ],
        "reserved": 0
      },
      "loadCommandsInfo": [
        {
          "description": 4277009103,
          "size": 524291,
          "offset": " 0x0"
        },
        {
          "description": 524291,
          "size": 37,
          "offset": " 0x8"
        },
        {
          "description": "Minimum Version Requirement Command for iPhone",
          "size": 131205,
          "offset": " 0x10"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x18"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x20"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x28"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x60"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1163157343,
          "offset": " 0x68"
        },
        {
          "description": 0,
          "size": 17152,
          "offset": " 0x80"
        },
        {
          "description": 0,
          "size": 17152,
          "offset": " 0x90"
        }
      ],
      "magic": "cffaedfe",
      "offset": "0",
      "processorSubType": 3,
      "processorType": "X86"
    }
  ]
}
v2.7.8
โœ… Yes, Native Apple Silicon Support
๐Ÿ–ฅ Supported Architectures X86, ARM
Full Info Plist
{
  "BuildMachineOSBuild": "21C52",
  "CFBundleDevelopmentRegion": "en",
  "CFBundleExecutable": "ToothFairy",
  "CFBundleIconFile": "AppIcon",
  "CFBundleIconName": "AppIcon",
  "CFBundleIdentifier": "com.robinlu.mac.Tooth-Fairy",
  "CFBundleInfoDictionaryVersion": "6.0",
  "CFBundleName": "ToothFairy",
  "CFBundlePackageType": "APPL",
  "CFBundleShortVersionString": "2.7.8",
  "CFBundleSignature": "mtTF",
  "CFBundleSupportedPlatforms": [
    "MacOSX"
  ],
  "CFBundleVersion": "91",
  "DTCompiler": "com.apple.compilers.llvm.clang.1_0",
  "DTPlatformBuild": "13C100",
  "DTPlatformName": "macosx",
  "DTPlatformVersion": "12.1",
  "DTSDKBuild": "21C46",
  "DTSDKName": "macosx12.1",
  "DTXcode": "1321",
  "DTXcodeBuild": "13C100",
  "LSApplicationCategoryType": "public.app-category.utilities",
  "LSMinimumSystemVersion": "10.11",
  "LSUIElement": false,
  "MDItemKeywords": "bluetooth,airpods,menubar,headset,earpods,beats,earphone,headphones,mouse,keyboard,audio",
  "NSAppleScriptEnabled": true,
  "NSBluetoothAlwaysUsageDescription": "ToothFairy uses Bluetooth to connect and disconnect your devices.",
  "NSHumanReadableCopyright": "Copyright ยฉ 2002โ€“2022 C-Command Software, LLC. All rights reserved.",
  "NSMainStoryboardFile": "Main",
  "NSPrefersDisplaySafeAreaCompatibilityMode": false,
  "NSPrincipalClass": "NSApplication",
  "NSRequiresAquaSystemAppearance": false,
  "OSAScriptingDefinition": "ToothFairy.sdef"
}
Full Meta Details
{
  "fileSize": 0.353668212890625,
  "architectures": [
    {
      "bits": "32-bit",
      "fileType": "Fixed Virtual Memory Shared Library File",
      "header": {
        "magic": 3405691582,
        "cputype": 0,
        "cpusubtype": 16,
        "filetype": 3,
        "ncmds": 1024,
        "sizeofcmds": 175056,
        "flags": [
          "The object file is the output of an incremental link against a base file and can not be link edited again.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "The object file's undefined references are bound by the dynamic linker when loaded."
        ]
      },
      "loadCommandsInfo": [
        {
          "description": 3405691582,
          "size": 2,
          "offset": " 0x0"
        },
        {
          "description": 4103,
          "size": 3,
          "offset": " 0x8"
        },
        {
          "description": 1024,
          "size": 175056,
          "offset": " 0x10"
        },
        {
          "description": "Dynamic Linker Load Command",
          "size": 4108,
          "offset": " 0x18"
        },
        {
          "description": 0,
          "size": 768,
          "offset": " 0x20"
        },
        {
          "description": 174240,
          "size": 14,
          "offset": " 0x28"
        }
      ],
      "magic": "cafebabe",
      "offset": "0",
      "processorSubType": "v7em",
      "processorType": 0
    },
    {
      "bits": "64-bit",
      "fileType": "Demand Paged Executable File",
      "header": {
        "magic": 3489328638,
        "cputype": 7,
        "cpusubtype": 3,
        "filetype": 2,
        "ncmds": 44,
        "sizeofcmds": 5264,
        "flags": [
          "The object file has no undefined references and is executable.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "undefined"
        ],
        "reserved": 0
      },
      "loadCommandsInfo": [
        {
          "description": 4277009103,
          "size": 3,
          "offset": " 0x4000"
        },
        {
          "description": "Symbol segment command",
          "size": 44,
          "offset": " 0x4008"
        },
        {
          "description": "64-bits Encryption Information",
          "size": 131205,
          "offset": " 0x4010"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x4018"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x4020"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x4028"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x4060"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1163157343,
          "offset": " 0x4068"
        },
        {
          "description": 0,
          "size": 256,
          "offset": " 0x4080"
        },
        {
          "description": 0,
          "size": 256,
          "offset": " 0x4090"
        },
        {
          "description": 256,
          "size": 5,
          "offset": " 0x4098"
        },
        {
          "description": "UNIX Thread command",
          "size": 18,
          "offset": " 0x40a0"
        },
        {
          "description": "Sub Framework Load Command",
          "size": 1702125407,
          "offset": " 0x40a8"
        }
      ],
      "magic": "cffaedfe",
      "offset": "4000",
      "processorSubType": 3,
      "processorType": "X86"
    },
    {
      "bits": "64-bit",
      "fileType": "Demand Paged Executable File",
      "header": {
        "magic": 3489328638,
        "cputype": 12,
        "cpusubtype": 0,
        "filetype": 2,
        "ncmds": 45,
        "sizeofcmds": 5168,
        "flags": [
          "The object file has no undefined references and is executable.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "undefined"
        ],
        "reserved": 0
      },
      "loadCommandsInfo": [
        {
          "description": 0,
          "size": 45,
          "offset": " 0x30008"
        },
        {
          "description": "Linker Option Command",
          "size": 131205,
          "offset": " 0x30010"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x30018"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x30020"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x30028"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x30060"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1163157343,
          "offset": " 0x30068"
        },
        {
          "description": 0,
          "size": 256,
          "offset": " 0x30080"
        },
        {
          "description": 0,
          "size": 256,
          "offset": " 0x30090"
        },
        {
          "description": 256,
          "size": 5,
          "offset": " 0x30098"
        },
        {
          "description": "UNIX Thread command",
          "size": 18,
          "offset": " 0x300a0"
        },
        {
          "description": "Sub Framework Load Command",
          "size": 1702125407,
          "offset": " 0x300a8"
        }
      ],
      "magic": "cffaedfe",
      "offset": "30000",
      "processorSubType": "all",
      "processorType": "ARM"
    }
  ]
}
v2.7.2
โœ… Yes, Native Apple Silicon Support
๐Ÿ–ฅ Supported Architectures X86, ARM
Full Info Plist
{
  "BuildMachineOSBuild": "19H114",
  "CFBundleDevelopmentRegion": "en",
  "CFBundleExecutable": "ToothFairy",
  "CFBundleIconFile": "AppIcon",
  "CFBundleIconName": "AppIcon",
  "CFBundleIdentifier": "com.robinlu.mac.Tooth-Fairy",
  "CFBundleInfoDictionaryVersion": "6.0",
  "CFBundleName": "ToothFairy",
  "CFBundlePackageType": "APPL",
  "CFBundleShortVersionString": "2.7.2",
  "CFBundleSignature": "mtTF",
  "CFBundleSupportedPlatforms": [
    "MacOSX"
  ],
  "CFBundleVersion": "70",
  "DTCompiler": "com.apple.compilers.llvm.clang.1_0",
  "DTPlatformBuild": "12C33",
  "DTPlatformName": "macosx",
  "DTPlatformVersion": "11.1",
  "DTSDKBuild": "20C63",
  "DTSDKName": "macosx11.1",
  "DTXcode": "1230",
  "DTXcodeBuild": "12C33",
  "LSApplicationCategoryType": "public.app-category.utilities",
  "LSMinimumSystemVersion": "10.11",
  "LSUIElement": false,
  "MDItemKeywords": "bluetooth,airpods,menubar,headset,earpods,beats,earphone,headphones,mouse,keyboard,audio",
  "NSAppleScriptEnabled": true,
  "NSBluetoothAlwaysUsageDescription": "ToothFairy uses Bluetooth to connect and disconnect your devices.",
  "NSHumanReadableCopyright": "Copyright ยฉ 2002โ€“2021 C-Command Software, LLC. All rights reserved.",
  "NSMainStoryboardFile": "Main",
  "NSPrincipalClass": "NSApplication",
  "NSRequiresAquaSystemAppearance": false,
  "OSAScriptingDefinition": "ToothFairy.sdef"
}
Full Meta Details
{
  "fileSize": 0.9826507568359375,
  "architectures": [
    {
      "bits": "32-bit",
      "fileType": "Fixed Virtual Memory Shared Library File",
      "header": {
        "magic": 3405691582,
        "cputype": 0,
        "cpusubtype": 16,
        "filetype": 3,
        "ncmds": 1024,
        "sizeofcmds": 495216,
        "flags": [
          "The object file is the output of an incremental link against a base file and can not be link edited again.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "The object file's undefined references are bound by the dynamic linker when loaded."
        ]
      },
      "loadCommandsInfo": [
        {
          "description": 3405691582,
          "size": 2,
          "offset": " 0x0"
        },
        {
          "description": 4103,
          "size": 3,
          "offset": " 0x8"
        },
        {
          "description": 1024,
          "size": 495216,
          "offset": " 0x10"
        },
        {
          "description": "Dynamic Linker Load Command",
          "size": 4108,
          "offset": " 0x18"
        },
        {
          "description": 0,
          "size": 2048,
          "offset": " 0x20"
        },
        {
          "description": 506096,
          "size": 14,
          "offset": " 0x28"
        }
      ],
      "magic": "cafebabe",
      "offset": "0",
      "processorSubType": "v7em",
      "processorType": 0
    },
    {
      "bits": "64-bit",
      "fileType": "Demand Paged Executable File",
      "header": {
        "magic": 3489328638,
        "cputype": 7,
        "cpusubtype": 3,
        "filetype": 2,
        "ncmds": 50,
        "sizeofcmds": 5952,
        "flags": [
          "The object file has no undefined references and is executable.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "undefined"
        ],
        "reserved": 0
      },
      "loadCommandsInfo": [
        {
          "description": 4277009103,
          "size": 3,
          "offset": " 0x4000"
        },
        {
          "description": "Symbol segment command",
          "size": 50,
          "offset": " 0x4008"
        },
        {
          "description": "Build Version",
          "size": 131205,
          "offset": " 0x4010"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x4018"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x4020"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x4028"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x4060"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1163157343,
          "offset": " 0x4068"
        },
        {
          "description": 0,
          "size": 15360,
          "offset": " 0x4080"
        },
        {
          "description": 0,
          "size": 15360,
          "offset": " 0x4090"
        },
        {
          "description": 15360,
          "size": 5,
          "offset": " 0x4098"
        },
        {
          "description": "UNIX Thread command",
          "size": 17,
          "offset": " 0x40a0"
        },
        {
          "description": "Routines Load Command",
          "size": 1702125407,
          "offset": " 0x40a8"
        },
        {
          "description": 0,
          "size": 1163157343,
          "offset": " 0x40b8"
        }
      ],
      "magic": "cffaedfe",
      "offset": "4000",
      "processorSubType": 3,
      "processorType": "X86"
    },
    {
      "bits": "64-bit",
      "fileType": "Demand Paged Executable File",
      "header": {
        "magic": 3489328638,
        "cputype": 12,
        "cpusubtype": 0,
        "filetype": 2,
        "ncmds": 51,
        "sizeofcmds": 5944,
        "flags": [
          "The object file has no undefined references and is executable.",
          "The object file is the input for the dynamic linker and can not be staticly link edited again.",
          "undefined"
        ],
        "reserved": 0
      },
      "loadCommandsInfo": [
        {
          "description": 0,
          "size": 51,
          "offset": " 0x80008"
        },
        {
          "description": 51,
          "size": 131205,
          "offset": " 0x80010"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x80018"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x80020"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x80028"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x80060"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1163157343,
          "offset": " 0x80068"
        },
        {
          "description": 0,
          "size": 15360,
          "offset": " 0x80080"
        },
        {
          "description": 0,
          "size": 15360,
          "offset": " 0x80090"
        },
        {
          "description": 15360,
          "size": 5,
          "offset": " 0x80098"
        },
        {
          "description": "UNIX Thread command",
          "size": 18,
          "offset": " 0x800a0"
        },
        {
          "description": "Sub Framework Load Command",
          "size": 1702125407,
          "offset": " 0x800a8"
        },
        {
          "description": 0,
          "size": 1163157343,
          "offset": " 0x800b8"
        },
        {
          "description": 0,
          "size": 21424,
          "offset": " 0x800c8"
        }
      ],
      "magic": "cffaedfe",
      "offset": "80000",
      "processorSubType": "all",
      "processorType": "ARM"
    }
  ]
}