在Xcode中归档项目不正确地创build多应用程序包

在Xcode中存档我的项目是创build一个多应用程序包,而不是绑定我的主要目标发布,这是我想要的。 具体来说,当我在组织者中validation我的档案时,它给了我信息:

“[projectname]不包含单个包应用程序或包含多个产品,请select另一个存档,或者调整您的scheme以创build一个单一包应用程序。”

听起来好像有一些设置需要调整,但是我不知道是什么原因导致了其他的目标。

顺便说一句,我正在使用Xcode 4.0。

好的,回答我自己的问题。 发现这是XCode 4中依赖项目的一个问题。如果发生这种情况,请通过所有依赖项目的构build设置(例如静态库),并确保设置“部署”下的“跳过安装”选项到YES。

更多细节在这里: http : //flakasoft.com/developer-tips/xcode-4-bug-solution-for-archiving-build-with-static-library/

需要在子项目中解决两个问题才能解决此问题:

  1. 正如Jared发现的,在Build Settings下,将“Skip Install”设置为“Yes”
  2. 在构build阶段下,检查复制标题部分。 如果有任何头文件列为私人或公共,将其拖动到项目部分。

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

  1. 对于three20静态库,我用cocoapods包含主要项目中的文件..它只是摆脱了所有麻烦three20给我(他们是很多..)顺便说一句我试图用Nimbusreplacethree20 ..但是Nimbus缺乏我的项目使用three20的一些function..所以Nimbus没有帮助。
  2. 在所有其他子项目/静态库的构build设置下将skip install设置为yes,并在构build阶段将副本标题从公共项目切换到项目
  3. 最重要的是:在子库下面..build立阶段我确保复制文件的目的地从Absolute path改变到products directory

就是这样!

提示:要了解导致档案创build归档文件而不是ipa的有问题的文件,请执行以下操作:

  1. select存档,然后单击分发button。
  2. select“保存build筑产品”选项。
  3. 点击下一步并保存。
  4. 在Finder中浏览创build的目录。
  5. “库”子目录将标识您需要将“跳过安装”设置为“是”的库。
  6. 在某些情况下, usr/local/include将识别您需要从Pu​​blic移动到Project的罪魁祸首头文件,或者您必须从绝对path更改为products目录的文件。 但该目录(即usr / local / include)取决于您的子库目录结构

我有一个复制文件构build阶段,我忘了(复制一些字体到〜/库/字体)。 删除这个构build阶段后,它工作正常。

如果上述答案都不能解决问题,我build议将档案导出到查找器,并查看.app包之外的内容。

编辑:见https://github.com/RestKit/RestKit/wiki/Xcode-4-Archiving-Issue:–'Does-not-contain-a-single-bundle'

我也有同样的问题“[项目名称]不包含单一包应用程序或包含多个产品,请select另一个档案,或调整您的scheme创build一个单一的应用程序。 升级到xcode5后。

问题是在我的版本设置'释放'一堆字段是空白的。 我想xcode4自动切换到debugging设置。

anwyays – 我的修复是find所有那些空白的“释放”设置,并将其设置为debugging设置。 特别是Info.plist文件设置。