赞
踩
在上篇文章「macOS App 自动化分发 App Store 探索与实践」中讲解了如何通过 Shell 脚本实现 macOS App 自动化分发 App Store。相信,看过的同学都或多或少对 macOS App 构建、分发 App Store 相关的知识都具备了一定的认知。
而对于开发者来说,我们更多情况下可能会选择在网络上分发 App。但是,站在使用者的角度,如果下载的 App 没有经过 Apple Notary Service 公证(Notarizate)过,这在安装的时候系统则会提示“无法打开 xxx App,因为无法验证开发者”:
那么,这个时候的解决方法就是修改系统偏好——>安全性与隐私的设置,选择仍要打开该 App:
虽然,这样可以让使用者安装 App,但是,这并不是真正在解决这个问题的本质,从根上解决应该是让我们要分发到网络上的 App 通过 Apple Notary Service 公证(Notarizate),这样一来他人下载安装我们应用的时候则不会出现无法打开的提示,而是:
所以,今天本文也将围绕「macOS App 公证」展开如何通过手动或者自动化(Shell、工具)实现公证(Notarizate)过程。
首先,我们先了解下如何手动公证?手动公证过程可以通过 Xcode 提供的 GUI 界面操作完成。同样地,首先我们需要构建 .xarchive 文件:
构建完后,Xcode 会弹出窗口让你选择 Distribute App 或 Validate App,这里我们选择前者:
接着,不同于之前分发 App Store,我们需要选择 Developer ID,它表示的是在 App Store 之外分发 App:
然后,我们需要选择 Upload ——> Development Team -> Manually manage signing,此时需要选择 Develop ID 对应的 Distribution 证书和 Provisioning Profile:
最后,则选择 Next ——> Upload,然后则会将我们的 App 上传到 Apple Notary Service 进行公证,通过则会提示我们可以分发 App。
可以看到,使用 Xcode 公证 App 的过程和 App Store 分发大同小异,所以,在通过简单了解使用 Xcode 手动实现公证过程后,接下来,我们来认识下如何自动化实现公证的过程?
自动化公证则指的是我们通过代码实现前面介绍到的使用 GUI 手动实现公证的过程,然后再根据实际情况集成到现有的 CI/CD 过程中。而现在社区中实现的可以对 macOS App 自动化公证的方式主要有这 4 种:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。