8

我们有一个适用于 OS X 的应用程序,我们通过我们自己的网站分发它,它捆绑在首选项窗格中,并带有 3 个守护程序。从 10.7.4 开始,其中一个守护进程不再运行,OS X 表示:

YZ 打不开。你应该把它移到废纸篓。

控制台对我不是很有帮助,但提供了以下错误消息:

23.06.12 18:22:15,284 com.apple.launchd.peruser.501: 
([0x0-0x176176].com.bananaglue.control.helper[1902]) 
Exited: Killed: 9

在 OS X 10.8 上相同。我们没有改变任何东西,它以前运行时没有错误。

任何提示如何解决该问题?

4

2 回答 2

9

检查以下说明:

该应用程序的授权已被撤销。尽管此应用程序由已识别的开发人员签名,但此应用程序的证书已被吊销。它可能有问题。该应用程序无法打开。

Fuel Collective的Krystof Vasa引用:

Apple 出于某些(我不知道)原因在 10.7.4 中启用了 10.8 的 Gate Keeper 功能。Gate Keeper 应该让您阻止非 AppStore 或未签名的应用程序启动。Gate Keeper设置位于System Preferences > Security & Privacy - 确保设置为Anywhere。如果这也没有帮助,这里有一个指南如何禁用 Gate Keeper,无论如何都不应该在 10.7.4 中运行。

通过运行以下命令禁用 GateKeeper:

sudo spctl --master-disable

也许您可以联系 Krystof Vasa 并询问他们是如何解决问题的。

于 2012-06-23T17:43:53.860 回答
4

解决此问题的“大锤”方法较少。我今天遇到了这个问题,它的发生是由于两件事的结合:在应用程序包上设置了隔离扩展属性,并且签名被破坏,因此键入:

codesign -vv <app bundle>

结果是:

<app bundle>: code has no resources but signature indicates they must be present

您可以通过在终端中键入 ls -la@ 来查看扩展属性。它会在文件中显示“com.apple.quarantine”。

您可以使用以下终端命令删除所有扩展文件属性,而不是禁用 Gatekeeper:

xattr -c <app bundle>

我正在谷歌搜索,看看我是否能准确地弄清楚签名是如何被破坏的,以便我可以修复它(我是制造这个东西的公司的新开发人员)并遇到了这个问题。

Disabling Gatekeeper altogether is not something I'd recommend. When Gatekeeper warns you about something, you get additional information about it and its possible that it could save you from accidentally running something you don't want to run.

于 2016-07-21T15:56:39.120 回答