Can anyone help me explain this behavior. This is related to the MDM Lock Device API and Lost Mode API.
https://developer.apple.com/documentation/devicemanagement/lock_a_device
https://developer.apple.com/documentation/devicemanagement/enable_lost_mode
There seems to be a similarity on how the 2 APIs behave when the message/ph parameters exist
If we send an empty message parameter with the lock_a_device command I think it behaves differently than sending a lock_a_device command w/o any parameters.
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>B74A442B59BD46ECB6C2BC4D777EE56C</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceLock</string>
<key>Message</key>
<string />
<key>PhoneNumber</key>
<string />
</dict>
</dict>
</plist>
As Opposed to
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>B74A442B59BD46ECB6C2BC4D777EE56C</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceLock</string>
</dict>
</dict>
</plist>
When sending an empty message or including an empty phone number parameter, the phone not only gets locked but switches to LOST MODE where I guess background apps get killed (and some services get disabled?)
When no parameters gets sent, the phone just locks w/o killing background apps. If either one of the parameters includes a non empty string eg: <string>"Phone is locked"</string> the phone shows an emergency button and switches to LOST Mode thus killing all background apps. This is inconsistent with the documentation or this behavior for lock_a_device with parameters isn't mentioned correcly. Please clarify if this is a bug. Why would the behavior be different within the same lock_a_device API?
Note background apps eg: Pandora die in this mode when either of those 2 parameters exist.
Im trying to understand the diff between sending these parameters and not sending them.
In summary the lock_a_device with parameters behaves the same a lost mode ( for supervised devices).
https://developer.apple.com/documentation/devicemanagement/lock_a_device
https://developer.apple.com/documentation/devicemanagement/enable_lost_mode
There seems to be a similarity on how the 2 APIs behave when the message/ph parameters exist
If we send an empty message parameter with the lock_a_device command I think it behaves differently than sending a lock_a_device command w/o any parameters.
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>B74A442B59BD46ECB6C2BC4D777EE56C</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceLock</string>
<key>Message</key>
<string />
<key>PhoneNumber</key>
<string />
</dict>
</dict>
</plist>
As Opposed to
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>B74A442B59BD46ECB6C2BC4D777EE56C</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceLock</string>
</dict>
</dict>
</plist>
When sending an empty message or including an empty phone number parameter, the phone not only gets locked but switches to LOST MODE where I guess background apps get killed (and some services get disabled?)
When no parameters gets sent, the phone just locks w/o killing background apps. If either one of the parameters includes a non empty string eg: <string>"Phone is locked"</string> the phone shows an emergency button and switches to LOST Mode thus killing all background apps. This is inconsistent with the documentation or this behavior for lock_a_device with parameters isn't mentioned correcly. Please clarify if this is a bug. Why would the behavior be different within the same lock_a_device API?
Note background apps eg: Pandora die in this mode when either of those 2 parameters exist.
Im trying to understand the diff between sending these parameters and not sending them.
In summary the lock_a_device with parameters behaves the same a lost mode ( for supervised devices).