2012-02-03 33 views
6

Im'在Xcode 4.2中编写电话应用程序。在过去几天的某个时候,我改变了一些东西 - 我不知道是什么,并且在git历史中没有任何明显的迹象 - 尽管我仍然可以在我的设备和模拟器上运行它,但是当我将它构建时使存档,而不是一个应用程序。我无法将这些档案作为IPA文件共享;如果我尝试,我会被告知“这种类型的存档不存在包装商”。Xcode已经开始制作档案,而不是应用程序。我如何改回它?

我做了什么?我如何更改它,以便我可以再次生产IPA?

+0

几乎是[XCode中的存档项目错误地创建多应用程序包]的副本(http://stackoverflow.com/questions/5206536/archiving-project-in-xcode-incorrectly-creating-multi-application-bundle) – Simon 2012-02-03 12:07:41

回答

10

请确保任何中间目标,您选择“跳过安装”的构建设置。

+0

我没有在我的xcode中选择跳过安装4.4.1 – Mashhadi 2012-09-21 12:46:00

6

点击Xcode窗口右上角的build下拉菜单并选择“edit scheme”,看看有没有错。

如果看不到任何东西,请尝试选择“管理方案”,然后删除旧方案,然后按“立即自动创建方案”以制作一个新方案。

您只需要一个方案,为您的应用程序构建(如果存在多个目标,则为每个目标构建一个方案)。如果还有其他方案(例如,用于创建项目使用的静态库的嵌入式子项目),请删除它们。

另外,正如jrtc27所说,如果您有任何生成静态库的子项目,则需要在构建设置中将它们标记为“跳过安装”。有another question here具体涉及该问题,并有更详细的解释如何解决它:

16

我做了以下让它为我工作:

  1. 为three20静态库,我用cocoapods包括主体工程中的文件..它只是摆脱一切烦恼three20的是给我(他们很多..)顺便说一句,我尝试用Nimbus替换three20 ..但是Nimbus缺乏我的项目使用three20的一些功能..所以Nimbus没有帮助。
  2. 设定跳过下构建设置安装到是对所有其他子项目/静态库和公共交换副本标题下构建阶段项目
  3. 最重要的是:下的子库..在构建阶段我保证即复制文件目的地从Absolute path更改为products directory

就是这样!

提示:拿到这是造成你的存档创建存档文件,而不是一个IPA违规文件的想法做到这一点:

  1. 选择存档,然后单击分发按钮。
  2. 选择'Save Built Products'选项。
  3. 点击下一步并保存。
  4. 在Finder中浏览创建的目录。
  5. '库'子目录将标识您需要将跳过安装设置为是的库。
  6. 在某些情况下,usr/local/include将识别您需要从Pu​​blic移动到Project的罪魁祸首头文件或您必须从绝对路径更改为products目录的文件。但该目录(即usr /本地/包括)取决于您的子库目录结构
+0

这个提示部分非常有用。 – 2013-09-30 20:57:03

+0

最好的提示,拯救了我的生命!谢谢! – 2013-12-16 08:54:16

相关问题