描述:
创建了一个oc项目,使用cocoapods导入了一个swift编写的框架(SwiftTheme)
根据这个框架的oc Demo,正常情况应该是会自动生成一个"项目名-swift.h"的文件并且import进oc项目才可以使用。
但在我的项目里#import"项目名-swift.h"
却提示找不到,显示一个大大的问号。
除非自己手动new一个swift文件,#import"项目名-swift.h"
就会成功.
ps:让我改Defines Module、Product Module Name之流的就不用回答了,我会用百度,不管用才来这儿问的。
解决方案1:
import"项目名-swift.h"这种引入的前提必须是在同一个module,如果不在同一个module,必须在前面加上target的命名空间,形如#import <xxSDK/xxSDK-Swift.h>。
你是用pod,pod引入的Alomafire是在不同的target的,所以用下面的方式才有效。
解决了,不用cocoapods,直接把三方框架source文件拖到项目里就可以自动生成"项目名-swift.h"
。
虽然可以用,但还是不理解为什么使用cocoapods就无法生成。不管了。
ps:让我改Defines Module、Product Module Name之流的就不用回答了,我会用百度,不管用才来这儿问的。
改了之后,用command+鼠标左键点击,可以进入“项目名-swift.h”,你试过了没有?
解决方案4:其实可以这样: @import xxSDK;
另外,你的写法应该是 #import <xxSDK/xxSDK-Swift.h>
,
用 <xx/xx.h>
而不是引号
图例是我写的一个纯 swift 的framework.
我也是百度的。 这个,我之前 总结的。研究过:http://mog.pub/
解决方案6:oc中使用swift要麻烦点。需要设置工程命还是什么的。忘了。百度有。你搜swift oc 混编