阶段目标
该指南包含一些用于集成 Intune SDK 的 iOS 最佳做法、常见常见问题解答和其他有用内容。
iOS 最佳做法
下面是针对 iOS 进行开发的建议最佳做法:
- iOS 文件系统区分大小写。 确保文件名的大小写正确无误,例如
IntuneMAMResources.bundle。 - 注册自定义 URL 方案允许特定 URL 重定向到应用。 iOS 和 iPadOS 允许多个应用注册相同的自定义 URL 方案,由操作系统确定调用的应用。 请参阅 Apple 文档 为应用定义自定义 URL 方案 ,以获取帮助避免自定义 URL 方案冲突的建议和处理格式错误的 URL 的安全准则。
常见问题解答
所有 API 是否都可通过本机 Swift 或 Objective-C 和 Swift 互操作性寻址?
Intune 应用 SDK API 仅在 Objective-C 中,不支持本机 Swift。 需要与 Objective-C 的快速互操作性。
我的应用程序的所有用户都需要注册 APP-WE 服务吗?
不正确。 实际上,只有工作或学校帐户才应注册到 Intune 应用 SDK。 应用负责确定帐户是否用于工作或学校环境。
已经登录到应用程序的用户呢? 他们需要注册吗?
应用程序负责在用户成功进行身份验证后注册用户。 应用程序还负责注册在应用程序具有无 MDM MAM 功能之前可能已存在的任何现有帐户。
为此,应用程序应使用该 registeredAccounts: 方法。 此方法返回一个 NSDictionary,该 NSDictionary 将所有帐户注册到 Intune MAM 服务。 如果应用程序中的任何现有帐户不在列表中,则应用程序应通过 registerAndEnrollAccount:注册和注册这些帐户。
SDK 重试注册的频率是多久?
SDK 每隔 24 小时自动重试以前失败的注册。 SDK 这样做是为了确保如果用户的组织在用户登录应用程序后启用了 MAM,用户将成功注册并接收策略。
当 SDK 检测到用户已成功注册应用程序时停止重试。 这是因为在特定时间只有一个用户可以注册应用程序。 如果用户已取消注册,则按相同的 24 小时间隔重新开始重试。
为什么需要注销用户?
SDK 定期在后台执行以下操作:
- 如果应用程序尚未注册,它将尝试每 24 小时注册一次所有已注册的帐户。
- 如果注册了应用程序,SDK 将每 8 小时检查一次 MAM 策略更新。
注销用户会通知 SDK 该用户将不再使用该应用程序,并且 SDK 可以停止该用户帐户的任何定期事件。 如有必要,它还会触发应用取消注册和选择性擦除。
是否应在取消注册方法中将 doWipe 标志设置为 true?
应在用户注销应用程序之前调用此方法。 如果用户的数据在注销过程中从应用程序中删除, doWipe 则可以设置为 false。 但是,如果应用程序不删除用户的数据,则应设置为 true, doWipe 以便 SDK 可以删除数据。
是否还有其他方法可以取消注册应用程序?
是的,IT 管理员可以向应用程序发送选择性擦除命令。 这将取消注册和注销用户,并擦除用户的数据。 SDK 会自动处理此方案,并通过取消注册委托方法发送通知。
是否有演示如何集成 SDK 的示例应用?
可以! 请参阅 Chatr 示例应用。
如何解决我的应用问题?
适用于 iOS 9.0.3+ 的 Intune SDK 支持在移动应用中添加诊断控制台,以测试策略和记录错误。
IntuneMAMDiagnosticConsole.h定义IntuneMAMDiagnosticConsole类接口,开发人员可以使用该接口来显示 Intune 诊断控制台。 这样,最终用户或开发人员就可以在测试期间收集和共享 Intune 日志,以帮助诊断他们可能遇到的任何问题。 此 API 对于集成商是可选的。