【问题标题】:Name of the Certificate/Authority who signed IPA [iOS]签署 IPA 的证书/机构的名称 [iOS]
【发布时间】:2013-02-22 21:03:15
【问题描述】:

其他问题显示如何签署已签署的 IPA,例如 thisthis。特别是这部分是我感兴趣的:

/usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" "Payload/Application.app"

一旦我拥有重新签名的 IPA,我如何才能看到/知道事实上我目前拥有的 IPA 已由“iPhone Distribution: Certificate Name”签名?

【问题讨论】:

  • 其实--resource-rules这件事并不是必须的。

标签: ios certificate ipa


【解决方案1】:

codesign -d -vvvv /path/to/The.app

-d 用于显示签名信息,大量 vs 用于大量冗长。

【讨论】:

  • 我在 IPA 上进行了测试,我正在通过命令行重新签名,它说 code object is not signed at all。这可能是真的。但是,我从用我的 iOS 分发配置文件签名的 Xcode(另一个项目)导出了一个,它说的是同样的事情。
  • 迟了但是:您必须先提取应用程序。例如。 "unzip -q xxx.ipa" 然后变成 Payload 并在 xxx.app 上运行 codesign。这将向您显示证书等。
【解决方案2】:

我不知道这是否是最好的方法。通过使用Terminal,您可以浏览已签名的 ipa 文件的内容。将扩展名更改为 zip 并解压缩。然后尝试浏览到以下路径 >Payload/AppName.app/embedded.mobileprovision。

您可以将 embedded.mobileprovision 复制到其他位置并在文本编辑器中打开以查看详细信息。

【讨论】:

  • 虽然这确实有效,但@GrahamLee 提供的解决方案采用了该信息并以非常易读的形式显示;比拆开原始配置文件容易得多。
  • 当我完成重新签名时,embedded.mobileprovision 不存在。虽然它在重新签名之前确实退出了......
  • @MikeD 我只分享了一种可行的方法:)。感谢您的信息。
  • @JackyBoy AFAIK embedded.mobileprovision 仅存在于 codeSigned 应用程序中。我已经完成了一个使用 mobileprovision 证书重新签署 ipa 文件的工具,如果它已经存在,它将重写 embedded.provision。如果不只是添加供应和重新包装。
  • 实际上,@GrahamLee 的回答对我不起作用,而这个回答对我有用。但我必须承认第一个更好。
【解决方案3】:

据我所知,“代码设计”没有任何选项来实际检查应用程序的退出是否正常。

实际上,出错的原因有很多(权利、配置、ID 不匹配......)。

检查的唯一方法是在设备上安装 IPA(通过 Xcode、iPhone Configurator 或 iTunes,如果没有其他选择)并查看应用程序是否启动。

【讨论】:

    猜你喜欢
    • 2014-02-13
    • 2017-01-03
    • 1970-01-01
    • 2012-10-31
    • 2017-12-23
    • 1970-01-01
    相关资源
    最近更新 更多