Intune 适用于 iOS 的应用 SDK - 附录

阶段Goals

本指南包含一些 iOS 最佳做法,用于集成Intune SDK、常见常见问题解答和其他有用内容。

iOS 最佳做法

下面是针对 iOS 进行开发的推荐最佳做法:

  • iOS 文件系统区分大小写。 确保文件名(如 IntuneMAMResources.bundle)的大小写正确。
  • 注册自定义 URL 方案允许特定 URL 重定向到应用。 iOS 和 iPadOS 允许多个应用注册相同的自定义 URL 方案,OS 将决定调用哪个应用程序。 请参阅 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。 但是,如果应用程序不删除用户的数据, doWipe 应设置为 true,以便 SDK 可以删除数据。

是否有其他方法可以取消注册应用程序?

是的,IT 管理员可以向应用程序发送选择性擦除命令。 这将取消注册和取消注册用户,并擦除用户的数据。 SDK 会自动处理此方案,并通过取消注册委托方法发送通知。

是否有演示如何集成 SDK 的示例应用?

可以! 请参阅 Chatr 示例应用

如何对应用进行故障排除?

Intune SDK for iOS 9.0.3+ 支持在移动应用中添加诊断控制台以测试策略和日志记录错误。 IntuneMAMDiagnosticConsole.h定义IntuneMAMDiagnosticConsole类接口,开发人员可以使用该接口来显示Intune诊断控制台。 这允许最终用户或开发人员在测试期间收集和共享Intune日志,以帮助诊断他们可能存在的任何问题。 对于集成商,此 API 是可选的。