Does Exercise work on Apple Silicon?

โœ… Yes, Native Apple Silicon Support reported as of v1.3.1

May also be known as Exercise, Dashui Mac KeyboardExercise, or ไธญ่‹ฑๆ–‡ๆ‰“ๅญ—้€š

๐Ÿ“š Bundle Version History

com.dashui.mac.KeyboardExercise

v1.3.1
โœ… Yes, Native Apple Silicon Support
๐Ÿ–ฅ Supported Architectures X86, ARM
Full Info Plist
{
  "BuildMachineOSBuild": "20C69",
  "CFBundleDevelopmentRegion": "zh_CN",
  "CFBundleDisplayName": "ไธญ่‹ฑๆ–‡ๆ‰“ๅญ—้€š",
  "CFBundleExecutable": "Exercise",
  "CFBundleIconFile": "AppIcon",
  "CFBundleIconName": "AppIcon",
  "CFBundleIdentifier": "com.dashui.mac.KeyboardExercise",
  "CFBundleInfoDictionaryVersion": "6.0",
  "CFBundleName": "Exercise",
  "CFBundlePackageType": "APPL",
  "CFBundleShortVersionString": "1.3.1",
  "CFBundleSupportedPlatforms": [
    "MacOSX"
  ],
  "CFBundleVersion": "1.3.1",
  "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.education",
  "LSMinimumSystemVersion": "11.1",
  "NSMainNibFile": "MainMenu",
  "NSPrincipalClass": "NSApplication"
}
Full Meta Details
{
  "fileSize": 0.58123779296875,
  "architectures": [
    {
      "bits": "32-bit",
      "fileType": "Fixed Virtual Memory Shared Library File",
      "header": {
        "magic": 3405691582,
        "cputype": 0,
        "cpusubtype": 16,
        "filetype": 3,
        "ncmds": 1024,
        "sizeofcmds": 298480,
        "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": 298480,
          "offset": " 0x10"
        },
        {
          "description": "Dynamic Linker Load Command",
          "size": 4108,
          "offset": " 0x18"
        },
        {
          "description": 0,
          "size": 1280,
          "offset": " 0x20"
        },
        {
          "description": 281792,
          "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": 26,
        "sizeofcmds": 3560,
        "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": 26,
          "offset": " 0x4008"
        },
        {
          "description": "64-bits Routines Command",
          "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"
        }
      ],
      "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": 26,
        "sizeofcmds": 3640,
        "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": 26,
          "offset": " 0x50008"
        },
        {
          "description": "64-bits Routines Command",
          "size": 131205,
          "offset": " 0x50010"
        },
        {
          "description": 131205,
          "size": 25,
          "offset": " 0x50018"
        },
        {
          "description": "64-bits Segment Load Command",
          "size": 1095786335,
          "offset": " 0x50020"
        },
        {
          "description": 1095786335,
          "size": 20306,
          "offset": " 0x50028"
        },
        {
          "description": 0,
          "size": 25,
          "offset": " 0x50060"
        }
      ],
      "magic": "cffaedfe",
      "offset": "50000",
      "processorSubType": "all",
      "processorType": "ARM"
    }
  ]
}
Report Update