如何知道用什么configuration文件/签名证书签署.ipa?

我有一堆.ipa文件,我用脚本来辞职。

那么如何检查供应configuration文件/签名证书以符合他们使用的正确信息呢?

理想情况下,我希望能够接受任何.ipa文件,并告知使用哪个configuration文件/签名证书对其进行签名。

背景:我们的企业分销证书已过期,我想重新签署我们的东西。 对于我们在Xcode中制作和存档的所有内容,这是一个简单的考虑,但对于第三方供应商提供的可分发内容,我无法做到这一点。 我想避免要求重新签名的.ipa文件,因为新的.ipa文件可能包含未知的变化并引入问题,他们也可能会收取我们的费用……但是我更担心第一个问题。

既然我们的新旧分销证书都是有效的(重叠了6个月),我需要能够确认新的分销certificate是否被使用,否则,当旧的证书到期并且“辞职”脚本没有被使用时,实际上做这个工作。

供应configuration文件具有可以使用“terminal”命令查看的UUID:

安全cms -D -i(path_to_your_provisioning_profile)

请参阅命令输出的UUID部分,如:

<key>UUID</key> <string>A008C022-7B82-4E40-8B37-172763E1E3CC</string>

Xcode在.app包中插入用于签署应用程序的供应configuration文件。 要find它,请将.ipa重命名为.zip,使用Finder解压缩,在/ Payload中find.app文件。 在.app文件上显示“Package Package Contents”,然后find名称为embedded.mobileprovision的供应configuration文件。

使用上述命令转储它的权利,并将其与Xcodepipe理器>设备选项卡>“资源库”下的预configurationconfiguration文件部分中的configuration文件中find的UUID进行比较。 您可以使用“在Finder中显示”来显示它们在磁盘上的位置。

晚会到…

但是这个工具节省了我一些时间: 游牧/深圳

 $ ipa info /path/to/app.ipa +-----------------------------+----------------------------------------------------------+ | ApplicationIdentifierPrefix | DJ73OPSO53 | | CreationDate | 2014-03-26T02:53:00+00:00 | | Entitlements | application-identifier: DJ73OPSO53.com.nomad.shenzhen | | | aps-environment: production | | | get-task-allow: false | | | keychain-access-groups: ["DJ73OPSO53.*"] | | CreationDate | 2017-03-26T02:53:00+00:00 | | Name | Shenzhen | | TeamIdentifier | S6ZYP4L6TY | | TimeToLive | 172 | | UUID | P7602NR3-4D34-441N-B6C9-R79395PN1OO3 | | Version | 1 | +-----------------------------+----------------------------------------------------------+ 

根据Bobjt的回答,我使用IPCU获取configuration文件的详细信息:

  1. 将.ipa重命名为.zip
  2. 用Finder解压缩
  3. 在/ Payload中find.app文件。
  4. 在.app文件上显示“Package Package Contents”,然后find名称为embedded.mobileprovision的供应configuration文件。

  5. 将mobileprovisioning文件拖到iPhoneconfiguration实用程序中

IPCU显示configuration文件的名称/到期date等。

检查这个工具

点击IPA文件或configuration文件中的空间将显示详细信息

在这里输入图像说明

我已经能够成功地使用以下过程进行testing。

  1. 将原始.ipa安装到设备上。
  2. 进入设置 – >常规 – >configuration文件(请参阅旧的configuration文件)
  3. 从设备上删除应用和旧configuration文件
  4. 辞职
  5. 在设备上安装重新签名的应用程序
  6. 进入设置 – >常规 – >configuration文件(请参阅新的configuration文件)

这似乎是一个防弹的方式来确认configuration文件已更新,因为该configuration文件中只有1个签名证书…那么我们必须签署新的证书。

(但是我还是想找一个更好的方法)

我最终使用了Bobjt和HaemEternal解决scheme的混合scheme。

  1. 查找档案。
  2. 显示包内容。
  3. 复制.app文件
  4. 显示.app文件的包内容。
  5. 将embedded.mobileprovision文件复制出来。
  6. 运行“security cms -D -i(path_to_your_provisioning_profile)”
  7. 从步骤6中的呼叫结果中findUUID号码。
  8. 打开Iphoneconfiguration实用程序并查看configuration文件以find具有相同UUID编号的configuration文件。