適用於 iOS 的 Intune App SDK - 附錄

階段目標

本指南包含一些整合 Intune SDK 的 iOS 最佳做法、常見常見問題集及其他實用內容。

iOS 最佳做法

以下是針對 iOS 進行開發的建議最佳做法:

  • iOS 檔案系統會區分大小寫。 請確定檔案名稱大小寫正確,例如 IntuneMAMResources.bundle
  • 註冊自訂 URL 配置可讓特定 URL 重新導向至您的應用程式。 iOS 和 iPadOS 允許多個應用程式註冊相同的自訂 URL 配置,並由作業系統決定要叫用的應用程式。 請參閱 Apple 文件: 為您的應用程式定義自訂 URL 配置 ,以取得有助於避免自訂 URL 配置衝突的建議,以及處理格式錯誤 URL 的安全性指導方針。

常見問題集

所有 API 是否可透過原生 Swift 或 Objective-C 與 Swift 互通性來定址?

Intune App SDK API 僅在 Objective-C 中,不支援原生 Swift。 需要與 Objective-C 的快速互通性。

我的應用程式的所有使用者都需要註冊 APP-WE 服務嗎?

不能。 事實上,只有公司或學校帳戶應該向 Intune App SDK 註冊。 應用程式負責判斷帳戶是否用於公司或學校內容。

已經登入應用程式的使用者呢? 是否需要註冊?

應用程式負責在使用者成功驗證後註冊使用者。 應用程式也會負責註冊在應用程式具有無 MDM MAM 功能之前可能已存在的任何現有帳戶。

為此,應用程序應該使用該 registeredAccounts: 方法。 這個方法會傳回 NSDictionary,其中包含在 Intune MAM 服務中註冊的所有帳戶。 如果應用程式中的任何現有帳戶不在清單中,應用程式應該透過 registerAndEnrollAccount:註冊並註冊這些帳戶。

SDK 多久重試一次註冊?

SDK 會每隔 24 小時自動重試先前失敗的所有註冊。 SDK 這樣做是為了確保如果使用者的組織在使用者登入應用程式後啟用了 MAM,使用者將成功註冊並接收原則。

當 SDK 偵測到使用者已成功註冊應用程式時,會停止重試。 這是因為在特定時間只有一個使用者可以註冊應用程式。 如果使用者已取消註冊,則會以相同的 24 小時間隔重新嘗試。

為什麼需要取消註冊使用者?

SDK 會定期在背景中採取這些動作:

  • 如果應用程式尚未註冊,則會嘗試每隔 24 小時註冊所有已註冊的帳戶。
  • 如果應用程式已註冊,SDK 每 8 小時會檢查一次 MAM 原則更新。

取消註冊使用者會通知 SDK 使用者將不再使用該應用程式,而且 SDK 可以停止該使用者帳戶的任何定期事件。 必要時,它也會觸發應用程式取消註冊和選擇性抹除。

我應該在 deregister 方法中將 doWipe 旗標設定為 true 嗎?

此方法應在使用者登出應用程式之前呼叫。 如果使用者的資料在登出 doWipe 過程中從應用程式中刪除,則可以設定為 false。 但如果應用程式未移除使用者的資料,則應設定為 True, doWipe 讓 SDK 可以刪除資料。

是否有其他方法可以取消註冊應用程式?

是,IT 系統管理員可以傳送選擇性抹除命令至應用程式。 這會取消註冊和取消註冊使用者,並抹除使用者的資料。 SDK 會自動處理這種情況,並透過 unenroll 代理人方法傳送通知。

是否有示範如何整合 SDK 的範例應用程式?

是! 請參閱 Chatr 範例應用程式

如何對我的應用程式進行疑難排解?

適用於 iOS 9.0.3+ 的 Intune SDK 支援在行動應用程式中新增診斷主控台,以測試原則和記錄錯誤。 IntuneMAMDiagnosticConsole.h定義IntuneMAMDiagnosticConsole類別介面,開發人員可以用來顯示 Intune 診斷主控台。 這可讓使用者或開發人員在測試期間收集和共用 Intune 記錄,以協助診斷他們可能遇到的任何問題。 此 API 對整合者而言是選擇性的。