macos - XULRunner 30.0 升级

标签 macos firefox xulrunner

我有一个 Mac OS X 应用程序在 XULRunner 18.0 版上运行良好。

现在我正在将 XULRunner 版本从 18.0 升级到 30.0。已按照以下步骤操作:

  1. 下载了 XULRunner 30.0 运行时
  2. 从 XULRunner.Framework 目录中删除内容
  3. 复制了 XULRunner 30.0 Runtime 中下载的最新文件
  4. 现在启动应用程序时,我收到此错误:

Dyld 错误消息: 库未加载:@executable_path/libmozglue.dylib 引用自:/Users/USER/Desktop/*/MyApp.app/Contents/MacOS/xulrunner 原因:找不到图片

最佳答案

不幸的是,XULRunner 没有得到很好的支持,但我能够解决大部分错误并使其正常工作,除了一个问题,我稍后会讨论。

基本上,我能找到的有关如何构建 bundle 的所有说明都已过时。 Mozilla had to restructure the binaries due to changes in the Mac code signing layout requirements 。来自 this bug report经过一些试验和错误,我能够确定布局要求。

运行 Contents/MacOS/xulrunner 时我们可以看到的第一个错误来自命令行的二进制文件。

错误1:

dyld: Library not loaded: @executable_path/libmozglue.dylib

XUL.framework的全部内容内容必须放入应用程序的 Contents/MacOS/目录。因此,要修复此错误,请复制 XUL.framework/Versions/Current 中的所有内容。进入您的应用程序的MacOS目录。

好的,现在二进制文件将运行。但是,这给我们带来了下一个错误,该错误也可以从命令行看到。

错误2:

Couldn't load XPCOM.

此错误不是描述性的,但要解决它,您只需复制 dependentlibs.list文件(现在位于您的 MacOS 目录中)到您的 Contents/Resources/目录。

错误3:

现在,当您通过命令行运行时,您将得到类似以下内容的内容。

Mozilla XULRunner 36.0.4

Usage: xulrunner [OPTIONS]
       xulrunner APP-FILE [APP-OPTIONS...]

OPTIONS
      --app                  specify APP-FILE (optional)
  -h, --help                 show this message
  -v, --version              show version
  --gre-version              print the GRE version string on stdout

APP-FILE
  Application initialization file.

APP-OPTIONS
  Application specific options.

不幸的是,xulrunner不会自动查找 application.ini文件在 Contents/Resources 。为了测试,我们可以通过命令行强制它。像下面这样的东西就可以解决问题:

./MyApp.app/Contents/MacOS/xulrunner MyApp.app/Contents/Resources/application.ini

目前,我目前可以提供的最后一个问题的唯一可能的解决方案是加载一个螺柱,无论是 shell 脚本还是编译的二进制文件,执行运行 application.ini 所需的命令。在xulrunner .

关于macos - XULRunner 30.0 升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740782/

相关文章:

firefox - 如何在 Firefox/Firebug 中美化 JavaScript 和 CSS?

delphi - xul.dll和图像中的异常未在delphi应用程序内的gecko浏览器中显示

browser - 如何从 XUL 浏览器打开新窗口?

macos - 如何在 MacOS 上重启 PostgreSQL 服务器?

swift - 改变 NSView 的颜色

macos - 如何在 Safari 中禁用 DNS 缓存?

html - Firefox 根据操作系统使用不同的内置样式表?

javascript - Firefox-57 : hides audio element when height is supplied through css but works on other browsers and versions

c# - Windows 窗体关闭时出现 “Unresponsive Script"

cocoa - 从 H.264 样本数据中提取图像 (Objective-C/Mac OS X)