查看描述文件过期时间
1.打包的时候查看
WeChat853caab29838253169b09dccdb373190.jpg
Certificate是发布证书过期的时间;
Profile是描述文件的过期时间;
2.ipa 文件状态下查看
1、将ipa包后缀修改为.zip
2、解压第一步生成的.zip文件
3、在解压后的文件中右击--显示包内容,找到embedded.mobileprovision文件,里面就是描述文件的内容了
3.通过终端查看文件
日常iOS开发中,有时候需要检查ipa文件的证书信息。
- unzip -q MyApp.ipa(APP的路径)
- codesign -d --extract-certificates Payload/*.app
- openssl x509 -inform DER -in codesign0 -noout -nameopt -oneline -dates
- 执行完如上命令,你应该能看到如下信息
notBefore=Feb 25 21:51:03 2018 GMT
notAfter=Feb 24 21:51:03 2021 GMT
更新Provisioning Profile 的描述文件
WeChat2108fb16d4c46eaf4bcbc885555612d6.jpg
点击(!) 会出现描述文件信息,通过退拽文件图标会产生两种不同的效果:
- 退拽文件到到桌面,桌面就生成该文件.
- 通过 前往文件夹,并拖拽到输入框,此刻就会变成文件所在的路径,就可以查找到文件真正的位置.
- 删除那个文件,Xcode 会自动生成一个最新日期的描述文件
注意: 可以看到当前的描述文件名称为 da2d2777-2308-4800-9181-03e0000bd3fd.mobileprovisio, 其中da2d2777-2308-4800-9181-03e0000bd3fd为 UUID 编号用来区分,相当重要)
打包时同步更新签名文件
敲黑板: 我们会发现, 对于那些provisioning profile还没有过期的APP,再次打包还是使用旧的provisioning profile,creationTime(ExpirationDate)还是之前创建或者update时的时间。这个过期时间有可能与在member center上这个APP中查看到的时间不一致.
为什么会造成呢? 实践发现,同一个包名下,可能会存在多个描述文件,而他们都是通过 UUID 的不同来进行区分的, 当你打包的时候后可以通过查看描述文件中的 UUID 来确定打包时所用的描述文件是哪个, 然后在路径中:
/Users/janiseworkspace/Library/MobileDevice/Provisioning Profiles/da2d2777-2308-4800-9181-03e0000bd3fd.mobileprovision,
查找到这个描述文件,删除即可,
这时你就会惊奇的发现,在打包的时候,Xcode 会选择最新的生成的描述文件.








网友评论