桥接头不导入 Cocoapod 库,“没有这样的模块‘MagicalRecord’”

Posted

技术标签:

【中文标题】桥接头不导入 Cocoapod 库,“没有这样的模块‘MagicalRecord’”【英文标题】:Bridging header not importing Cocoapod libraries, "No such module 'MagicalRecord'" 【发布时间】:2015-06-07 18:43:51 【问题描述】:

我正在尝试将 MagicalRecord 导入(直到现在)纯 swift 项目。我已经设置了 Cocoapods,安装了 MagicalRecord,并且我使用的是 .xcworkspace 而不是 .xcodeproj

我使用的是 Xcode 在创建 Objective C 类时自动创建的桥接头(尽管我也尝试过使用手动创建的桥接头),并且我确保了Build Settings>Swift Compiler - Code Generation>Objective-C Bridging Header 下的.xcodeproj 已正确设置。

在桥接头中,我有以下内容

#import <MagicalRecord/MagicalRecord.h>

然后当我尝试在 swift 文件中使用 import MagicalRecord 时,我收到一条错误消息,指出 No such module 'MagicalRecord'。我在桥接头中尝试了不同的 #import 语句,比如像旧教程建议的那样导入 CoreData+MagicalRecord.h,但它仍然不起作用。

我的桥接头似乎并没有完全损坏,因为当我尝试导入在我自己的项目中创建的文件时,它可以工作,并且我可以创建在导入文件中定义的对象。但是,如果我尝试在该文件中导入 MagicalRecord,我仍然会收到上述导入错误。

是否需要进行一些额外的设置才能使其正常工作?

【问题讨论】:

好吧,在发布这篇文章几分钟后,我尝试了我应该首先尝试的方法,它只是使用 MagicalRecord 中的方法而没有导入语句。事实证明它完全有效!在 Swift 中不需要 import 语句。在这里找到了解决这个问题的线索:developer.apple.com/library/prerelease/ios/documentation/Swift/…。 “将 Swift 导入 Objective-C”部分中的表格很有帮助 如果没有 import 语句,我的将无法工作...Xcode 7 beta...呃 我处于可以从托管对象访问 MR_create() 等的状态,但我无法调用 MagicalRecord.setupCoreDataStack()。 啊,必须在 AppDelegate 中 import MagicalRecord 【参考方案1】:

确保您的桥接头已就位并且use_framework! 存在于您的Podfile 中。

【讨论】:

以上是关于桥接头不导入 Cocoapod 库,“没有这样的模块‘MagicalRecord’”的主要内容,如果未能解决你的问题,请参考以下文章

导入 Objective-C 文件会破坏 CocoaPod

导入 Objective-C 文件会破坏 CocoaPod

桥接头有效,但进口不起作用?

Xcode:桥接头不识别导入

Xcode:桥接头不识别导入

发布我自己的 CocoaPod 框架