App Store & Distribution 入门 25m
为企业员工创建定制 App
Create custom apps for employees
2020年6月25日
一句话判断
如果你的团队在考虑做企业内部 App,这场 Session 是一个完整的入门指南——从分发方式选择到开发最佳实践,一次讲清楚。
这场 Session 讲了什么
这场 Session 面向需要为企业员工构建定制 App 的开发者和管理者。演讲者首先梳理了 Apple 生态中企业 App 分发的几种方式:Apple Business Manager、Volume Purchase Program(VPP)、Enterprise Certificate,以及通过 Mobile Device Management(MDM)进行推送安装。不同的分发方式有不同的适用场景,选择正确的方案是项目成功的第一步。
Session 的中间部分重点介绍了 Custom App 的概念——这是 Apple 推荐的企业 App 分发模式。通过 Apple Business Manager,开发者可以将私有 App 发布到组织的私有商店中,只有授权的员工才能看到和下载。这种方式兼具了 App Store 的安全审核优势和私有分发的灵活性。
后半部分,演讲者讨论了企业 App 开发中的常见挑战:如何利用 Managed App Configuration 通过 MDM 统一配置 App 行为、如何在企业网络环境中处理认证和数据安全,以及如何利用 Onboarding 流程帮助非技术背景的员工快速上手。
值得深挖的点
- Custom App vs Enterprise Certificate 的抉择:Enterprise Certificate($299/年的企业开发者账号)曾经是企业分发的标准方案,但它有明显的缺点——证书过期、设备信任管理、无法享受 App Store 的分发基础设施。Custom App 通过 Apple Business Manager 分发,虽然需要经过 App Review,但获得了更稳定的基础设施和更好的安全性。对于大多数企业场景,Custom App 是更优选择。
- Managed App Configuration 的威力:通过 MDM 推送的配置字典可以让同一个 App 在不同部门、不同角色下展现不同行为。这意味着你只需要维护一个 App 二进制文件,而配置全部由 IT 管理员在 MDM 控制台上完成。
代码片段
// 读取 MDM 推送的 Managed App Configuration
let defaults = UserDefaults.standard
if let config = defaults.dictionary(forKey: "com.apple.configuration.managed") {
// 从 MDM 推送的配置中读取服务器地址
if let serverURL = config["serverURL"] as? String {
apiClient.baseURL = URL(string: serverURL)
}
// 根据角色配置功能可见性
if let role = config["userRole"] as? String {
configureFeatures(for: role)
}
}
// 监听 MDM 配置变更
NotificationCenter.default.addObserver(
forName: UserDefaults.didChangeNotification,
object: nil,
queue: .main
) { _ in
self.reloadConfiguration()
}
func reloadConfiguration() {
let defaults = UserDefaults.standard
guard let config = defaults.dictionary(
forKey: "com.apple.configuration.managed"
) else { return }
// 动态更新 App 行为
updateServerEndpoint(config["serverURL"])
updateFeatureFlags(config["featureFlags"])
}
// 使用 AppConfig 规范定义可配置项
// ManagedPreferences.plist 中定义:
// <dict>
// <key>serverURL</key>
// <dict>
// <key>pfm_type</key> <string>string</string>
// <key>pfm_default</key> <string>https://api.company.com</string>
// <key>pfm_description</key> <string>后端 API 服务器地址</string>
// </dict>
// </dict>
最佳实践
- 优先选择 Apple Business Manager + Custom App 而非 Enterprise Certificate,前者更稳定且安全性更高
- 将所有可配置项通过 Managed App Configuration 暴露给 IT 管理员,减少 App 更新的频率
- 企业 App 也要认真对待 Onboarding 体验——员工不是技术用户,清晰的新手引导至关重要
- 利用 Single Sign-On(SSO)简化企业环境中的认证流程,避免员工管理额外密码
还有什么值得关注
- Apple Business Manager 后来整合了 VPP 和 Device Enrollment Program,管理更统一了
- 如果你的企业 App 需要支持 BYOD(Bring Your Own Device),注意 User Enrollment 和 Device Enrollment 的区别
- 搭配 “Deploy Apple devices using zero-touch” 一起看,可以构建完整的企业设备管理策略
WWDC 2020