构建和发布为 macOS 应用
打开 macos 文件夹中的 Runner.xcworkspace 工程项目,若要在命令行中这样做就切换到工程的文件夹下运行下面的命令:
在 Xcode 项目导航栏中选择 Runner,然后在设置侧栏中选择 Runner 目标。
在标识部分,将 Version(版本) 更新为要发布的版本号。
在标识部分,将 Build identifier(构建标识) 更新为在 App Store Connect 上可以跟踪此生成的唯一生成串。每次上传都需要一个唯一的构建标识。
最后,创建一个构建归档并将其上传到 App Store Connect:
打开 Xcode 并选择 Product > Archive,打开上个步骤生成的归档文件;
点击 Validate App 按钮。如果报告了任何问题,请尝试解决并再次构建。在上传归档之前,可以重用相同的构建 ID。
成功验证归档后,点击 Distribute App。你可以在 App Store Connect 上的应用程序详细信息页的活动标签下查看构建状态。
你应该会在 30 分钟内收到一封邮件。告知你的构建已经过验证,可以在 TestFlight 上发布给测试人员。此时,你可以选择在 TestFlight 上发布,或者继续将应用程序发布到应用程序商店。
使用 Codemagic 命令行工具创建一个构建归档
下面的步骤,我们会介绍在 Flutter 应用的工程目录下执行 Flutter 构建命令和 Codemagic 命令行工具,创建一个构建归档并将其上传至 App Store Connect。
安装 Codemagic 命令行工具:
你需要生成一个具有 App Manager 访问权限的 App Store Connect API 密钥,以方便对 App Store Connect 进行自动化操作。为了使后续的命令更简洁,请设置下面的环境变量:发行者 ID、密钥 ID、API 密钥文件:
你需要导出或者创建 Mac App Distribution 和 Mac Installer Distribution 证书,以便与执行代码签名以及打包构建归档。
之后,你可以让命令行工具自动创建新的 Mac App Distribution 和 Mac Installer Distribution 证书,每个新的证书都可以使用相同的私钥。
构建和发布为 macOS 应用
打开 macos 文件夹中的 Runner.xcworkspace 工程项目,若要在命令行中这样做就切换到工程的文件夹下运行下面的命令:
在 Xcode 项目导航栏中选择 Runner,然后在设置侧栏中选择 Runner 目标。
在标识部分,将 Version(版本) 更新为要发布的版本号。
在标识部分,将 Build identifier(构建标识) 更新为在 构建和发布为 macOS 应用 App Store Connect 上可以跟踪此生成的唯一生成串。每次上传都需要一个唯一的构建标识。
最后,创建一个构建归档并将其上传到 App Store Connect:
打开 Xcode 并选择 Product > Archive,打开上个步骤生成的归档文件;
点击 Validate App 按钮。如果报告了任何问题,请尝试解决并再次构建。在上传归档之前,可以重用相同的构建 ID。
成功验证归档后,点击 Distribute App。你可以在 App Store Connect 上的应用程序详细信息页的活动标签下查看构建状态。
你应该会在 30 分钟内收到一封邮件。告知你的构建已经过验证,可以在 TestFlight 上发布给测试人员。此时,你可以选择在 TestFlight 上发布,或者继续将应用程序发布到应用程序商店。
使用 Codemagic 命令行工具创建一个构建归档
下面的步骤,我们会介绍在 Flutter 应用的工程目录下执行 Flutter 构建命令和 Codemagic 命令行工具,创建一个构建归档并将其上传至 App Store Connect。
安装 Codemagic 命令行工具:
你需要生成一个具有 App Manager 访问权限的 App Store Connect API 密钥,以方便对 App Store Connect 进行自动化操作。为了使后续的命令更简洁,请设置下面的环境变量:发行者 ID、密钥 ID、API 密钥文件:
你需要导出或者创建 Mac App Distribution 和 Mac Installer Distribution 证书,以便与执行代码签名以及打包构建归档。
之后,你可以让命令行工具自动创建新的 Mac App Distribution 和 Mac Installer Distribution 证书,每个新的证书都可以使用相同的私钥。
在 Mac 上安全地打开 App
如果您是从互联网或直接从开发者那里下载并安装的 App,macOS 仍会保护您的 Mac。当您安装来自 App Store 外部的 Mac App、插件和安装器软件包时,macOS 会检查开发者 ID 签名,以确认软件来自获得认可的开发者并且没有遭到改动。默认情况下,macOS Catalina 及更高版本还要求对软件进行公证,因此能够确保您在 Mac 上运行的软件不包含已知的恶意软件。首次打开下载的软件之前,macOS 会先征求您的批准,以确保您没有被误导运行您不希望安装的软件。
运行未经签名和公证的软件可能会使您的电脑和个人信息受到恶意软件的侵害,从而损害您的 Mac 或泄露您的隐私。
下面所示的警告信息只是一些示例,您可能会看到与之类似但未显示在本文中的信息。不管您选择安装任何软件,只要 Mac 针对这个软件显示了提醒,就一定要谨慎。
查看 Mac 上的 App 安全性设置
默认情况下,Mac 的安全和隐私偏好设置会设置为允许安装来自 App Store 和被认可开发者的 构建和发布为 macOS 应用 App。为提高安全性,您可以选择仅允许安装来自 App Store 的 App。
在“系统偏好设置”中,点按“安全性与隐私”,然后点按“通用”。点按锁形图标,并输入您的密码以进行更改。在“构建和发布为 macOS 应用 允许从以下位置下载的 App”标题下面选择“App Store”。
打开经过开发者签名或经过公证的 App
如果您的 Mac 设置为允许安装来自 App Store 和被认可开发者的 App,则第一次启动新 App 时,Mac 会询问您是否确定要打开这个 App。
App 经过 Apple 公证意味着,Apple 检查了这个 App 是否有恶意软件,但未检测到任何恶意软件。
如果您看到警告信息并且无法安装 App
如果您已将 Mac 设置为仅允许安装来自 App Store 的 App,但您尝试安装其他来源的 App,则 Mac 会提示无法打开这个 App,因为它不是从 App Store 下载的*。
如果您的 Mac 设置为允许安装来自 App Store 和被认可开发者的 App,但您尝试安装未经被认可开发者签名且(在 macOS Catalina 及更高版本中)未经 Apple 公证的 App,则您也会看到关于无法打开 App 的警告。
如果您看到这个警告,则表示这个 App 没有经过公证,并且 Apple 无法扫描这个 App 来查找是否存在已知的恶意软件。
您可能需要在 App Store 中查找更新版本的 App 或查找替代 App。
如果 macOS 检测到恶意 App
如果 macOS 检测到软件包含恶意内容,或它的授权因某种原因被撤销,Mac 将通知您,App 将对您的电脑造成伤害。您应该将这个 App 移到废纸篓,并选中“将恶意软件报告给 Apple 以保护其他用户”。
如果您想要打开尚未经过公证或由身份不明的开发者开发的 App
运行未经签名和公证的软件可能会使您的电脑和个人信息受到恶意软件的侵害,从而损害您的 Mac 或泄露您的隐私。如果您确定要安装的 App 来自于可信来源,并且未遭篡改,则可以临时忽略 Mac 安全性设置以打开这个 App。
现在,这个 App 会作为安全性设置例外项目存储在系统中,以后您可以像使用任何经过授权的 App 一样,连按两次来打开这个 App。
“门禁”可进行在线检查,以验证某个 App 是不是包含已知恶意软件,以及开发者的签名证书是否已被撤销。我们从未将这些检查所获得的数据与有关 Apple 用户或他们设备的信息整合到一起。我们不会使用这些检查所获得的数据来了解各个用户在他们设备上启动或运行的内容。
公证流程会使用可应对服务器故障的加密连接来检查这个 App 是否包含已知恶意软件。
这些安全检查从未收集用户的 Apple ID 或设备身份。为了进一步保护隐私,我们已停止记录与开发者 ID 证书检查相关联的 IP 地址,并将确保从日志中移除所有收集到的 IP 地址。
- 新增一种加密协议来检查开发者 ID 证书是否被撤销
- 提供针对服务器故障的强大保护功能
- 新增一个偏好设置,让用户可以选择不使用这些安全保护机制
* 如果系统提示您在“访达”中打开 App,并且您确定即使出现警告仍要打开它,您可以按住 Control 键点按这个 App,从菜单中选取“打开”,然后在出现的对话框中点按“打开”。输入您的管理员名称和密码以打开这个 App。
有关非 Apple 制造的产品或非 Apple 控制或测试的独立网站的信息仅供参考,不代表 Apple 的任何建议或保证。Apple 对于第三方网站或产品的选择、性能或使用不承担任何责任。Apple 对于第三方网站的准确性和可靠性不作任何担保。联系供应商以了解其他信息。
将开发的 macOS app 打包为精美的 dmg
所以我们也需要一个这样的背景图,自己设计就好了,说明意思就 OK,十里使用 sketch 设计了一个简陋的背景图( png 格式),也放在了桌面,名为 dmg.png: