我创建了一个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(上级组织)和上述证书。
- 我将项目中的方案更改为“发布”,并为“正在运行”构建了该方案,在构建过程中收到了钥匙串访问提示,并且签名步骤成功完成
- codesign -vvv -d xyz.app 返回与以上选择均匹配的注册捆绑软件,证书,团队等。
- 我将生成的.app放入.dmg图片中,并通过电子邮件发送给自己
- 我将.dmg下载到另一台Mac上并安装了它
- 我尝试运行.app,但收到以下Gatekeeper消息:
“ XYZ”由于无法识别的开发者而无法打开。 您的安全偏好设置仅允许安装来自App Store和指定开发人员的应用。
如何解决此问题,因此默认情况下,下载的应用程序在Gatekeeper提示符中将具有“打开”按钮。某些应用程序(例如GIMP)即使不是源自App Store也会被正确识别。
我需要解决什么?