Hello,
I have a macOS app built with Flutter’s macOS target (native Xcode project). The app is unsigned (no Developer ID code signing / notarization). The .app bundle looks valid:
CFBundlePackageType = APPL
Unique CFBundleIdentifier
No LSUIElement or LSBackgroundOnly
Executable exists and is runnable
Placed at /Applications/MyApp.app (top-level), runs fine from Finder
However, it does not show up in Launchpad.
What I tried:
Remove quarantine: xattr -dr com.apple.quarantine "/Applications/MyApp.app"
Force Launch Services registration: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f "/Applications/MyApp.app"
Rebuild LS caches: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Reset Launchpad DB and restart Dock: defaults write com.apple.dock ResetLaunchPad -bool true && killall Dock
Verified bundle structure/type: mdls -name kMDItemContentType -name kMDItemKind "/Applications/MyApp.app" → shows com.apple.application-bundle / Application
Questions
Is code signing/notarization required for an app to appear in Launchpad (even if it runs from Finder)?
What additional conditions cause Launchpad to skip an otherwise valid, unsigned .app in /Applications?
Are there deeper Launch Services or Dock database checks I can run to diagnose why this specific app is excluded?
It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits.
Do you know any reason why an app might not appear in Launchpad even though it shows in the Applications folder?
No. But I’ve never had cause to look into this. Creating an app without signing it (or ad hoc signing it) takes you far off the beaten path, and Launchpad is just one of the pitfalls waiting for you there.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"