【发布时间】:2016-01-29 00:12:12
【问题描述】:
这是我的 Podfile:
platform :ios, '9.0'
use_frameworks!
target :Test_Swift_Import do
pod 'BFKit-Swift', '1.5.1' //Just a swift pod to provide some methods to test
pod 'SwiftySwift', '1.0.1' //and another
end
在我的 AppDelegate 类中,我尝试使用 BFKit 中的一个简单方法
BOOL isEmail = [@"not an email" isEmail];
我的 AppDelegate 是一个 Objective-c 类,而不是 Swift
为了完成这项工作,我尝试导入 BFKit Swift 模块
首先我尝试了众所周知的方法:
//Basic <Product_Name-Swift.h>
#import <Test_Swift_Import-Swift.h>
但是this SO post 和this one too 都说要使用<ProjectName/ModuleName-Swift.h>。因为代码在一个模块中,所以这对我来说很有意义。
所以我试试#import <Test_Swift_Import/BFKit-Swift.h>
没有交易...
我将我的项目重命名为TestSwiftImport,以防下划线出现问题
没有交易...
我尝试直接导入模块
<BFKit/BFKit.h>
唉...
相关的 Xcode 构建设置
defines modules : Yes
Product Module name: TestSwiftImport
Enable Modules: Yes
Link Frameworks Automatically: Yes
Objective-C Generated Interface Header Name: TestSwiftImport-Swift.h
Objective-C Bridging Header: TestSwiftImport/TestSwiftImport-Bridging-Header.h
我尝试过的激烈的事情
我已经完成了清理项目和构建文件夹、擦除派生数据、重置模拟器、退出模拟器、退出 Xcode 和重新启动机器的各种方式,但都无济于事。可悲的是,这些甚至是我想做的事情,而且它们有时会起作用……但在这种情况下不是。
Github Demo 项目显示问题
有什么想法吗?如果您打开项目,您可以看到更多失败的尝试。这不可能这么难......
【问题讨论】:
-
任何 cocoa pod 导入的产品模块名称都应该是它自己,您是否尝试过单独使用
?并且只在 .m 文件中? -
这适用于引号! `#import "BFKit-Swift.h" 但不是括号。 AppCode 不喜欢它,但 Xcode 喜欢。谢谢!
-
这可能是对你更有用的帖子stackoverflow.com/questions/26328034/… 很高兴看到你成功了
标签: ios objective-c xcode swift cocoapods