Skip to content

macOS: Servo.app (aarch64) reported in system profiler as "iOS" app rather than "Apple Chips" app on Apple Silicon #40025

@sierkb

Description

@sierkb

Describe the bug:
Servo.app (aarch64) on macOS reported in system profiler as "iOS" app (resp. "arch_ios") rather than "Apple Chips" (resp. "arch_arm") app on an Apple Silicon System.

To Reproduce:

  1. Open System Profiler app ('/System/Applications/Utilities/System Information.app')
  2. Go to Section "Software" -> "Applications"
  3. Select row of Servo app in column "Application Name" and have a look look at column "Kind"

Alternatively, via Shell/Terminal.app:
% system_profiler SPApplicationsDataType -xml | grep Servo -A 3 -B 2
or resp.
% system_profiler SPApplicationsDataType -xml | grep Servo -A 3 -B 2 | head -n 5 | grep -A 1 arch_kind

Expected Behavior:
Servo app is shown as "Apple Chips" resp. "arch_arm"
Actual Behavior:
Servo app is shown as "iOS" resp. "arch_ios"

Proposed simple fix/solution:

Add a CFBundleSupportedPlatforms key with MacOSX as its only platform to the app's Info.plist file:

<key>CFBundleSupportedPlatforms</key>
<array>
    <string>MacOSX</string>
</array>

The behavior does only occur on macOS aarch64 binaries, not on Intel or Universal build binaries. See also issuecomment-820653677 on microsoft/vscode#121169 (comment):

Its just an issue with which attribute the storage info queries to decide the kind, the output of system_profiler SPApplicationsDataType -xml shows the arch_kind is arch_ios. I think these look for CFBundleSupportedPlatforms attribute and if not present default to the ios kind for arm64 executables.

Given the universal and intel labels show up correctly, and considering the output of other apple silicon apps in the image posted.

Additional context
See also discussions/fixes around this issue on:

LibreOffice Bug 144200: LibreOffice 7.2 for ARM on Apple Silicon claims its an iOS application
https://bugs.documentfoundation.org/show_bug.cgi?id=144200
LibreOffice Commit: Add CFBundleSupportedPlatforms key with MacOSX as its only platform
https://git.libreoffice.org/core/+/562a40f453caa003187ff28c7798647d9e0b4ded%5E%21

Microsoft issue #157551: VS Code Apple Silicon build is identified as an iOS app in macOS system info
microsoft/vscode#157551

Microsoft issue #121169, issuecomment 820653677: M1 VSCode binary can be run on iOS?
microsoft/vscode#121169 (comment)

FYI, additionally, the same issue filed (and fixed to some extent) on:
GIMP: https://gitlab.gnome.org/GNOME/gimp/-/issues/14665
Zed: zed-industries/zed#36037
Inkscape: https://gitlab.com/inkscape/inbox/-/issues/12560
GitHub Desktop: desktop/desktop#20881
Python: python/cpython#137673
Signal: signalapp/Signal-Desktop#7449
Chromium: https://issues.chromium.org/issues/438135972

BTW: Apple's own macOS apps and most third party apps contain that key in their Info.plist, so, it can't be wrong or invalid and is there for a reason, although not or poorly documented by Apple.

Platform:
System:
% uname -m
arm64

% machine
arm64e

% /usr/bin/sw_vers
ProductName: macOS
ProductVersion: 26.0.1
BuildVersion: 25A362

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-untriagedNew issues that haven't been triaged yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions