在Xcode中构建存档不会创建存档

时间:2011-08-29 04:36:03

标签: build xcode4 archive organizer

似乎我所有的搜索都没有结果。知道我是一个愚蠢的复选框或下拉我错过了。这可能是我的安装吗?我是否需要卸载Xcode 4并重新安装?

我已经完成了所有这些步骤和技巧并修复了整个网络和SO,但没有什么能让我更接近在我的组织者中弹出一个存档。当我去查看构建的存档时,它只是一个零k文件。我得到一个构建成功,我改变跳过安装到是和否...我做了我在网上找到的所有这些东西,我疯了。我很确定我的证书都设置正确,我检查了一些东西,我被告知要检查。这让我疯狂。我看到99%的解决方案是:

“无论如何,在”跳过安装“中,将”发布“的值设置为”否“(帮助文档告诉您相反的情况)。一旦将其设置为”否“,再次存档。您将立即看到您的应用程序显示在存档管理器中。“

嗯,它不起作用或之后没有任何进一步的答案。

7 个答案:

答案 0 :(得分:13)

Archive似乎只包含那些设置为“已安装”的构建产品,因此请确保在构建设置中停用Skip Install

  1. 转到BuildSettings。
  2. 查找“跳过安装”。
  3. 为发布选择“否”。
  4. 此外,Xcode需要Install Path。对于应用程序,这通常是/Applications,但是例如构建一个插件,您可能希望将其设置为/,这会将构建产品放在存档的根目录中。请注意,您必须使用“真实”路径,而不是像~/Library这样的相对路径。

答案 1 :(得分:13)

确保使用产品>存档,而不是产品> Build for>档案

答案 2 :(得分:4)

我更新到High Sierra之后遇到了这个问题。我去了我的图书馆文件夹。 /用户/ your_user /库/开发商/ Xcode中/档案馆 在此文件夹中有一个空文件夹,其名称为我创建此存档的日期。但文件夹是空的。我删除了该文件夹并再次存档。这解决了我的问题。

答案 3 :(得分:2)

对我来说,我还必须将以下空白构建设置更改为......

"Installation Directory" --> /Applications

最后,它开始出现在Organizer / Archives中。

P.S。有趣的是,如果没有此设置,则会创建旧的存档文件,但它始终为空。

答案 4 :(得分:0)

我刚遇到这个问题,解决它的原因是:

  1. 验证代码在版本上签名已设置为您的分发配置文件。我做到了这一点,它实际上在一点上还原了它。确保未还原设置,然后重试。
  2. 您提到了“跳过安装”值,我也有类似的结果。设置为YES将不会打开存档列表,设置为NO will。
  3. 希望这有帮助(更多#1以上有帮助)。

答案 5 :(得分:0)

查看此清单,您应该在某处找到答案:

  1. 创建标有“[App name] -AppStore”
  2. 的新方案
  3. 通过复制版本创建标记为“分发”的构建配置
    • 单击项目,然后在“信息”选项卡中点击+下构建配置。
  4. 将存档设置为在新方案下构建为“分发”
  5. 验证所有证书
  6. 验证所有配置文件
  7. 在钥匙串中以您的名字验证您的私钥。 (在系统钥匙串中)
  8. 确保在分发代码签名中,您将配置文件设置为所有签名实例中的iPhone / iPad分发配置文件。
  9. 确保在项目信息中,将分发代码签名设置为您的iPhone / iPad分发配置文件。
  10. 确保您在目标的构建设置中选择“跳过安装”,将其设置为“否”以进行分发。
  11. 确保您当前选择的方案为“[App Name] -AppStore> iOS Device”
  12. 如果没有别的,请清除所有版本,删除所有旧的存档尝试,构建存档,如果没有其他错误,请再次尝试存档。我遇到的一个问题是当我让XCode始终允许使用我的私钥进行签名时。只需删除它并重新下载证书,迫使XCode重新要求我允许代码签名。我现在只点击“允许”,我再也没有遇到过这个问题。
  13. 如果您仍然遇到问题,则应删除所有配置,撤销所有证书,重新签发所有证书,然后重新安装。在此之后尝试重置代码签名,如果仍然无效,请使用Apple Dev Support提供给您的两个免费TSI之一。如果没有任何作用,他们可以为你解决它我确定。

    希望这会有所帮助。

答案 6 :(得分:0)

我做了以下工作让它适合我:

  1. 我通过使用cocoapods替换了一些子项目/静态库(即三个)来包含主项目中的文件..它只是摆脱了三个给我的所有麻烦(它们很多) ..)
  2. 在所有其他子项目/静态库的构建设置下将skip install设置为yes,并在构建阶段将复制头从公共切换到项目
  3. 最重要的是:在子库下..在构建阶段,我确保复制文件目标已从Absolute path更改为products directory
  4. 就是这样!

    提示:了解导致您的存档创建存档文件而不是ipa的违规文件:

    1. 选择存档,然后单击“分发”按钮。
    2. 选择“保存已建成产品”选项。
    3. 点击下一步并保存。
    4. 在Finder中浏览创建的目录。
    5. 'libraries'子目录将标识将Skip Install设置为Yes所需的库。
    6. 在某些情况下,usr/local/include将识别您需要从Pu​​blic移动到Project的罪魁祸首头文件,或者您必须从绝对路径更改为products目录的文件。但该目录(即usr / local / include)因子库目录结构而异。