Improve MDM assignment of Apps and Books
System & Services 进阶 19m

改进通过 MDM 分配 App 和图书

Improve MDM assignment of Apps and Books

2021年6月10日

在 Apple 官方观看视频

一句话判断

如果你还在为”通过 MDM 分配的 App 为什么用户看不到”而抓狂,这场 Session 直接给了你排查手册——Apple 终于把 App 分配过程中的各种边缘情况和错误处理讲清楚了。

这场 Session 讲了什么

Session 聚焦于通过 MDM(Mobile Device Management)向设备和用户分配 App 与图书的改进。涵盖 Apple Business Manager 和 Apple School Manager 中的批量购买(Volume Purchase)流程更新、新的分配方式、以及常见失败场景的排查方法。

过去 MDM 分配 App 有几个让人头疼的问题:分配后设备上不显示、用户切换 Apple ID 后 App 消失、自定义 B2B App 的分发链路复杂。iOS 15 和 macOS Monterey 对这些痛点做了针对性改进。特别是”基于设备的分配”(Device-based Assignment)变得更加可靠——App 不再依赖用户的 Apple ID,直接绑定到设备序列号。对于共享 iPad 场景,这意味着学生或员工不需要登录个人 Apple ID 就能使用分配的 App。

值得深挖的点

Revocable vs Non-revocable 分配的取舍

MDM 可以选择可撤销(revocable)或不可撤销(non-revocable)两种分配模式。可撤销分配让你在不需要时回收 license 并重新分配给其他设备,适合设备数量浮动较大的场景。但有一个陷阱:如果用户已经下载了 App,撤销后 App 不会立刻从设备上消失,而是在下次 MDM sync 时才处理。不可撤销分配则是永久性的,license 一旦分配就绑定了。对于长期使用的设备,不可撤销减少了管理开销,但浪费 license 的风险更高。

自定义 B2B App 的分发改进

通过 Apple Business Manager 分发的自定义 B2B App 之前有一个限制:MDM 只能通过 VPP(Volume Purchase Program)链接分配,且需要企业在 ABM 中预先购买。今年 Apple 放开了这个限制——开发者可以直接将 B2B App 关联到企业,企业通过 MDM 免费分配给员工,不需要走购买流程。这对企业内部工具的分发是重大利好。

代码片段

<!-- 通过 MDM 安装 App 的命令示例 -->
<!-- 使用设备分配模式,不依赖用户 Apple ID -->
<dict>
    <key>RequestType</key>
    <string>InstallApplication</string>
    <key>iTunesStoreID</key>
    <integer>1234567890</integer>
    <key>ManagementFlags</key>
    <integer>0</integer>
    <key>ChangeManagementState</key>
    <string>Managed</string>
    <key>PurchaseMethod</key>
    <string>DeviceAssignment</string>
</dict>
<!-- 查询 App 安装状态的 MDM 命令 -->
<dict>
    <key>RequestType</key>
    <string>ManagedApplicationList</string>
    <key>Identifiers</key>
    <array>
        <string>com.example.enterprise-app</string>
    </array>
</dict>
# 通过 App 和图书(Apps and Books)API 管理批量购买
# 查询某个 App 的可用 license 数量
GET https://vpp.itunes.apple.com/mdm/v2/assets
  ?adamId=1234567890
  &includedAttributes=pricingInfo

# 响应中包含可用 license 和已分配数量
# 分配给设备时使用 deviceSerialNumber 而非 userId

最佳实践

  • 新部署优先使用 device-based assignment,避免用户 Apple ID 相关的各种问题。只在需要跨设备跟随用户时才用 user-based assignment。
  • 对于共享 iPad 场景,配置 SharedDeviceConfiguration profile 确保每个用户的 App 数据在登出时被正确清理。
  • 定期通过 ABM 的报告功能审计 license 使用情况——很多企业购买了数百个 license 但只用了几十个,原因是旧的分配从未被回收。

还有什么值得关注

  • macOS Monterey 支持通过 MDM 安装 declarative 的企业 App,不再需要用户手动确认 Gatekeeper 提示。
  • Apple School Manager 新增了”班级级别”的 App 分配,可以按班级而非按学校批量管理。
  • 图书(Books)的 MDM 分配现在支持 EPUB 格式,不限于 iBooks 格式了。
WWDC 2021