找不到 CocoaPods 桥接头文件
Posted
技术标签:
【中文标题】找不到 CocoaPods 桥接头文件【英文标题】:CocoaPods Bridging Header file not found 【发布时间】:2016-10-15 21:39:42 【问题描述】:这里是新开发人员,我目前正在快速构建一个应用程序。我们正在使用 cocoapods,但是在运行 pod install 之后,我们在 Objective-c 桥接头中收到一个错误,指出该文件无法找到,但对于我们的桥接头中的所有文件。例如,我们使用 DateTools。我们 pod 安装它,在我们放置的桥接头中:
#import <DateTools/DateTools.h>
但是,在运行时,它会出错,说'Datetools/Datetools.h' file not found
。我已经浏览了很多其他类似的帖子(如this、this 或this),但没有一个解决了这个问题。任何帮助将不胜感激!
【问题讨论】:
确保您使用框架,而不是将其导入到桥接头中,为什么不尝试在您的班级顶部做一个简单的import
呢?
在 podfile 中,我们确实有 use_frameworks!。当我删除桥接头时,它会在导入时出错并说类似No such module "Parse"
对于 pod,我们根本不使用桥接头
pod 背后的整个笑话是,我们不必桥接标题,因为 cocoapods 为我们完成了这项工作
感谢您的接受。我赞成你的问题。希望你的代码能正常工作。祝你的项目好运
【参考方案1】:
当使用use_frameworks
! Cocoapods 中的指令,在 Swift 中导入 Objective-C pod 不需要桥接头。
只需将所需的 pod 设置到 podfile 中:
#Uncomment this line to define a global platform for your project
platform :ios, '9.0'
#Uncomment this line if you're using Swift
use_frameworks!
target 'YourProject' do
#Swift Pods
pod 'Alamofire'
pod 'ActiveLabel'
#ObjC Pods
pod 'IDMPhotoBrowser'
pod 'Firebase'
#This stuff is to set the SWIFT_VERSION
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '2.3'
end
end
end
end
运行pod install
。运行pod update
(应该不是必需的,但由于某种原因,我几乎每次都得到更新,即使在全新安装之后也是如此)。关闭 Xcode 并使用白色的xcworkspace
文件重新打开。
import Alamofire
import ActiveLabel
import IDMPhotoBrowser
import Firebase
完成。
【讨论】:
以上是关于找不到 CocoaPods 桥接头文件的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的简单目标 c 桥接头找不到文件“BraintreeCore.h”?