MBProgressHud Swift 归档时出现编译错误

MBProgressHud Swift Compile Error when Archiving

我已经完成了我的项目,它可以在模拟器或我自己的设备上完美运行。当我 select 将项目存档以将 de build 上传到 Itunes Connect 时,我得到了所有这些编译错误

"Use of undeclared type MBProgressHUD" "Use of unresolved identifier MPProgressHUD"

等等..

注意:我正在为这个库使用 CocoaPods

欢迎来到 Cocoapods 地狱(a.k.a。:魔法结束的地方),在这里必须深入研究他的项目构建设置并弄清楚哪里出了问题...

很难回答您,因为可能有多种原因造成这种情况。

  • 您对构建/运行 和存档使用相同的目标吗?可能是因为您的 libPods.a 没有复制到您的归档目标

  • 您是否使用 pod install 安装了 Pods,您是否尝试再次播放该命令。 (是的,面对魔法出问题,有时候又可以依靠魔法来救他)

  • 'Build' 和 'Archive' 产品通常在它们使用的构建配置上有所不同(构建大部分时间使用 'debug' 配置,而 Archive 使用 'release' 配置...)。检查您的 Pods 配置文件 (debug/release) 并确保它们都包含您的 MBProgressHud。此外,在您的项目 'Info' 中,检查为 'debug' 和 'release'

  • 选择了哪些 pods Xcode 配置文件

祝你好运!

(PS : 因为 MBProgressHud 是一个文件,而且你可以经常更改,另一种解决方案是摆脱 Cocoapods 而只是 copy/paste它)

为我解决的问题是在我使用此库的 类 中添加 import MBProgressHUD,而不仅仅是在 Bridge-Header.h

导航到您的项目构建设置并找到“Swift 编译器 – 代码生成”部分(您可能会发现在搜索框中输入“Swift 编译器”以缩小范围会更快结果)

在“Objective-C Bridging Header”旁边,您需要添加头文件的 name/path。如果您的文件位于项目的根文件夹中,只需将头文件的名称放在那里。示例:“ProjectName/ProjectName-Bridging-Header.h”或简单的“ProjectName-Bridging-Header.h”。

参考这个 link http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/