gpt4 book ai didi

java - iOS MDM - 如何在设备以有效响应响应后关闭或停止连接

转载 作者:行者123 更新时间:2023-11-29 08:45:53 27 4
gpt4 key购买 nike

我们正在构建一个 iOS MDM 服务器来管理 iOS 设备。以下是将 iOS 设备注册到 MDM 服务器所涉及的步骤

  1. 发送注册配置
  2. 执行 SCEP
  3. 发送 MDM 服务器证书。
  4. 创建 APNS 证书。
  5. 向设备发送推送通知。

设备收到推送通知并联系 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 来停止连接,但没有成功。

请帮忙。

感谢阅读!

最佳答案

设备将通过发送以下内容不断查询您的服务器以获取新命令:

<?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>

在这种情况下,如果您没有任何命令,您应该返回带有空主体的 HTTP 200。这向设备发出信号,表明它应该停止轮询,直到您发送下一个推送通知。

关于java - iOS MDM - 如何在设备以有效响应响应后关闭或停止连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25407522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com