サーバーにリクエストを送信する iOS クライアント アプリを作成しています。サーバーは、更新された構成プロファイルが外部 MDM (AirWatch) 経由でデバイスにプッシュされるように要求します。プロファイルが に表示されると思いますSettings -> General -> Profiles
。MDM がプロファイル プッシュの処理を完了すると (送信またはキューに入れられたかどうかはわかりません)、呼び出し元のサーバーに「はい、プロファイルがプッシュされました」と応答し、その応答がクライアント アプリにエコーされます。
問題は、プロファイルが実際にデバイスにプッシュ/インストールされるまでに約 30 秒かかるのに対し、Web サービスの応答はそれよりもはるかに短いことです。したがって、私のクライアント アプリは、構成プロファイルがインストールされていると認識し、プロファイルがまだ利用できない間、アプリを続行できるようにします。プロファイルがデバイスに正常にプッシュされたことを検出し、その後までアプリを続行できないようにしたいと考えています。私の他のオプションは、プロファイルが正常にプッシュされたことを示すポップアップを作成することですが、インストールされているプロファイルを検出する必要があります。
2013 年の Stackoverflow に関する Q&A のほとんどは、構成プロファイルを照会することはできないと述べているようですが、人々が最近試した回避策があるかどうか疑問に思っていました。私は次の可能性を考えました - しかし、どちらが好ましいか、またはiOS7で可能かどうかはわかりません(2014年2月12日現在)。
- インストールされているプロファイルを照会して、必要なものを探します (私が見たほとんどの Q&A では不可能に思えます。iOS7 への更新でこれが変更されたかどうかはわかりません)。
- 探していた正確なプロファイル名を知っていたらどうしますか?
- MDM プッシュの通知リスナーを追加する
registerForRemoteNotificationTypes
/didReceiveRemoteNotification
またはを使用didFinishLaunchingWithOptions
- MDM プッシュはアプリの外部で発生する可能性があるため、サンドボックス化が邪魔になる可能性があります
- MDM が使用しているポートをリッスンできますか?
- プロファイル構成設定の変更をリッスンする
- サーバーにリクエストを追加して、デバイスにインストールされたプロファイルを照会し、クライアントに応答を送信する前にそれを呼び出します
- プロファイルに自己署名証明書を含めて検証することにより、証明書の検証を行います
- 少しハッキーなようで、MDM でそれができるかどうかわかりません
- 到達可能性メソッドを使用する
メモとして、次のリンクとその他のリンクを見てきました。
- WWDC 2013 MDM スライド- 目立ったものは見当たりませんでした
- iOS は、インストールされている構成プロファイルを取得します
- 構成プロファイルが iPhone にインストールされているかどうかを確認/確認する(2010 年以降)
前もって感謝します!