如何正确签名Mac应用程序以进行自我分发?

问题描述 投票:0回答:1

我创建了一个Mac文件上传客户端应用程序,该应用程序基于UDT库,通过UDP协议实现了高性能,可靠的数据传输。

我的设置:

  • MacOS Mojave
  • Xcode 10.3
  • 部署目标:10.10(基于情节提要的表单的最小值)

现在我试图弄清楚如何正确签名,以便最终用户无需执行Gatekeeper覆盖即可运行它。

我在这里:

  • 我有一个付费的Apple Developer帐户,从组织的付费Developer帐户委托给我
  • 我已经分配了角色,使我可以管理应用程序,证书,供应等。>
  • 我在首选项下的Xcode帐户下登录了此帐户。
  • 我已经在帐户下创建了捆绑注册,完全从Xcode复制而来
  • 我从开发计算机的CSR开始创建了Mac分发证书。
  • 我已将证书下载并导入到机器的钥匙串中(列为“ 3rd Party Mac Developer Application:...”)]
  • 我已为此应用创建了一个配置文件,分配了上述证书,配置文件类型为App Store,但我将自己分发该应用程序(是否有更正确的配置类型?]
  • 根据权利,我选择了“自定义网络协议”,这听起来像是对我的应用程序的准确描述。
  • 我已将配置文件导入Xcode,并在项目目标的签名(调试)和签名(发布)下选择了它,它自动填充了Team(上级组织)和上述证书。
  • 我将项目中的方案更改为“ Release”,并为“ Running”构建了该方案,在构建期间收到了钥匙串访问提示,并且签名步骤成功完成了]]
  • codesign -vvv -d xyz.app
  • 返回已注册的软件包,证书,团队等,均与上述选择匹配。
  • 我将生成的.app放入.dmg图片中,并通过电子邮件发送给我自己
  • 我将.dmg下载到另一台Mac上并安装了它
  • 我尝试运行.app,但收到以下Gatekeeper消息:
  • “ XYZ”无法打开,因为它来自身份不明的开发人员。您的安全偏好设置仅允许安装来自App Store和指定开发人员的应用程序。

我该如何解决,因此默认情况下,下载的应用程序在Gatekeeper提示符中将具有“打开”按钮。即使某些应用程序(例如GIMP)并非来自App Store,也可以正确识别。

我需要解决什么?

我创建了一个Mac文件上传客户端应用程序,该应用程序基于UDT库,通过UDP协议实现了高性能,可靠的数据传输。我的设置:MacOS Mojave Xcode 10.3部署...

我不断研究,发现了答案:https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution?language=objc

如果需要的证书,我的类型是开发人员ID,提供的开发人员ID应用程序的类型,这是用于自分发已签名的Mac应用程序的目的。之后,需要将其提交给Apple进行公证,以满足10.14.5+的要求。公证完成后,我可以将导出的应用程序发送给自己,它为我提供了从Internet下载的应用程序的“打开”选项。这是所需的行为。

[我要求帐户持有人通过向其发送CSR来向我颁发开发人员ID证书,因为对于不是原始开发人员帐户持有人的委派用户,开发人员ID证书选项为灰色(管理员角色可能会满意,但是我不是一个人,所以不能说)。

是。

xcode macos certificate code-signing apple-developer
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.