5

サーバーにリクエストを送信する iOS クライアント アプリを作成しています。サーバーは、更新された構成プロファイルが外部 MDM (AirWatch) 経由でデバイスにプッシュされるように要求します。プロファイルが に表示されると思いますSettings -> General -> Profiles。MDM がプロファイル プッシュの処理を完了すると (送信またはキューに入れられたかどうかはわかりません)、呼び出し元のサーバーに「はい、プロファイルがプッシュされました」と応答し、その応答がクライアント アプリにエコーされます。

問題は、プロファイルが実際にデバイスにプッシュ/インストールされるまでに約 30 秒かかるのに対し、Web サービスの応答はそれよりもはるかに短いことです。したがって、私のクライアント アプリは、構成プロファイルがインストールされていると認識し、プロファイルがまだ利用できない間、アプリを続行できるようにします。プロファイルがデバイスに正常にプッシュされたことを検出し、その後までアプリを続行できないようにしたいと考えています。私の他のオプションは、プロファイルが正常にプッシュされたことを示すポップアップを作成することですが、インストールされているプロファイルを検出する必要があります。

2013 年の Stackoverflow に関する Q&A のほとんどは、構成プロファイルを照会することはできないと述べているようですが、人々が最近試した回避策があるかどうか疑問に思っていました。私は次の可能性を考えました - しかし、どちらが好ましいか、またはiOS7で可能かどうかはわかりません(2014年2月12日現在)。

  1. インストールされているプロファイルを照会して、必要なものを探します (私が見たほとんどの Q&A では不可能に思えます。iOS7 への更新でこれが変更されたかどうかはわかりません)。
    • 探していた正確なプロファイル名を知っていたらどうしますか?
  2. MDM プッシュの通知リスナーを追加する
    • registerForRemoteNotificationTypes/didReceiveRemoteNotificationまたはを使用didFinishLaunchingWithOptions
    • MDM プッシュはアプリの外部で発生する可能性があるため、サンドボックス化が邪魔になる可能性があります
    • MDM が使用しているポートをリッスンできますか?
  3. プロファイル構成設定の変更をリッスンする
  4. サーバーにリクエストを追加して、デバイスにインストールされたプロファイルを照会し、クライアントに応答を送信する前にそれを呼び出します
  5. プロファイルに自己署名証明書を含めて検証することにより、証明書の検証を行います
    • 少しハッキーなようで、MDM でそれができるかどうかわかりません
  6. 到達可能性メソッドを使用する

メモとして、次のリンクとその他のリンクを見てきました。

前もって感謝します!

4

1 に答える 1

4

アプリがインストールされているプロファイルを照会できるようにする (パブリック) API が存在しないため、構成プロファイルがインストールされているかどうかをアプリで判断することはできません。また、MDM プッシュ通知がデバイス。プロファイルがインストールされていることを確実に判断するには、MDM (AirWatch) に頼る必要があります。

AirWatch がプロファイルをデバイスにプッシュすると、プロファイルがインストールされたという確認応答を受け取りますが、AirWatch がすべてのインストール済みプロファイルを再クエリするまで、プロファイルがインストールされたことを報告することはありません。私が見たのは、AirWatch がプロファイル インストール コマンドを送信した直後に、デバイス上のプロファイルのリストを再クエリするため、サーバーを数回ポーリングし、プロファイルがインストールされたことを確認するまで待つことである可能性があります。 . AirWatch REST API の詳細についてあまり時間を割いていませんが、これは可能であると思います。

これ以外に、VPN トンネルが設定されているかどうかを検出するために、Reachability を使用して何かを行うという方法しかありません。

于 2014-02-18T03:59:40.797 に答える