macOS appName 不显示最新的停靠栏和应用程序目录
macOS appName not show the newest on the dock and Application directory
我的旧应用程序名称是 dd
。
现在我们将应用程序重命名为me
并通过更新更改图标。
最新的应用程序由 electron-builder
构建,用于跨平台。
应用程序升级后可以 运行 正确,但应用程序名称在 the dock
和 the Finder Application directory
上没有更改。
Finder 应用程序目录上的图标会立即更改,但在 dock
上必须完成退出并重新启动图标才会更改。
应用名称永远不会更改为新名称。
我已经尝试设置 resource/xx.lproj/InfoPlist.strings
也不起作用。
InfoPlist.strings
"CFBundleDisplayName" = "new app name";
"CFBundleName" = "new app name";
有谁知道这是怎么回事以及如何解决这个问题?
对不起我的英语
终于找到解决方法了
首先在应用程序之后运行 3s 执行以下代码
execSync('mv /Applications/Old.app /Applications/NewName.app')
为什么在运行ning 3s之后(不确定,可能更少或更多)?因为我立即重命名应用程序会崩溃。如果延迟一些时间,它会起作用。
然后我解析~/Library/Preferences/com.apple.dock.plist
以通过bundle-identifier
和file-label
和_CFURLString
获取应用程序索引
然后,在child_process
中执行一些命令行代码
// delete the app on the dock by index
execSync(`plutil -remove persistent-apps.${index} ~/Library/Preferences/com.apple.dock.plist`
execSync(`plutil -insert persistent-apps.${index} -xml "<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/NewAppName.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>" ~/Library/Preferences/com.apple.dock.plist & killall Dock`)
最后
spawn('open', ['-n', '-a', '/Applications/NewAppName.app']);
app.quit();
此解决方案将使屏幕闪烁一次以进行刷新the dock
。
我的旧应用程序名称是 dd
。
现在我们将应用程序重命名为me
并通过更新更改图标。
最新的应用程序由 electron-builder
构建,用于跨平台。
应用程序升级后可以 运行 正确,但应用程序名称在 the dock
和 the Finder Application directory
上没有更改。
Finder 应用程序目录上的图标会立即更改,但在 dock
上必须完成退出并重新启动图标才会更改。
应用名称永远不会更改为新名称。
我已经尝试设置 resource/xx.lproj/InfoPlist.strings
也不起作用。
InfoPlist.strings
"CFBundleDisplayName" = "new app name";
"CFBundleName" = "new app name";
有谁知道这是怎么回事以及如何解决这个问题?
对不起我的英语
终于找到解决方法了
首先在应用程序之后运行 3s 执行以下代码
execSync('mv /Applications/Old.app /Applications/NewName.app')
为什么在运行ning 3s之后(不确定,可能更少或更多)?因为我立即重命名应用程序会崩溃。如果延迟一些时间,它会起作用。
然后我解析~/Library/Preferences/com.apple.dock.plist
以通过bundle-identifier
和file-label
和_CFURLString
然后,在child_process
// delete the app on the dock by index
execSync(`plutil -remove persistent-apps.${index} ~/Library/Preferences/com.apple.dock.plist`
execSync(`plutil -insert persistent-apps.${index} -xml "<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/NewAppName.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>" ~/Library/Preferences/com.apple.dock.plist & killall Dock`)
最后
spawn('open', ['-n', '-a', '/Applications/NewAppName.app']);
app.quit();
此解决方案将使屏幕闪烁一次以进行刷新the dock
。