賽段目標
本指南包含一些整合 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: 方法。 此方法會回傳一個包含所有註冊在 Intune MAM 服務中的帳號的 NSDictionary。 如果應用程式中已有的帳號不在清單中,應用程式應該透過 註冊並註冊這些帳號 registerAndEnrollAccount:。
SDK 多久會重試一次註冊?
SDK 會自動在 24 小時內重試所有先前失敗的註冊。 SDK 這麼做是為了確保如果使用者的組織在使用者登入應用程式後啟用了 MAM,該使用者能成功註冊並接收政策。
SDK 在偵測到使用者成功註冊應用程式時會停止重試。 這是因為同一時間只能有一個使用者註冊申請。 若使用者未註冊,重試會依相同24小時間隔重新開始。
為什麼使用者需要被註銷?
SDK 會定期在背景執行以下操作:
- 如果申請尚未註冊,系統會嘗試每 24 小時註冊所有已註冊帳號。
- 如果應用程式已註冊,SDK 會每 8 小時檢查一次 MAM 政策更新。
取消註冊使用者會通知 SDK 該使用者將不再使用該應用程式,SDK 也能停止該帳戶的任何週期性事件。 必要時也會觸發應用程式取消註冊和選擇性清除。
我應該在 deregister 方法中把 doWipe 標記設為 true(true)嗎?
此方法應在使用者登出應用程式前就呼叫。 如果使用者在登出時從應用程式中刪除資料, doWipe 則可設定為假。 但如果應用程式沒有移除使用者的資料, doWipe 應該將 設為 true,這樣 SDK 才能刪除資料。
還有其他方式可以讓申請退役嗎?
是的,IT 管理員可以向應用程式發送選擇性清除指令。 這會讓使用者註銷並取消註冊,並清除使用者的資料。 SDK 會自動處理這種情況,並透過 unenroll delegate 方法發送通知。
有沒有示範如何整合 SDK 的範例應用程式?
是! 請參閱 Chatr 範例應用程式。
我該如何排除我的應用程式故障?
iOS 9.0.3+ 版 Intune SDK 支援在行動應用程式中新增診斷主控台,用於測試政策及記錄錯誤。
IntuneMAMDiagnosticConsole.h定義IntuneMAMDiagnosticConsole類別介面,開發者可用來顯示 Intune 診斷主控台。 這讓終端使用者或開發者在測試期間能收集並分享 Intune 日誌,以協助診斷他們可能遇到的任何問題。 此 API 對整合商來說是可選的。