【问题标题】:OS X bundle for Common Lisp program用于 Common Lisp 程序的 OS X 捆绑包
【发布时间】:2013-04-11 10:04:36
【问题描述】:

所以我用 Common Lisp 编写了一个程序,现在让它在 OSX 中运行。我有一个“unix 可执行文件”,它是在使用 :executable t 转储图像时创建的。

我的问题始于如何将程序放在扩展坞上(我最终创建了可执行文件的别名并将其附加到垃圾箱所在的“堆栈”区域)。但是,每当我单击别名时,它首先启动终端,然后终端调用可执行文件。

所以我的问题是如何让它在不调用 CLI 的情况下直接启动?

【问题讨论】:

  • 好的,所以我找到了一个似乎可以从这里工作的解决方案:stackoverflow.com/questions/116657/…。但是我现在有一个不同的问题,.app 文件中的语言环境设置没有设置为 UTF-8,而是设置为 ASCII。有人知道怎么改吗?

标签: macos lisp bundle common-lisp


【解决方案1】:

好的,所以在尝试了几件事之后,我得出的结论是,我在上面找到的解决方案虽然让我创建了可以从 OSX 的 Finder 调用的 .app 包,但要么不完整,要么我无法不知道如何让我的系统读取我手动创建的info.plist,我将LSEnvironment 中的语言设置为UTF-8。 XCode 不会打开文件,说它已损坏,尽管我只是复制了一个现有文件并编辑了条目。

所以我最后只写了一个脚本来调用我的程序:

#!/bin/zsh
open -a ~/bin/locker

然后我使用Platypus 从脚本创建了一个.app 包,它就可以工作了!我仍然必须将LSEnvironment 中的语言设置为 UTF-8,这是用 XCode 完成的,这次它不兼容,之前的(手动创建的)info.plist 文件是用 Emacs 编写的。

【讨论】:

    【解决方案2】:

    很高兴您解决了主要问题。 关于本地化问题,如果您通过终端运行应用程序会发生什么 并在前面加上 LANG=en_US.UTF-8?

    如需更通用的解决方案,请查看以下两个链接:cocoabuildermactipsandtricks

    【讨论】:

    • 通过终端运行没问题,这就是我之前没有注意到这个问题的原因。我会查看链接谢谢。
    猜你喜欢
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    相关资源
    最近更新 更多