美文网首页
解决Automatically manage signing 下

解决Automatically manage signing 下

作者: 缘之空_bb11 | 来源:发表于2024-01-03 14:59 被阅读0次

查看描述文件过期时间

1.打包的时候查看

WeChat853caab29838253169b09dccdb373190.jpg

Certificate是发布证书过期的时间;
Profile是描述文件的过期时间;

2.ipa 文件状态下查看

1、将ipa包后缀修改为.zip
2、解压第一步生成的.zip文件
3、在解压后的文件中右击--显示包内容,找到embedded.mobileprovision文件,里面就是描述文件的内容了

3.通过终端查看文件

日常iOS开发中,有时候需要检查ipa文件的证书信息。

  1. unzip -q MyApp.ipa(APP的路径)
  2. codesign -d --extract-certificates Payload/*.app
  3. openssl x509 -inform DER -in codesign0 -noout -nameopt -oneline -dates
  4. 执行完如上命令,你应该能看到如下信息
    notBefore=Feb 25 21:51:03 2018 GMT
    notAfter=Feb 24 21:51:03 2021 GMT

更新Provisioning Profile 的描述文件

WeChat2108fb16d4c46eaf4bcbc885555612d6.jpg

点击(!) 会出现描述文件信息,通过退拽文件图标会产生两种不同的效果:

  1. 退拽文件到到桌面,桌面就生成该文件.
  2. 通过 前往文件夹,并拖拽到输入框,此刻就会变成文件所在的路径,就可以查找到文件真正的位置.
  3. 删除那个文件,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 会选择最新的生成的描述文件.

相关文章

网友评论

      本文标题:解决Automatically manage signing 下

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