与其他平台相比,发布适用于 macOS 的 .NET 应用程序需要执行几个额外的步骤,因为 Apple 的安全要求。
先决条件
在发布适用于 macOS 的 .NET 应用程序之前,请确保具有以下各项:
- Apple 开发人员帐户:代码签名和公证所需的帐户。
-
Xcode 命令行工具:提供
codesignaltool和其他实用工具。 - .NET SDK:确保已安装最新的 .NET SDK。
使用 .NET SDK 生成应用
使用 .NET 应用程序发布概述 中所述的方法之一生成应用程序。 可以创建依赖于框架的应用程序或自包含应用程序。
对应用进行签名和公证
使用 Apple 的开发人员文档 对应用程序的原生二进制文件进行签名和公证。 .NET 创建一个本机 apphost 可执行文件作为应用程序的入口点。 此 apphost 必须签名,并且如果应用使用特殊功能,则必须为其分配适当的 权利。
未发布为本机 AOT 的应用的权限
对于未以 本机 AOT 发布的应用, 需要com.apple.security.cs.allow-jit授权。
发布为本机 AOT 的应用的权限
对于作为 本机 AOT 发布的应用,无需任何授权。
用于调试和诊断的可选权限
以下权利支持其他调试和诊断功能:
-
com.apple.security.get-task-allow:需要使用createdump和dotnet dump进行转储收集。 -
com.apple.security.cs.debugger:需要将调试器附加到进程。
警告
未能对应用进行签名和公证可能会导致应用程序在执行受限作时崩溃。