iOS デバイスを管理するための iOS MDM サーバーを構築しています。以下は、iOS デバイスを MDM サーバーに登録する際に必要な手順です。
- 登録構成の送信
- SCEP を実行する
- MDM サーバー証明書を送信します。
- APNS 証明書を作成します。
- デバイスにプッシュ通知を送信します。
デバイスはプッシュ通知を受信し、MDM サーバーの「serverUrl」に接続します。以下に示す Status = "Idle" で応答します
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Status</key>
<string>Idle</string>
<key>UDID</key>
<string><udid-of-device></string>
</dict>
</plist>
このデバイス情報取得コマンドに対して、以下のように応答します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceInformation</string>
<key>Queries</key>
<array>
<string>UDID</string>
<string>DeviceName</string>
<string>OSVersion</string>
<string>ModelName</string>
<string>IMEI</string>
</array>
</dict>
<key>CommandUUID</key>
<string>command-for-the-session</string>
</dict>
</plist>
デバイスは、以下に示すようにデバイス情報を返します
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>command-for-the-session</string>
<key>QueryResponses</key>
<dict>
<key>DeviceName</key>
<string>iPhone</string>
<key>IMEI</key>
<string>01 353150 432467 8</string>
<key>ModelName</key>
<string>iPhone</string>
<key>OSVersion</key>
<string>7.1</string>
<key>UDID</key>
<string><udid-device></string>
</dict>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string><udid-device></string>
</dict>
</plist>
このフローは必要に応じて機能します。この後、デバイスに送信するものがないため、デバイスとの接続を終了したいと思います。
私の質問は、その CommandUUID の有効な詳細をデバイスから受け取った後、この接続を停止または閉じる方法です。mdm サーバーの URL を呼び出し続け、接続を終了しません。
接続を停止するために空の plist を送信しようとしましたが、うまくいきませんでした。
親切に助けてください。
読んでくれてありがとう。!