ios - 组织许可
问题描述
我们正准备在应用商店中发布我们的应用程序的 iOS 版本。当前模型是免费的、功能有限的基础版本,附加功能可通过应用内购买解锁,或者使用客户在不同平台上购买软件时收到的代码解锁。
但是,我们也有机构客户直接向我们购买站点许可证,并可以在我们所有支持的平台(Windows、macOS 等)上访问我们的软件。iOS 版本发布后,我们还希望允许他们使用他们当前的 MDM 系统将其安装到他们的 iOS 设备上。
在 Microsoft 商店中,我们能够将签名的许可证文件分发给组织的 IT 组,然后当应用程序发布到他们的设备时,他们能够将该文件包含在应用程序中。许可证文件包含组织的域标识符,因此设备必须连接到其域才能运行应用程序。对于由组织管理的设备,iOS 中是否有类似的东西(即应用程序可以访问的标识符,表明它们是否由特定组织管理)?MDM 系统能否指定应用程序中包含的文件或其他数据?
作为第二种可能的选择,我在 App Store Connect 中看到我们可以指定特定的组织来提供应用程序。我想我们可以创建一个只有特定组织才能访问的应用程序的第二个免费解锁版本。但是,长期管理似乎有点像噩梦(尤其是在涉及时间有限的站点许可证之类的事情时)。Apple 的文档说,此选项仅在应用程序获得批准之前可用。这是否意味着一旦应用发布就不能随意添加或删除组织?
任何有关如何处理这种情况的指导将不胜感激!
解决方案
大多数主要的 MDM 解决方案都支持AppConfig.org标准,这些标准允许您将 XML 文件作为托管配置的一部分进行分发。这个 XML 文件可以通过UserPreferences
.
假设您可以将您的许可证作为客户端可以添加到托管配置的 base 64 编码加密对象提供。然后,您的应用程序可以检查该值,对其进行解码并提供适当的功能。
推荐阅读
- android - 如何到达滚动视图的最后一项?
- laravel - Laravel HasManyThrough CrossDatabaseRelation
- r - 合并不同列表中的多个数据框
- docker - 如何使用修改后的电报配置文件运行 docker compose 文件?
- python - 在 Python 中用不同颜色在同一个图上绘制 n 个不同的图
- c# - ML.NET 列属性不包含“序数”
- c# - 如何制作WPF背景动画循环?
- c++ - 为什么 sqllite while(query.next()){} 没有停止循环?(如何停止while循环)
- kubernetes - 具有多个工作队列定义的气流舵图
- rust - 是否有从 String 到 Vec 的一步类型转换
?