4

我正在編寫一個iOS客戶端應用程序,它向發送請求的服務器發送請求,並請求通過外部MDM(AirWatch)將更新的配置文件推送到我的設備。我相信該檔案顯示在Settings -> General -> Profiles。當MDM完成處理配置文件推送(發送或排隊,我不確定)時,它會響應呼叫服務器說'是配置文件被推送'誰迴應我的客戶端應用程序的響應。以編程方式驗證MDM配置文件(配置)是否已成功推送到iOS設備?

問題在於配置文件實際上被推送/安裝在設備上需要大約30秒,而Web服務響應比這短得多。因此,我的客戶端應用程序認爲已經安裝了配置文件,並且允許應用程序在配置文件仍然不可用的情況下繼續運行。我希望能夠檢測配置文件何時成功推送到我的設備,並且不允許應用程序繼續執行,直到之後才能繼續。我的另一種選擇是彈出窗口,說明配置文件已成功推送,但我仍然需要檢測正在安裝的配置文件。

大多數2013年Q &在stackoverflow似乎說,它是不可能查詢配置文件,但我想知道是否有任何變通的人最近嘗試過。我想到了以下幾種可能性 - 但我不知道哪一個是首選的,或者如果它甚至可以用於iOS7(截至2014年12月2日)。

  1. 查詢爲一個我需要的安裝配置文件(聲音從最Q &一個我見過不可能 ;不知道是否更新iOS7改變 本)
    • 如果我知道我正在尋找的確切配置文件名稱?
  2. 添加通知監聽MDM推
    • 使用registerForRemoteNotificationTypes/didReceiveRemoteNotificationdidFinishLaunchingWithOptions
    • 的MDM推可能發生我的應用程序之外,因此沙箱可以在
    • ,你可以聽得到的方式到MDM正在使用的端口?
  3. 傾聽更改配置文件配置設置
  4. 在服務器上添加一個請求查詢設備的安裝配置文件,並調用發送到客戶端
  5. 通過執行證書驗證的響應在此之前包括配置文件中的自簽名的證書,並驗證它
    • 似乎有點哈克,我不知道如果我的MDM將允許我這樣做
  6. 種使用可達方法

作爲一個說明我已經看過下面的鏈接加上更多:

在此先感謝!

+0

我想你指的是推輪廓是設備配置文件(如密碼要求),而不是在iOS的7面世這是正確的管理應用程序的設置? – lidsinker

+0

@lidsinker正確,它是一個VPN設置/配置文件,可在我的應用程序之外使用。 – aspergillusOryzae

回答

4

,因爲沒有(公衆)的API存在允許應用程序查詢它的安裝配置文件,也沒有,你將能夠以確定MDM推送通知是否有這將是不可能爲你的應用程序,以確定一個配置文件是否已安裝已發送到設備。您將不得不依靠您的MDM(AirWatch)來確定配置文件已安裝。

當AirWatch將配置文件推送到設備時,它將收到確認,該配置文件已安裝,但直到AirWatch重新查詢所有安裝的配置文件纔會報告已安裝配置文件。我所看到的是,在AirWatch發送配置文件安裝命令後不久,它將重新查詢設備上的配置文件列表,以便輪詢幾次服務器並等待,直到看到配置文件已安裝。我沒有在AirWatch REST API中花費太多時間,但我認爲這是可能的。

除此之外,我可以看到唯一的其他選項是讓您使用Reachability來檢測VPN隧道是否正在安裝。

+0

謝謝你的信息! – aspergillusOryzae

+0

我也有在iTunes上的支持驗證,最好的辦法是重新查詢設備上安裝的配置文件,而且他們最初的Web服務響應就是這樣的輪廓推已經在他們的系統中排隊,而不是它實際發送/安裝。再次感謝! – aspergillusOryzae