Xcode已经开始制作档案,而不是应用程序。 我该如何改变它?

我'写在Xcode 4.2的手机应用程序。 在最近几天的某个时候,我改变了一些东西 – 我不知道是什么,在git历史上没有任何明显的东西 – 尽pipe我仍然可以在我的设备和模拟器上运行它,使一个档案,而不是一个应用程序。 我不能将这些档案作为IPA文件共享; 如果我尝试,我会被告知“这种types的存档没有包装员”。

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

确保任何中间目标您select“跳过安装”的构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)取决于您的子库目录结构

点击Xcode窗口右上angular的build下拉菜单,select“edit scheme”,看看有没有错。

如果看不到任何东西,可以尝试select“pipe理scheme”,然后删除旧的scheme,然后按“现在自动创buildscheme”来创build一个新scheme。

你只需要一个scheme,为你的应用程序构build(如果有多个目标,则为每个目标)。 如果还有其他scheme(例如,用于创build项目使用的静态库的embedded式子项目),请删除它们。

此外,正如jrtc27所说,如果你有任何产生静态库的子项目,你需要在构build设置中将它们标记为“跳过安装”。 这里还有一个问题 ,特别涉及到这个问题,并有更详细的解释如何解决这个问题: