0

我正在使用开发人员 ID 签名在 Mac App Store 之外分发 Mac 应用程序。以前的事情一直在工作,但在我们的上一个版本中,显然发生了一些变化,这导致 Gatekeeper 在从我们的服务器下载后打开应用程序时拒绝该应用程序。

我们正在使用生产“开发人员 ID 应用程序”证书。据我所知,我们已经严格按照在Mac App Store 之外分发应用程序中的说明进行操作。

令人困惑的部分是,以下推荐用于测试网守一致性的命令都可以正常执行并表明没有任何问题。Xcode 管理器中的验证也毫无怨言地通过了。

$ spctl -a -t exec -vv MyApp.app/
MyApp.app/: accepted
source=Developer ID
origin=Developer ID Application: Company Name (248C748VF9)

$ codesign --verify --deep --verbose MyApp.app/
MyApp.app/: valid on disk
MyApp.app/: satisfies its Designated Requirement

$ /Volumes/Signature\ Check/check-signature MyApp.app/
(c) 2014 Apple Inc.  All rights reserved.
YES

自我们上次构建以来发生了变化的一件事是我们的代码片段被重构到一个新的框架中。

更新:

通过对提交历史的二进制搜索和健康的试错,我将问题隔离到一个提交中,其中一个新的“复制文件”阶段被添加到我们的主应用程序中,以将 XPC 服务移动到正确的位置。XPC 服务已被复制到登录项帮助应用程序中。删除主应用程序中的构建阶段可以解决问题,但不幸的是,主应用程序确实需要 XPC 服务才能正常运行,因此简单地删除此阶段不是一个可行的解决方案。

4

0 回答 0