我正在签署我的nwjs
应用并使用productbuild
命令将其打包
当我安装应用程序时,它显示在“应用程序”下并且可以正常工作,但它在Finder中的名称仍为nwjs
。如何将其更改为我的应用程序名称?
签名脚本:
identity="3rd Party Mac Developer Application: my comp..."
app="nwjs.app"
rm -f "$app/Icon^M"
rm -r -f "$app/.idea"
echo "### signing libraries"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/libffmpeg.dylib"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Framework.framework/libnode.dylib"
echo "### signing frameworks"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Framework.framework/Versions/A/Helpers/crashpad_handler"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Framework.framework/nwjs Framework"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Framework.framework/Helpers/crashpad_handler"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Helper.app/Contents/MacOS/nwjs Helper"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/64.0.3282.186/nwjs Helper.app/"
echo "### sing osx folder"
codesign --force --verify --sign "$identity" "$app/Contents/MacOS/nwjs"
echo "### signing app"
codesign --force --verify --sign "$identity" "$app"
它没有错误地签名,我可以打开已签名的应用程序,它有效。 打包它:
productbuild --sign "3rd Party Mac Developer Installer: mycomp..." --component "nwjs.app" /Applications --product "nwjs.app/Contents/Info.plist" MyApp.pkg
当我安装生成的pkg时,应用程序显示在“应用程序”下并且运行良好。但是在Finder中它的名字仍然是nwjs,无论我试图改变以下三个info.plists:
Bundle display name
Bundle name
Bundle identifier
在
Contants/Info.plist
Contents/Resources/app.nw//Info.plist
Contents/Versions/57.0.2987.133/nwjs Helper.app/Contents/Info.plist
最后一次更改会导致应用在启动时崩溃。
版本:
nwjs-sdk-v0.28.3-osx-x64
os: mac high Sierra 10.13.3
答案 0 :(得分:2)
首先使用sign脚本(由我写;))你需要改变路径。 必须将Contents / Versions / 64.0.3282.186更改为您拥有的版本的路径。我猜内容/版本/ 57.0.2987.133 /
如果您想更改名称,您可能还需要更改。 Contents / Resources / en.lproj / InfoPlist.strings - CFBundleDisplayName 我删除了它。
Apple没有立刻意识到这一点。要加快速度,您可以转到终端并执行以下命令。 “触摸your_app.app” Apple现在重置此应用程序的已知参数。如果要更改nwjs helper.app的名称,则必须执行以下操作。
使用如下名称向package.json添加产品字符串(重要提示:请勿添加STRING HELPER)
{
"name": "your_app",
"version": "0.0.1",
"main": "index.html",
"window": {
"width": 1150,
"height": 650,
"show_in_taskbar": true
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"product_string": "your_app", //THIS IS WHAT YOU ADD
"dependencies": {
}
}
Contents / Versions / n.n.n.n / nwjs Helper.app/Contents/MacOS/nwjs Helper - 将文件重命名为'your_app Helper'
你可能还需要为... helper.app执行touch命令,但通常你不需要。
有关更多信息,请查看 http://docs.nwjs.io/en/latest/For%20Users/Package%20and%20Distribute/ 部分Mac OS X