Bash 代码符号捆绑应用程序,由OSAComile制作

Bash 代码符号捆绑应用程序,由OSAComile制作,bash,firefox,applescript,Bash,Firefox,Applescript,通过编程,我试图在MacOSX上实现这一点:桌面上的一个文件,单击该文件将启动具有特定配置文件的Firefox 我用AppleScript和bash来做这个 手动步骤 打开脚本编辑器 编写一些AppleScript do shell脚本/Applications/Firefox.app/Contents/MacOS/Firefox-ProfileManager&>/dev/null& 保存新的AppleScript>另存为>应用程序包 设置图标 手动操作效果非常好,遵循本教程: 然而,在编程方面

通过编程,我试图在MacOSX上实现这一点:桌面上的一个文件,单击该文件将启动具有特定配置文件的Firefox

我用AppleScript和bash来做这个

手动步骤 打开脚本编辑器 编写一些AppleScript do shell脚本/Applications/Firefox.app/Contents/MacOS/Firefox-ProfileManager&>/dev/null& 保存新的AppleScript>另存为>应用程序包 设置图标 手动操作效果非常好,遵循本教程:

然而,在编程方面,我遇到了一些问题

我成功地创建了该文件,并使用/bin/bash/osacile-将其放在桌面上

方案步骤 编程步骤1-使用桌面上的代码创建script.txt文件

var path_src = OS.Path.join(
    OS.Constants.Path.desktopDir,
    'script.txt'
);
var path_exe = FileUtils.getFile('XREExeF', []).path;
var write_file = OS.File.writeAtomic(
    path_src,
    'do shell script "' + path_exe + ' -P -no-remote &> /dev/null &"'
);
将.txt编译为.app并将其放入桌面代码:

var path_compile = OS.Path.join(OS.Constants.Path.desktopDir,'script.app');
var osacompile = File.initWithPath("/usr/bin/osacompile");
if (MacVersion <= 10.6) {
    osacompile.arguments = ["-o", path_compile, path_src]
} else {
    //for >= 10.7
    osacompile.arguments = [
        "-t",
        "osas",
        "-c",
        "ToyS",
        "-o",
        path_compile,
        path_src
    ]
}
osacompile.run();
但当用户单击它时,会出现以下错误:

无法打开脚本,因为它来自身份不明的开发人员

图片:


我听说这可能是代码签名的?如何对其进行编码签名,以便绕过此错误并开始设置图标?

在谷歌上搜索applescript code sign可以找到大量信息

另一个选项:如果代码要在您的计算机上运行,您只需关闭导致此问题的系统首选项。转到安全和隐私->常规,并选中允许从任何地方下载应用的复选框。当然,要意识到这会完全按照它说的做,所以这是一个可能的安全问题。我用这种方式运行我的电脑,但你可能会有不同的感觉


所以这两种方法都可以解决你的问题。祝你好运。

这将成为我用户的代码。我不能告诉我的所有用户进行此更改。我做了谷歌搜索,他们说要删除com.apple.quarrantine,这对我没有帮助,但我试过了,但没办法弄清楚。我甚至不知道这是否是我的问题。对于10.4 10.5 10.6,我的论点是否正确?还是我把那些论点搞混了。非常感谢你的回复。有没有其他方法可以让脚本在代码签名的情况下运行?我正在为firefox制作一个免费的插件,因此没有资金购买开发者程序。有免费的方法可以对应用程序进行代码签名。通读一些谷歌搜索结果。