Ale*_*x L 307
Check Build Settings:
del*_*any 75
如果您添加了框架/库,则可能会发生这种情况......您需要编辑该库的Target-> Build Settings并将"Skip Install"设置为"Yes".当您重新存档时,XCode应该再次开始生成"iOS App Archive"而不是"通用xcode存档".
ebt*_*kyo 62
除了Skip Install to Yes之外,如果你在app项目中打开另一个lib/framwork项目,你必须在Build Phase/Copy Headers中将标题(如果有的话)从public移动到project.

abb*_*ood 44
我做了以下工作让它适合我:
Absolute path为products directory.注意:请参阅下面的提示以缩小搜索范围以查找导致此错误的库.就是这样!
提示:要了解导致存档创建存档文件而不是ipa的违规文件,请执行以下操作:
usr/local/include将识别您需要从Public移动到Project的罪魁祸首头文件,或者您必须从绝对路径更改为products目录的文件(甚至是您忘记将skip install设置为yes标记的文件).但该目录(即usr/local/include)因子库目录结构而异.在许多情况下..您将看到此处列出的上述步骤3中的复制文件下列出的所有文件.如果你在这里找到它们,那么你对问题的原因有明确的答案.更新提示:让生活变得更加简单..在上面提示的步骤4中出现的任何文件...只需在xcode的全局搜索中搜索它...你应该立即获得你想要的结果...例如,这是我的文件夹的内容(按照上面的提示中的步骤):

所以我可以告诉它与crypto和ssl库有关...搜索它们:

让我意识到我忘记将跳过安装设置为是.
Ehm*_*air 10
如果上述任何一个答案不起作用,您的问题可能就是cocoaPods.最新的更新0.38.1为我搞砸了,但后来我降级到了0.37.1,事情恢复正常.运用Xcode 6.3.1
稍后编辑:更新到0.38.2也将修复此问题.有关此问题的更多信息,请访问:Cocoapods 0.38.1无法创建有效的存档
虽然我正在使用Xcode5,但为我编制的是编辑构建方案的内容 - 尝试所有适用的上述建议对我的情况没有帮助.
我有两个目标,比如"App"和"App FREE".当我试图存档免费版本时,我发现通用存档的问题,我在应用程序的"正常"版本之后添加了该版本.在我的例子中,当我在工具栏中选择了Scheme并选择了Edit Scheme时......我看到Build部分有两个目标,即App和App FREE.
我取消选中App的所有列,只选中App FREE的列,然后单击OK.下次我选择产品>存档我得到了我的应用程序免费而不是通用存档.:)
小智 7
如果您只有一个项目,也许这个解决方案会很有用.当我复制目标时发生了这个问题.结果我有两个并行构建的目标.这导致了这个问题.构建了通用IOS存档.
要转换并行内置去
更新到iOS 9和Xcode 7之后我遇到了这个问题.Josh H的解决方案对我有用:
在每个窗格中,在"打包"下,"私有标头文件夹路径"和"公共标头文件夹路径"设置为/ usr/local/include.如果我清除它们,那么我会得到一个有效的存档.
我还为我的Podfile制作了一个安装后脚本来自动执行此操作!
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['PUBLIC_HEADERS_FOLDER_PATH'] = [""];
config.build_settings['PRIVATE_HEADERS_FOLDER_PATH'] = [""];
end
end
end
Run Code Online (Sandbox Code Playgroud)
只需将其添加到Podfile的底部并运行即可 pod install
我的工作区中有多个项目(GTL,Pods和我的主项目),这对我有用:
选择项目,那里会有两种类型,那就是项目,还有目标.
对于不是您喜欢的项目GTL或PODS:
项目:
Skip Install = NO
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""
Run Code Online (Sandbox Code Playgroud)
目标:
Skip Install = YES
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""
Run Code Online (Sandbox Code Playgroud)
对于主项目(通常命名与您的产品名称相同):
项目:
Skip Install = NO
Installation Directory = /Applications
Run Code Online (Sandbox Code Playgroud)
目标:
Skip Install = NO
Installation Directory = /Applications
Run Code Online (Sandbox Code Playgroud)
检查每个项目和目标上的ios部署目标,以确保它们完全相同.