最近遇到一个小问题,公司的APP需要内测,但是我打的ipa包 因为没有包含测试人员的UDID,所以无法安装,这是正常现象,但是测试人员说,某某打的包是可以安装的,当时很懵逼,对于苹果而言,除了越狱,这种情况是不可能存在的.我想到了以下几种可能:
第一:用的不是同一套证书和配置文件
我登录账号,发现我和某某用的证书 配置文件 设备都是一样的,因为他用的是dev 我用的是adhoc,所以我用他的配置文件重新打了包,还是不行,
第二:蒲公英平台对ipa做了特殊处理
因为用的是蒲公英,我是第一次用,所以不是很了解,就咨询客服,客服也说不会存在这种情况,除非是企业证书(我们不是).
第三:他对ipa包做过处理
相对于苹果的规则,如果对ipa做处理,也只能是添加UDID,所以我就将两个ipa拆了,对比UDID 下面是拆包以及获取UDID的步骤:(结果发现UDID都一样)
1.首先把.ipa包解压缩,得到Payload



2.查看包里的内容,找到对应的证书文件,名字为:
embedded.mobileprovision


3.打开终端,找到embedded.mobileprovision所在的目录,然后运行命令行:
security cms -D -i embedded.mobileprovision
注意:是embedded.mobileprovision所在的目录 不要cd 到embedded.mobileprovision

4.查看
ProvisionedDevices
对应的数组 就是UDID
验证完上面的几种可能性,基本可以确定,某某的包对于配置文件中没有的设备,也是无法安装的,我将他的包发给测试,确定同样不能安装,最后只能添加测试的设备号,重新出包
,一个小问题,记录一下
网友评论