macos - DMG 是否需要经过公证才能在 Catalina 上通过 Gatekeeper

标签 macos cocoa xcode10

我将我的 Mac 操作系统更新到 Catalina beta 版本,并在卸载 DMG 时收到 Gatekeeper 警告,提示为“MyApp.app 无法打开,因为苹果无法检查它是否存在恶意内容”。但 Catalina beta 3 发布后情况并非如此.DMG 能够在没有任何警告的情况下安装。但不能仅仅依赖这一观察,因为我在更新到 beta 3 之前重置了网守以修复它。

DMG 是否需要经过 Apple 公证,还是只需对应用程序进行公证,然后从同一个遗嘱中创建 DMG 即可?

最佳答案

“必需”? – 仅基于“文档”,如此明确可能具有挑战性......但是,已发现有效的流程是:

  1. 对应用进行公证,您可以通过 Xcode 执行此操作
  2. 构建包含经过公证的应用程序的 DMG。此 DMG 必须经过签名,具体取决于您构建 DMG 的方式,您的工具可能直接支持此操作,或者您可能需要使用 codesign 在命令行中执行此操作作为额外步骤。
  3. 使用命令行 xcrun altool 上传、公证和装订您的 DMG。对于此过程,请阅读 Customizing the Notarization Workflow .

生成的 DMG 应通过所有 GateKeeper 检查。

HTH

关于macos - DMG 是否需要经过公证才能在 Catalina 上通过 Gatekeeper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58169485/

相关文章:

macos - 如何在 Mac OS X 上使用 cocoa 更改卷名称

cocoa - 如何使用安全 URL 将内容下载到 NSData 中?

ios - Xcode 10 中没有用于开发/临时/企业的导出选项

xcode - 生成 Core Data 子类后如何修复 Xcode 10 错误 'Multiple commands produce..'

swift - 没有在 swift 4 中获取用户当前位置

macos - 找不到 Mac X 框架内核

c++ - 从 C/C++ 播放声音的最简单方法

iphone - Xcode 5 中的代码签名问题

swift - 为什么 View 中的所有图层最初都设置为零?

objective-c - 如何检查一个 NSInteger 是否大于另一个 NSInteger?