为什么OS X 10.7.4要我将我的应用程序移到垃圾箱?

时间:2012-06-23 16:42:05

标签: macos osx-lion

我们有一个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上相同。我们没有改变任何东西,之前它曾经没有错误地运行。

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

2 个答案:

答案 0 :(得分:8)

检查以下说明:

  

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

来自Fuel Collective的Krystof Vasa引用:

  

Apple出于10.7的Gate Keeper功能已经在10.7.4中出现了一些(我未知)的原因。 Gate Keeper应该允许您阻止非AppStore或非签名应用程序启动。 Gate Keeper 设置位于系统偏好设置>安全与安全隐私 - 确保将其设置为任何地方。如果这也没有帮助,这里有一个如何禁用Gate Keeper的指南,无论如何都不应该在10.7.4中运行。

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

sudo spctl --master-disable

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

答案 1 :(得分:4)

有一把较少的"大锤"解决这个问题的方法。我今天遇到了这个问题,它发生的原因是两件事的结合:在应用程序包上设置了隔离扩展属性,签名被打破,输入:

codesign -vv <app bundle>

结果:

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

您可以通过在终端中键入ls -la @来查看扩展属性。它会告诉你&#34; com.apple.quarantine&#34;在文件上。

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

xattr -c <app bundle>

我正在谷歌上搜索,看看我是否能够确切地知道签名是如何被破坏所以我可以解决它(我是制造这个东西的公司的新开发人员)并遇到了这个问题。

完全禁用Gatekeeper不是我推荐的。当Gatekeeper向您发出警告时,您会获得有关它的更多信息,并且可能会使您无法意外地运行您不想运行的内容。