改进通过 MDM 分配 App 和图书
Improve MDM assignment of Apps and Books
2021年6月10日
一句话判断
如果你还在为”通过 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 场景,配置
SharedDeviceConfigurationprofile 确保每个用户的 App 数据在登出时被正确清理。 - 定期通过 ABM 的报告功能审计 license 使用情况——很多企业购买了数百个 license 但只用了几十个,原因是旧的分配从未被回收。
还有什么值得关注
- macOS Monterey 支持通过 MDM 安装 declarative 的企业 App,不再需要用户手动确认 Gatekeeper 提示。
- Apple School Manager 新增了”班级级别”的 App 分配,可以按班级而非按学校批量管理。
- 图书(Books)的 MDM 分配现在支持 EPUB 格式,不限于 iBooks 格式了。