【发布时间】:2016-01-20 05:35:06
【问题描述】:
我在swift中构建了两个框架,我们称它们为CoreFramework和MyFramework
MyFramework 依赖于CoreFramework,并在其公共方法中使用CoreFramework 的一些类、结构和枚举,例如:
public func fetchData() -> CoreStruct
我已经为这两个框架设置了一个 podspec,我可以在我的项目中使用 MyFramework 作为一个 pod。在我的项目中,我会写如下内容:
let result = fetchData()
当我 alt+click 变量时,这会编译,Xcode 甚至会为我提供正确的类型,但如果我想像这样显式指定 result 的类型:
let result: CoreStruct = fetchData()
我得到一个编译器错误,我必须导入 CoreFramework
我必须做什么,才能在我的项目中明确使用CoreStruct 之类的东西,而无需导入底层框架?
【问题讨论】:
-
我不知道 cocoapod 是如何工作的,但是没有它,你通常会像 core dara、foundation 等那样对框架使用“import”指令。你可以用 Cocoapods 省略这个吗?
-
但是即使我要导入让我们说
CoreData,我是否可以在项目中使用NSManagedObject之类的东西而无需额外导入?我猜不是 -
不在项目范围内,你是对的。除非你在主文件中这样做。