XCode4 + iOS 4.3:“存档的types不存在包装程序”

我刚刚升级到XCode 4,并试图创build一个早期的项目特设的生成。 无论何时使用“存档”选项,我最终在组织者窗口中根本没有存档,或者存在存档,但没有选项将其打包为.ipa,因为“存档的types不存在包装程序”。

有没有人从XCode 3.2迁移到XCode 4的工程中?

您的主项目中可能有一些链接的项目(如librairies)。 转至这些项目的“生成”设置,将“跳过安装”(Deployement类别)设置为“是”,但将主项目的“跳过安装”设置为“否”。 生成,存档,你应该能够selectIPA包。

谢谢,但我需要3个步骤,以有效地解决我的项目框架的问题:

  1. 为每个依赖项目设置Target Build Settings /“Skip Installation”属性为“YES”

  2. 清除每个项目的目标生成设置“安装目录”属性

  3. 对于每个项目,将“构build阶段/构build设置/复制标题”部分中的每个标题从Public / Private移动到Project

我发现这些答案的组合解决了这个问题。 我花了很多时间来validation在所有链接的项目中跳过安装是否设置为是,事实certificate这只是我的一部分问题。 如果您在存档时遇到此问题,请按以下步骤操作:

  1. 在pipe理器中find存档,右键单击并select在Finder中显示。
  2. 在Finder中右键单击.xcarchive文件,然后selectShow Package Contents。
  3. find产品文件夹,看看里面有什么。 Products文件夹中应该只有一个Applications文件夹,而Applications文件夹只能包含一个iPhone应用程序(YourProject.app)。

如果在步骤3中直接在产品或子文件夹下find静态库(<some-library> .a),请转到Xcode并select生成静态库的项目(您应该能够知道哪个项目它基于静态库的名称)。 转到生成设置并select目标,然后将“跳过安装”设置为“是”。

如果在步骤3中直接在Products或子文件夹下find头文件(<some-header> .h),请转到Xcode并select包含这些头文件的项目。 您应该能够根据头文件名称中使用的前缀find项目。 在该项目中,转到“构build阶段”,然后在“复制标题”部分将所有标题从“公共”和“专用”部分移到“项目”部分。

感谢这个答案 , 这个答案和这个答案帮助我解决这个问题。

这里有两个其他的提示,我们发现这个问题有用…没有答案,但他们可能会节省别人很多时间搞乱8 /

如果您使用的是不是由xcode4构build的静态库,那么“deployment-> skip install”解决方法将不适用于他们。 解决这个问题的方法是不要将它们添加到项目中,并确保它们的path位于Build Settings的Header和/ Library Search Paths中,并将-lblah条目添加到Linker Flags中。

另外,如果你有一个静态库设置为目标依赖(例如,我们有libjson.a设置为这个,我敢肯定,这是正确的/合乎逻辑的事情),那么你根本无法构build.ipa的无论。 我们花了整整一天的时间在这个愚蠢的问题上跳舞,最后只是解决了这个问题。 就我个人而言,我认为这应该真的留下一个破碎的项目…但它的作用是这样的。

为了弄清楚什么项目/库/组件阻止Xcode做一个适当的档案做到这一点:

在pipe理器中find存档,右键单击并在取景器中显示。 这将显示一个.xcarchive文件。 右键单击并显示包装内容。 现在查看产品文件夹。 最有可能的不仅仅是一个带有一个iPhone应用程序的应用程序文件夹。

在我的情况下,有一个包含libOAuthConsumer_iPhone.a的usr / local / lib文件夹结构,当我在Xcode中search时,确实发现了另一个项目,我没有将Skip Install设置为YES。 对于每个人来说,看起来并不是那么容易,但是至less在内部看看,应该至less给你一个关于哪个组件搞乱了存档过程的指针。

跳过安装不适合我。 我解决了这个问题,将所有标记为public的标题移动到项目中。 我目前正在一个静态库和一个ipad proj工作区。 似乎有一个错误或xcode什么时候你想build立你的产品与一个链接的项目,xcodebuild立两个和组织者不会显示共享一个IPA的选项。

这些是在xcode 4.2中解决上述问题的步骤

1:所有添加的第三部分库的“Skip to install”跳转到YES。 “跳到安装”为您的项目。您可以从“生成”设置访问“跳到安装”。

2:从左侧导航窗格中select第三方库标题。

2.1:在右边是Utililtes窗口。显示并隐藏它的视图 – > utilities-> show / hide utilities(command-Option-0)或者用视图中的第三个button在工具栏中分割控制

2.2:select文件检查器(command-option-1)

2.3select目标会员,并将公共或私人的选项更改为“项目”