Open
Description
Be able to detect the package slack@4.44.65
from an .app
directory (e.g. /Applications/Slack.app/
). These directories tend to have a Info.plist
file to discover the main package (probably from CFBundleName
/CFBundleDisplayName
/CFBundleExecutable
and CFBundleVersion
/CFBundleShortVersionString
).
Example Info.plist file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>Slack</string>
<key>CFBundleExecutable</key>
<string>Slack</string>
<key>CFBundleIconFile</key>
<string>electron.icns</string>
<key>CFBundleIdentifier</key>
<string>com.tinyspeck.slackmacgap</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Slack</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>4.44.65</string>
<key>CFBundleVersion</key>
<string>444000065</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTSDKBuild</key>
<string>23F73</string>
<key>DTSDKName</key>
<string>macosx14.5</string>
<key>DTXcode</key>
<string>1540</string>
<key>DTXcodeBuild</key>
<string>15F31d</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.business</string>
<key>LSEnvironment</key>
<dict>
<key>MallocNanoZone</key>
<string>0</string>
</dict>
<key>LSMinimumSystemVersion</key>
<string>11.0</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app needs access to Bluetooth</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This app needs access to Bluetooth</string>
<key>NSCameraUsageDescription</key>
<string>This app requires camera access to make video calls from your Slack workspaces.</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app requires microphone access to make video calls from your Slack workspaces.</string>
<key>NSPrefersDisplaySafeAreaCompatibilityMode</key>
<false/>
<key>NSPrincipalClass</key>
<string>AtomApplication</string>
<key>NSQuitAlwaysKeepsWindows</key>
<false/>
<key>NSRequiresAquaSystemAppearance</key>
<false/>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>ElectronTeamID</key>
<string>BQR82RBBHL</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>slacktoken</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>slack-key.icns</string>
<key>CFBundleTypeName</key>
<string>Slack token</string>
<key>CFBundleTypeRole</key>
<string>Shell</string>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
<key>CFBundleSignature</key>
<string>????</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>slack</string>
</array>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Slack</string>
<key>CFBundleURLSchemes</key>
<array>
<string>slack</string>
</array>
</dict>
</array>
<key>NSHumanReadableCopyright</key>
<string>©2025 Slack Technologies LLC, a Salesforce company. All rights reserved.</string>
<key>NSDownloadsFolderUsageDescription</key>
<string>This app saves downloaded files to your Downloads folder.</string>
<key>ElectronAsarIntegrity</key>
<dict>
<key>Resources/app.asar</key>
<dict>
<key>algorithm</key>
<string>SHA256</string>
<key>hash</key>
<string>c93e3c00799011e85ed7386fe8aa24c17766acf0e192ea7cda2b44e17eb3c8f3</string>
</dict>
<key>Resources/app-x64.asar</key>
<dict>
<key>algorithm</key>
<string>SHA256</string>
<key>hash</key>
<string>36ce51975b9a7acd05928d7d1fbd486eabc7abd053e8a003837ba7df869e75a5</string>
</dict>
<key>Resources/app-arm64.asar</key>
<dict>
<key>algorithm</key>
<string>SHA256</string>
<key>hash</key>
<string>4a0295f3fec08d3387395fe9984e6f432e4cf3911487bb1dcc8d20af1eda6358</string>
</dict>
</dict>
</dict>
</plist>
Additional context:
Peeled off as work from #4006.
Metadata
Metadata
Assignees
Type
Projects
Status