# 应用与描述文件

 本节介绍如何为 Apple 设备配置受管应用和账户负载。

## 应用管理

 **应用管理**面板包含与应用相关的常规限制以及受管应用列表。

### 常规应用限制

- **允许 App Clip**
- **允许安装应用**
- **允许移除应用**
- **允许自动下载应用**
- **允许隐藏应用**
- **允许锁定应用**
- **允许 App 内购买**
- **允许修改默认浏览器**
- **允许信任企业应用**

### 受管应用

 使用**添加应用**将应用添加到政策。每个受管应用都会显示为一张卡片。您可以展开卡片以编辑其设置，并使用删除操作移除该应用。

- **App Store ID**：受管应用的 App Store 标识符。
- **Bundle ID**：应用包标识符。
- **安装行为**：控制应用必须保持安装，还是可以由用户安装/移除。
- **分配**：许可证类型，由 Cerberus 为每台设备选择：公司设备使用设备许可证，个人 iPhone 和 iPad（用户注册）使用 Managed Apple Account 的用户许可证。该字段无法更改。
- **VPP 许可证**：通过 App Store 安装时使用的 VPP 许可证类型。

 应用选择列表会显示每个应用的可用许可证和总许可证。免费应用会显示**无限制**：Apple 为其提供无限许可证。一个应用只能添加到政策一次：如果应用的 App Store ID 或 Bundle ID 与政策中已有的应用相同，则会被拒绝；保存时列出同一应用两次的政策也会被拒绝。

 应用选择列表会显示您的 Apple Business 资料库中的应用。要添加应用，请在 Apple Business 中打开**Apps &amp; Services** → **Apps &amp; Books** → **App Store**，搜索该应用并点击**View**。对于免费应用，点击**Add**，选择**All current and future**（或**Organizational Units**中与您的 Apps and Books 令牌对应的组织单位），点击**Add**，然后**Review**并确认。对于付费应用，点击其价格，选择**Managed Licenses**作为**License Type**（Cerberus Enterprise 无法使用兑换代码），选择您的 Apps and Books 令牌的**Organizational Unit**，输入**Licenses**数量（每个订单最多 1,000 个），然后**Review**并购买。必须先通过**Settings** → **Payments &amp; Billing** → **Apps &amp; Services** → **Payment Methods**设置付款方式。随后应用会显示在应用选择列表中。

### 个人设备上的应用（用户注册）

 使用用户注册注册的个人 iPhone 和 iPad 没有序列号，因此它们会获得政策中 App Store 应用，并使用设备上登录的 Managed Apple Account 的**用户许可证**。Cerberus 会自行向 Apps and Books 注册该账户并分配许可证，包括免费应用。Managed Apple Accounts 和 Apps and Books 令牌必须属于同一个 Apple Business 组织。付费应用每个账户使用一个许可证，由该账户的所有个人设备共享。

- **正在等待用户许可证**：只有在 Apple 确认许可证后（通常在几分钟内），应用才会发送到设备。设备的**应用程序**面板会显示原因。
- **用户许可证失败**：Apple 无法分配许可证，例如付费应用已无剩余许可证。请在 Apple Business 中添加许可证，然后使用**再次请求**；Cerberus 也会每天自行重试。
- **安装提示**：iOS 会在安装每个应用前询问用户。如果用户取消，应用会显示**正在等待用户批准安装**；**再次请求**会再次显示提示。
- **释放**：从政策中移除应用，或取消注册该账户的最后一台个人设备，都会移除应用并释放其许可证，除非同一账户的另一台已注册设备仍需要它。

 有关详细信息，请参阅[**Apple 账户驱动注册**](https://enterprise.cerberusapp.com/docs/books/8efb1/page/apple-So2 "Apple account-driven enrollment")。

### 受管配置

 受管配置会按照应用供应商的文档说明为应用提供其设置（例如服务器地址或账户名称）。在政策中打开该应用，然后点击**添加受管配置**。它会发送到运行**iOS 或 iPadOS 18.4 或更高版本**的 iPhone 和 iPad，以及运行**macOS 27 或更高版本**的 Mac；目前不会发送到 Apple Vision Pro。应用必须支持受管配置：不读取它的应用会忽略它。应用面板会在应用名称旁边显示键的数量。

- **键**：每一行都有一个键、一个类型和一个值。类型包括文本、整数、十进制数、布尔值、日期、文本列表和整数列表。键区分大小写且必须唯一。**添加键**会添加一行；**移除配置**会移除所有键。
- **变量**：文本和文本列表值可以包含 $EMAIL$、$USERNAME$、$FULLNAME$、$SERIAL$ 和 $UDID$，它们会被替换为每台设备及其用户的值。没有值的变量（例如没有用户的设备上的 $EMAIL$）会留空，系统日志会说明这一点。当用户的详细信息更改时，设备会获得新值；对于从 Google Directory 同步的用户，这些值会在下次更改政策或设备时更新。
- **导入配置**：打开或粘贴应用供应商为 MDM 发布的文件，然后点击**读取**。**AppConfig 规范文件**（specfile.xml）会列出应用支持的每个键及其描述、类型、默认值和允许值：选择要导入的键（具有默认值的键已预先选中），并在导入后填写其他键。如果规范文件属于另一个应用，会出现警告。**属性列表**（整个属性列表或仅其 &lt;dict&gt;）会按原样导入。然后选择是替换当前键还是添加到其中。不支持嵌套字典、数据值以及包含混合或未知类型的列表，它们会被列为已跳过。Apple 不会发布应用的配置键，因此如果供应商的文档中没有该文件，请向他们索取。**复制为 plist**会按设备接收时的原样复制配置，此时变量尚未替换。
- **限制**：每个应用最多 200 个键；键最多 255 个字符；文本值最多 4,096 个字符；列表最多 200 个项目，每个项目最多 1,024 个字符；日期介于 1970 和 9999 之间；每个应用总共 64 KB。
- **不适用于密码**：配置只会发送到为其构建的设备，日志仅显示键名称和类型，但仪表板管理员可以读取这些值，而且设备下载配置的地址会随值变化，因此容易猜测的值（布尔值或小数字）可能会被推断出来。请勿在受管配置中放置密码或其他机密信息。
- **状态**：当设备报告应用未接受其配置时，设备的应用程序面板会在应用旁边显示**配置未接受**。这不会使设备不合规。设备无法下载配置则会使设备不合规。

### 应用选项

 政策中的每个应用（App Store 应用和自定义应用）都有这些选项。**设备默认值**将选择权留给设备。不支持某个选项的设备不会获得该选项；应用仍会安装。

- **自动更新**：App Store 设置，始终或从不。iOS、iPadOS、macOS 和 visionOS 26 或更高版本。对于自定义应用，App Store 设置的行为与“从不”相同。
- **通过蜂窝网络下载**：App Store 设置，始终或从不，用于自动安装和更新。仅适用于运行 iOS 或 iPadOS 26 或更高版本的受监管 iPhone 和 iPad。
- **备份应用数据**：应用数据是否会包含在设备备份中。不适用于 Mac。
- **用户可以隐藏应用**和**用户可以锁定应用**：iOS 和 iPadOS 18.1 或更高版本，在受监管设备上强制执行。不允许锁定也会阻止隐藏。**允许隐藏应用**和**允许锁定应用**限制适用于所有应用。
- **在需要客户 PIN 的 Tap to Pay 交易后锁定设备**：仅限 iPhone。
- **关联域名**：与应用关联的域名（例如用于通用链接或密码自动填充），最多 50 个。请输入纯主机名，例如 www.example.com，不要包含 applinks:、通配符或 ?mode=。不适用于 Mac。
- **直接验证域名**：设备直接检查域名的站点关联文件，而不是通过 Apple 的服务器。仅对无法从互联网访问的内部域名启用此功能。
- **移除**：以**必需**方式安装的应用无法由用户移除。

### Mac App Store 应用

 应用选择列表会显示每个应用的平台（iPhone/iPad、Mac、Apple TV、Vision）；仅适用于 Mac 的应用会显示其 Mac 图标。仅适用于 Mac 的应用在添加时会应用到 Mac。没有 Mac 版本的 App Store 应用不会发送到 Mac：政策会在**适用于**下显示“此应用没有 Mac 版本：不会发送到 Mac”。Mac 会通过其 App Store ID 获取 App Store 应用，因此在 Mac 上 Bundle ID 不同的应用也能正确安装。

### Cerberus Enterprise 应用

 Cerberus 会在每台 iPhone 和 iPad 上安装其 **Cerberus Enterprise** 应用（要求 **iOS 或 iPadOS 18.4 或更高版本**），无论是否有政策。该应用会共享设备位置，并接收通知和实时跟踪请求。它以 **必需** 方式安装，并使用来自 Apps and Books 的设备许可证（个人设备上为用户许可证），因此用户无法删除它。

- **一次性设置**：将免费应用添加到您的资料库一次。在 Apple Business 中，打开**Apps &amp; Services** → **Apps &amp; Books** → **App Store**，搜索 "Cerberus Enterprise"，点击**View**，然后**Add**，选择**All current and future**（位于**Organizational Units**中），点击**Add**，然后**Review**并确认。如果应用显示**Manage**，则表示它已在您的资料库中：打开它并检查其组织单位是否为**All current and future units**。在此之前，仪表板会显示横幅，设备会将应用显示为未安装。请参阅**账户设置**。
- **不在政策中**：该应用无法添加到政策。它会在应用选择列表中被禁用，并会作为自定义应用被拒绝（相同的 Bundle ID）。已列出它的政策在打开时该条目会被移除：保存政策以确认。
- **不安装于**：运行低于 18.4 的 iOS 或 iPadOS 的设备。共享 iPad 支持安装，但应用功能尚未在那里验证。
- **个人设备**：在使用用户注册的 iPhone 和 iPad 上，也会安装该应用，并显示安装提示，且使用 Managed Apple Account 的用户许可证。它会接收来自您组织的消息，并且除非政策开启 **个人设备上的位置和地理围栏** 且用户允许，否则不会访问位置。
- **保持安装**：如果 Apps and Books 令牌过期或应用离开您的资料库，应用会保留在设备上，设备页面会显示 Apps and Books 需要处理。只有在 24 小时后应用中仍不在您的资料库中时，它才会被移除。

### 自定义应用

 自定义应用是您自己的 iPhone 和 iPad 应用（.ipa 文件），不经 App Store 分发。在 Xcode 中，将应用导出为**Enterprise**分发（Apple Developer Enterprise Program：可安装到每台设备）或**Ad Hoc**分发（仅安装到其描述文件中注册的设备）。无法上传 App Store 构建版本。

 点击**添加自定义应用**打开您组织的自定义应用。**上传应用**会添加一个 .ipa 文件（最大 2 GB）。选择一个应用并点击**添加到政策**。列表会显示版本、签名类型、ad hoc 应用描述文件中的设备数量以及描述文件的到期日期。

- **新版本**：上传具有相同 Bundle ID 的应用。它会替换以前的版本，使用该应用的政策的设备会更新该应用。
- **要求**：运行 iOS 17.2 或更高版本的 iPhone 和 iPad。无法安装该应用的设备不会获得它：例如 iPhone 上的仅 iPad 应用、低于应用要求的旧版 iOS、不在 ad hoc 应用描述文件中的设备，或已过期的描述文件。
- **到期**：当描述文件过期时，应用将无法再打开。请在到期日期之前上传使用新描述文件签名的版本。
- **保留的 Bundle ID**：Bundle ID 为 Cerberus Enterprise 应用（com.lsdroid.Cerberus.Enterprise）的自定义应用无法添加到政策，因为 Cerberus 会自行安装该应用。
- **删除**：先将该应用从其政策中移除；随后设备会将其删除。

### Mac 软件包

 自定义应用还接受 Mac 安装包（.pkg 文件）。该安装包必须是使用 **productbuild** 构建的分发包（仅使用 pkgbuild 制作的组件包会被拒绝），并使用 **Developer ID Installer** 证书签名。建议对其进行公证并附加票据（**notarytool** 和 **stapler**）。未签名的安装包、签名后更改过的安装包以及使用其他证书签名的安装包都会被拒绝。

 使用**上传应用**上传 .pkg 文件，并将其添加到政策中：它会显示在**Mac 软件包**下。iPhone 和 iPad 会忽略它。

 运行 **macOS 26 或更高版本**的 Mac（受监管，包括手动注册的 Mac，但不包括用户注册）会以**声明**形式获取该安装包：Mac 会自行下载、安装、重试和更新它，并报告其状态。较旧的 Mac，以及作为受管理应用安装的安装包，会通过 **MDM 命令**获取，适用于任何 macOS 版本。升级到 macOS 26 的 Mac 会自行改用声明；它可能会再次安装每个安装包。当 Mac 迁移到另一个包含相同安装包的政策时，也可能发生同样的情况。

- **新版本**：上传具有相同安装包标识符的安装包。它会替换之前的版本，使用它的政策中的 Mac 会安装新版本。
- **已跳过的 Mac**：macOS 版本低于安装包要求的 Mac，以及对于仅为 Apple silicon 构建的安装包而言的 Intel Mac。设备页面会将该安装包显示为已跳过，并说明原因；之前安装的版本会保留在 Mac 上。
- **安装**：**必需**（默认）会在 Mac 上安装该安装包；**可选**会使该安装包在 Mac 上可用但不安装。macOS 26 不会在“系统设置”或 App Store 中向用户显示可选安装包（已在 macOS 26.3 上测试），因此必须由 Mac 上的应用或脚本安装它们；仅当你已有此类应用或脚本时才选择“可选”。此设置适用于运行 macOS 26 或更高版本的 Mac；较旧的 Mac 始终会安装该安装包。作为受管理应用安装的安装包无法使用此选项。
- **安装包离开政策时移除其文件（macOS 27 或更高版本）**：当安装包从政策中移除时，运行 macOS 27 或更高版本的 Mac 会删除它安装的文件。此选项默认关闭。在较旧的 Mac 上，文件会保留。作为受管理应用安装的安装包无法使用此功能。
- **作为受管理应用安装**：为政策中的某个安装包开启此选项，以将其应用作为受管理应用安装（macOS 11 或更高版本，不适用于用户注册）。随后 macOS 会在安装失败时报告，MDM 可以移除该应用。应用必须直接安装在“应用程序”文件夹中，使用 **Developer ID Application** 证书签名并经过公证；在 macOS 11 到 13 上，安装包必须只包含该应用（不能有其他文件或脚本）。自定义应用会显示哪些安装包符合条件。当无法在 Mac 上应用此选项时，安装包会照常安装在该 Mac 上，设备页面会说明原因。
- 受管理应用的**移除选项**：**安装包从政策中移除时移除应用**（默认开启）和**Mac 离开管理时移除应用**。移除应用还会删除其数据。如果用户已经安装了同一个应用，该副本会变为受管理应用并被一并移除。
- **移除**：MDM 命令无法卸载安装包。对于作为受管理应用安装的安装包，从政策中移除它会移除该应用（当该选项开启时）；它的其他文件和安装包收据会保留。开启**移除安装包文件**的安装包会从运行 macOS 27 或更高版本的 Mac 上移除。其他安装包：从政策中移除它们只会停止新的安装，文件会保留在 Mac 上。被跳过的 Mac（例如在新版本需要更新的 macOS 之后）在安装包仍位于政策中时会保留该应用；此时从政策中移除安装包也会将其移除。请手动移除 Mac 上残留的文件（例如使用安装包自带卸载程序），并运行 `sudo pkgutil --forget <identifier>` 以清除安装包收据。
- **设备上的状态**：Mac 的“应用程序”面板会将政策中的每个安装包显示为排队中、已接受（Mac 已接受该命令）、已下载、已安装（仅适用于包含应用的安装包，且在 Mac 上找到这些应用时）或失败（并显示错误）。macOS 不会报告通过命令发送的安装包的安装情况，因此对于不含应用的安装包，“已下载”是最后的状态。当 macOS 报告应用无法安装或已从 Mac 上移除时，作为受管理应用安装的安装包也会变为“失败”。**重新安装**会再次将安装包发送到 Mac。
- **使用声明时的状态**：以声明形式交付的安装包会显示**声明**标签以及 Mac 报告的状态：排队中、可用（用户尚未安装的可选安装包）、等待用户操作、下载中、安装中、已安装或失败（并说明原因，例如下载或安装失败，或 Mac 拒绝了声明）。**随政策移除文件**标签会标记那些在离开政策时由运行 macOS 27 的 Mac 移除其文件的安装包。**重新安装**仅在失败后出现，用于请求 Mac 重试；当 Mac 拒绝了声明时不会提供。

## 账户

 **账户**面板可让你配置应用于受管理设备的账户。它还包含一个用于账户修改的限制开关。

### 限制

- **允许修改账户**：禁用后，用户无法修改 Apple 账户和互联网账户等账户。

### 添加账户

 使用**添加 Google 账户**或**添加邮件账户**将账户有效负载添加到政策中。每个账户会以卡片形式显示，并带有其配置字段。

### 来自用户的账户凭据

 Google 和邮件账户卡片都提供一个**来自用户的账户凭据**开关。启用后，系统会按用户分别应用账户凭据。禁用后，你需要在政策中输入账户身份。

### Google 账户字段

- **显示名称**：向用户显示的账户名称。
- **Google 电子邮件地址**：用户的电子邮件地址。
- **全名**：用户的全名。

### 邮件账户字段

 邮件账户包括身份字段以及接收/发送服务器配置。主机名为必填项。

- **显示名称**：向用户显示的邮件账户名称。
- **电子邮件地址**：用户的电子邮件地址。
- **全名**：用户的全名。

#### 接收服务器

- **服务器类型**：邮件协议（例如 IMAP 或 POP）。
- **认证方法**：服务器的认证方法。
- **IMAP 路径前缀**：仅当服务器类型为 IMAP 时显示。
- **主机名**：必填。
- **端口**：服务器端口（1–65535）。

#### 发送服务器

- **认证方法**
- **主机名**：必填。
- **端口**：服务器端口（1–65535）。

### S/MIME 选项

 对于邮件账户，你还可以配置 S/MIME 加密和签名行为。

#### 加密

- **S/MIME 加密**
- **身份可由用户覆盖**
- **启用单封邮件开关**
- **可由用户覆盖**

#### 签名

- **S/MIME 签名**
- **身份可由用户覆盖**
- **可由用户覆盖**

<p class="callout info"> 账户和限制选项在仪表板中包含工具提示，用于记录先决条件和支持的操作系统版本。 </p>