美文网首页
Mac OSX MDM 分发app

Mac OSX MDM 分发app

作者: 空空小僧 | 来源:发表于2018-05-07 14:39 被阅读0次

在mac分发app中,根据MDM官方文档这个地方的指令描述及MDM Protocol Extensions模块中的macOS Extensions,可以发现iOS设备和OSX设备在mdm上的区别,个人整理了一下:

1.iOS系统

对于iOS设备来说,一个设备就是一个唯一标示,所有的指令及描述文件,针对的都是这台设备,基本上可以理解为一台设备就是一个用户,单一用户===单一设备,因为我们的设备不同于OSX,可以创建多个用户,这是前提

2.OSX系统

单一设备 != 单一用户,可能多个设备存在多个用户,所以我们在mac安装checkin的描述文件时, 设备checkin上报token的时候,会上报对此,分别对应设备的token和用户的token,对于我们的一些指令,用户token是不支持的,一旦下发,会显示指令受限制,错误如下提示:

<dict>
   <key>ErrorCode</key>
   <integer>71</integer>
   <key>ErrorDomain</key>
   <string>MDMClientError</string>
   <key>LocalizedDescription</key>
   <string><![CDATA[Command received for: <User: 501> but restricted to: <Device> <MDMClientError:71>]]></string>
  </dict>
  

3.分发app

在分发app的指令中,iOS系统正常使用,但是对于OSX,OSX文档描述的方法 在实践中未成功,其中文档中提到了将App格式转化为pkg格式,并且签名取md5值的过程中,官方文档推荐的命令为:

//先将app文件转化为分发使用的pkg文件
sudo pkgbuild —component ~/Desktop/MyApp.app —install-location /Applications
—sign myserver.myenterprise.com /tmp/myPackage.pkg
//将pkg文件按照10M大小转换
$ split -b 10485760 myPackage.pkg myPackage.pkg.
//对所有的10M文件块取md5值
$ md5 -r myPackage.pkg.* 

但是我们安装文档的要求,处理失败,然后进行了查询其他命令,并且安装了苹果自身的OS Server使用对比文件,最终发现的成功的方式及使用的命令为:
使用命令productbuild而不是命令pkgbuild,对比2个命令处理完的pkg包,其中productbuild的安装包,

//解压方式1:
xar -xf Setup.pkg
cat qdskyDrive.pkg/Payload | cpio -i
//解压方式2  2选1
pkgutil --expand qdskyDrive.pkg ~/Desktop/12(此文件夹名自己写一个不存在的 系统会给创建一个)

使用pkgbuild命令解压结果:


image.png

三个文件,分别是
1.Bom文件
2.PackageInfo文件
3.Payload文件
具体作用还没分分析

  • 使用productBuild命令解压如下:


    image.png

具体区别再分析一下,尝试对立面的pkg再次解压,解压失败(Could not open package for expansion:///***.pkg),然后就可以安装到设备上

相关文章

网友评论

      本文标题:Mac OSX MDM 分发app

      本文链接:https://www.haomeiwen.com/subject/muimrftx.html