我在安装然后卸载 cocoapods 时不小心弄乱了我的项目设置。我现在收到错误“无法导入桥接头”。我检查了我的构建设置和构建设置>代码生成>objective-c桥接头下的文件路径是否正确。我在构建设置中弄乱了我的框架搜索路径(它们现在是空的),同时试图让 cocoapods 工作。非常感谢有关解决此桥接头问题的一些帮助。
4 回答
听起来像空的标题搜索路径可能是导致您的问题的原因。尝试添加$(inherited)
到 Build Settings 中的 Header Search Paths 列表中。它将确保使用 pod xcconfig 文件中设置的标头搜索路径。
在 XCODE 中搜索标题,查看桥标题是否仍然“存在”,如果是,请单击它以便它显示在框架中....然后查看 facebook sdk #import 语句是否仍然存在,如果不添加它。
如果您在搜索后没有找到头文件...单击文件和“添加文件,看看您是否可以在那里找到 -Header.h,如果可以,请将其添加回您的项目,如果没有,请再次转到构建设置并“清除”标题的路径,保存您的项目,关闭它,重新打开它,然后尝试添加一个 C 文件并查看该文件是否会重新生成,然后您可以重新添加对#import facebookSDK 的调用
另一件事是您可以检查以确保将 FBSDKcoreKit.framework 放回目标的 Build Phases 下的链接二进制文件与库
从您的回复中编辑:
在您的搜索路径中,如果您没有 $(PROJECT_DIR)/yourprojectname,您还应该在 $(inherited) 下方有以下 $(PROJECT_DIR)/yourprojectname 它将给您您提到的错误,因为我已经通过从框架搜索路径
我还不能发布图片,或者我会作为参考
如果您添加一个用 Swift 编写的 pod,并且您不包含“use_frameworks!” 在您的 Podfile 中,您的 pod 不会安装,您将收到此错误。包括“use_frameworks!” 在 Podfile 和 pod install 再次。
我希望您已经设法自己找到解决方案。我今天遇到了这个问题,试图在不使用 cocoapods 的情况下将框架实现到项目中。该框架只是不会被 xcode 识别。我解决这个问题的方法是:
我在 xCode 6.4 中创建了一个空白项目,然后按照步骤在 swift 项目中正常添加框架。正如预期的那样,该框架与 Objective C Bridging Header 完美结合,因为该框架位于 Objective-C 中。
然后我对 xCode 7 beta 3 做了同样的事情。由于这个错误,它没有工作。
然后我进入 xCode 6.4 项目并查看了 Target -> Build Settings -> Search Paths 并查看了那里为框架路径和标题路径编写的内容。
然后我去了同一个地方和xCode 7,发现那里完全是空的。
然后我只需要复制写在 xCode 6.4 上的路径并将其调整为 xCode-beta 路径。您可以通过在 finder 打开以搜索路径时键入 Command + Shift + G 在 finder 上查找路径。然后为您的 xCode beta 和 xCode 6.4 路径测试它,看看您是否走在正确的道路上。
清理并构建您的项目并检查桥接头是否正常工作。