在MDM中更新安装在iOS设备上的配置文件

5
我想给设备发送一个配置负载。例如,我想向特定设备发送一个限制负载(禁用Safari)。也就是说,我想更新安装在该设备上的配置文件。
我需要像发送查询负载一样发送这个配置文件负载吗?
我需要包括设备上存在的所有配置负载吗?或者只需要发送我需要更新的那个。
请帮忙!

我发现我需要使用InstallProfile..但是Payload标签中的数据应该是什么?它被指定为“(data) IPCU .mobileconfig文件,base-64编码”,但是我是否需要将配置文件的完整xml复制到<data>标签中? - Manmay
嗨,我一直在尝试在iOS中进行MDM,但我没有找到任何API(我看了PDF)。你认为你能帮助我吗?如果你能给我一些指针,那将非常有用。 - nithinreddy
嗨@nithinreddy。我也在尝试使用PHP构建iOS设备的MDM。 我已经从这里完成了所有认证部分https://github.com/project-imas/mdm-server。我已创建了.mobileconfig配置文件。 现在我不知道该怎么办了。 请帮帮我。 - sau
3个回答

4

需要的是已经Base64编码的安装配置文件的PayloadContent所在标签中的内容。

不需要整个XML文件,只需要第一个块。


抽象类,我的电子邮件地址是manmays@gmail.com。如果您能帮助我,我将非常感激。谢谢。 - Manmay

3

需要明确的是,DATA部分应包含从IPCU中mobiliconfig标签开始到结尾/ plist标签的所有内容的Base64编码(UTF8)字符串。

<?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>CommandUUID</key>
<string>c22d6f22-d222-4477-9e6e-5886e5f1e2a1</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>InstallProfile</string>
<key>Payload</key>
<data>base64encode("<plist>...</plist")</data>
</dict>
</dict>
</plist>

你能推荐一个完美地完成这项工作的在线Base64解码器吗?我试过几个,但是我得到了>>>>>MC:无法解析配置文件数据。错误:NSError:描述:无效配置文件 美国描述:无效配置文件 域:MCProfileErrorDomain 代码:1000 类型:MCFatalError - Sahil Khanna
对于每个在尝试限制应用程序或设备使用时遇到“错误1000无效配置文件”的人,请注意:请从您的属性列表中删除XML与您的限制!不要对此部分进行编码<?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">开始...直到</plist> - dazito

0

移除XML声明。 对您的plist数据进行Base64编码(....)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接