代码之家  ›  专栏  ›  技术社区  ›  nicktmro

iPhone/iOS:一次构建,两次签名

  •  1
  • nicktmro  · 技术社区  · 14 年前

    有没有办法给测试人员提供将上传到应用商店进行测试的确切二进制文件?

    基本上,我想知道的是是否可以构建源代码,然后签名两次:一次用于临时分发,然后用于应用商店分发。

    我被一些缓存的图像资产烧坏了,我想知道如果不使用专用的构建项目是否可以防止这种情况发生。

    干杯。。。

    1 回复  |  直到 14 年前
        1
  •  1
  •   tc.    14 年前

    你可以跑 codesign 你自己。我应该在博客上讨论如何在某一点上重新签署应用程序,但在大多数情况下,您希望提取资源规则和权利,覆盖myapp/embedded.mobileprovision,然后执行类似的操作 codesign -f -s 'iPhone Developer' --entitlements=extracted-entitlements-file --resource-rules=extracted-resource-rules (我的语法可能有点错误)。

    (当然,它不是相同的“精确二进制”,因为embedded.mobileProvision和embedded签名不同。)

    不过,上次我检查过,你不需要。网间网操作系统 没有 要求安装嵌入式配置文件;它只查找“类似”配置文件(这样,您可以将设备添加到配置文件中,但不必重新签署所有旧版本)。我不确定什么是“相似的”(相同的应用程序ID、捆绑种子和权利?),但我已经能够通过安装相应的即席配置文件来运行应用商店构建。

    当你说“被一些缓存的图像资产烧掉”时,你的意思是它不是一个干净的构建?我 强烈推荐 建立一个构建服务器,它从干净的签出中构建干净的构建;具体来说,如何进行这一点超出了这个答案的范围(我们使用buildbot和一堆脚本),但它似乎比提交由随机开发人员的机器生成的构建要好得多(这也意味着我可以插入所有随机的beta-sdk都不会弄乱应用程序提交)。