Xcode 如何正确签署Mac应用程序进行自我分发?
我创建了一个Mac文件上传客户端应用程序,它基于UDT库通过UDP协议实现了高性能可靠的数据传输 我的设置:Xcode 如何正确签署Mac应用程序进行自我分发?,xcode,macos,certificate,code-signing,apple-developer,Xcode,Macos,Certificate,Code Signing,Apple Developer,我创建了一个Mac文件上传客户端应用程序,它基于UDT库通过UDP协议实现了高性能可靠的数据传输 我的设置: 莫哈韦马科斯酒店 Xcode 10.3 部署目标:10.10(基于故事板的表单最低要求) 现在我正试图弄清楚如何正确地对它进行签名,这样最终用户就可以运行它,而无需进行网守覆盖 这就是我所处的位置: 我有一个付费的苹果开发者账户,由组织付费开发者账户委托给我 我有分配给我的角色,允许我管理应用程序、证书、资源调配等 我是在首选项下的Xcode帐户下登录到此帐户的 我已经在帐户下创建
- 莫哈韦马科斯酒店
- Xcode 10.3
- 部署目标:10.10(基于故事板的表单最低要求)
- 我有一个付费的苹果开发者账户,由组织付费开发者账户委托给我
- 我有分配给我的角色,允许我管理应用程序、证书、资源调配等
- 我是在首选项下的Xcode帐户下登录到此帐户的
- 我已经在帐户下创建了一个bundle注册,完全是从Xcode复制的
- 我已经创建了一个Mac分发证书,从我的开发机器的CSR开始
- 我已下载证书并将其导入我机器的密钥链(列为“第三方Mac开发者应用程序:…”)
- 我已为此应用创建了一个配置文件,分配了上述证书,配置文件类型为app Store,但我将自己分发应用程序(是否有更正确的配置类型?)
- 在“权利”下,我选择了“自定义网络协议”,这听起来像是对我的应用程序的准确描述
- 我已经将配置文件导入到Xcode中,并在项目目标的签名(调试)和签名(发布)下选择它,它会自动填充团队(父组织)和上述证书
- 我将项目中的方案更改为“Release”,并将其构建为“Running”,在构建过程中我得到一个密钥链访问提示,签名步骤成功完成
- codesign-vvv-d xyz.app返回注册的捆绑包、证书、团队等,所有这些都与上述选择相匹配
- 我将生成的.app放入.dmg图像并通过电子邮件发送给自己
- 我在另一台Mac上下载了.dmg并安装了它
- 我尝试运行.app,但收到以下网关守卫消息:
我需要什么来解决这个问题呢?我一直在钻研,我找到了答案: 我需要的类型if证书是Developer ID和provision Developer ID Application的类型,这是用于自分发签名Mac应用程序的类型。 之后需要提交苹果公证,以满足10.14.5+的要求。公证完成后,我可以将导出的应用程序发送给我自己,它为我提供了从互联网下载的应用程序的“开放”选项。这是理想的行为 它要求我请求帐户持有人通过向他们发送CSR向我颁发开发人员ID证书,因为对于不是原始开发人员帐户持有人的授权用户,开发人员ID证书选项变灰(管理员角色可能满足要求,但我不是这样的人,所以不能说) 耶