使用osacompile编写的代码签名捆绑应用程序

时间:2014-09-16 01:30:09

标签: bash firefox applescript

以编程方式我尝试在Mac OS X上实现此目的:桌面上的文件在点击时将启动具有特定配置文件的Firefox。

我使用AppleScript和bash执行此操作。

手动步骤

  1. 打开脚本编辑器
  2. 写一些AppleScript(do shell script "/Applications/Firefox.app/Contents/MacOS/firefox -ProfileManager &> /dev/null &"
  3. 保存您的新AppleScript>另存为>应用程序包
  4. 设置图标
  5. 这非常适合手动操作,遵循本教程:Asa Dotzler Blog Firefox Shortcut

    然而,从程序上来说,我遇到了一些问题。

    我成功制作了该文件并将其与/bin/bash/osacompile -一起放在桌面上。

    程序化步骤

    1. 程序化步骤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 &"'
      );
      
    2. 将.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();
      
    3. 但是当用户点击它时会出现此错误:

        

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

      图像:

      Image

      我听说也许可以签名代码?我如何编码签名以便我可以绕过此错误并开始设置图标?

1 个答案:

答案 0 :(得分:0)

简单的谷歌搜索“applescript代码符号”会显示大量信息。

另一种选择:如果要在您的计算机上运行代码,您可以关闭导致此问题的系统首选项。去安全与安保;隐私 - &gt;常规并选中“允许从任何地方下载的应用”复选框。当然要意识到这将完全符合它所说的那样,这是一个可能的安全问题。我以这种方式运行我的电脑,但你可能会有不一样的感受。

因此,任何一种方法都可以解决您的问题。祝你好运。