-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
macOS: Servo.app (aarch64) reported in system profiler as "iOS" app rather than "Apple Chips" app on Apple Silicon #40025
Description
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:
- Open System Profiler app ('/System/Applications/Utilities/System Information.app')
- Go to Section "Software" -> "Applications"
- 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 -xmlshows thearch_kindisarch_ios. I think these look forCFBundleSupportedPlatformsattribute and if not present default to theioskind forarm64executables.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