Non-removable managed apps

How can I make managed apps removable or non-removable on iOS14?
Answered by Frameworks Engineer in 622454022
The Install Application command isn't the only way to mark managed apps as unremovable; you can also use the Settings command. This can only be used if the app is already and under management and it doesn't require the app to be re-downloaded.

Similar to the install application command, you need to set the Removable attribute to false. Here's a sample Settings command:
Code Block XML
<?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>Command</key>
<dict>
<key>RequestType</key>
<string>Settings</string>
<key>Settings</key>
<array>
<dict>
<key>Attributes</key>
<dict>
<key>Removable</key>
<false/>
</dict>
<key>Identifier</key>
<string>com.app.bundleID</string>
<key>Item</key>
<string>ApplicationAttributes</string>
</dict>
</array>
</dict>
<key>CommandUUID</key>
<string>Settings_001</string>
</dict>
</plist>

See the Settings command documentation for more details
Apple introduced a whole new set of attributes to the Install Application command.

https://developer.apple.com/documentation/devicemanagement/installapplicationcommand/command/attributes?changes=latest_minor

You will have to toggle the

Removable
boolean
Default: true

attribute.
Accepted Answer
The Install Application command isn't the only way to mark managed apps as unremovable; you can also use the Settings command. This can only be used if the app is already and under management and it doesn't require the app to be re-downloaded.

Similar to the install application command, you need to set the Removable attribute to false. Here's a sample Settings command:
Code Block XML
<?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>Command</key>
<dict>
<key>RequestType</key>
<string>Settings</string>
<key>Settings</key>
<array>
<dict>
<key>Attributes</key>
<dict>
<key>Removable</key>
<false/>
</dict>
<key>Identifier</key>
<string>com.app.bundleID</string>
<key>Item</key>
<string>ApplicationAttributes</string>
</dict>
</array>
</dict>
<key>CommandUUID</key>
<string>Settings_001</string>
</dict>
</plist>

See the Settings command documentation for more details
Non-removable managed apps
 
 
Q