2016-10-10 96 views
0

我已阅读Create and import swift framework(还有更多),但它不起作用。这就是我所做的:我创建了一个香草框架并添加了一个简单的Test.swift。创建Swift框架(重访)

enter image description here

这编译没有问题,我想,这应该是包含我的测试类的有效框架。

现在我导入此框架到另一个香草应用:

enter image description here

但在尝试访问我的框架失败:

enter image description here

回答

1

与你的问题,“提供的信息不这样的模块“可能意味着您要么没有链接到框架,要么框架不在框架搜索路径中。此外,看起来您已将构建的框架直接拖入相关项目中,因为我没有看到FW.framework包含在工作区中的顶级项目中,还是作为项目依赖项目(即您有当您打开FrameworkUse时,不会将FW.xcodeproj拖入项目导航器中)。有几种方法可以解决此问题:

  1. FW.xcodeproj到项目导航某处FrameworkUse项目下(这将增加FW.xcodeproj作为子项目的FrameworkUse项目)。然后转到构建设置并a)将FW.framework目标作为目标依赖项添加到FrameworkUse目标,b)将该框架(来自FW.xcodeproj下的Products组)添加为嵌入式二进制文件。
  2. 当您打开FrameworkUse项目时,将FW.xcodeproj拖动到项目导航器的顶层。 Xcode会问你是否想创建一个新的工作区(除非你已经打开了一个工作区,在这种情况下,FW.xcodeproj将被添加到工作区中)。与上述选项类似,转到构建设置并a)将FW.framework目标作为目标依赖项添加到FrameworkUse目标,b)将框架(来自FW.xcodeproj下的Products组)添加为嵌入式二进制文件。
  3. 如果您真的想依赖构建的FW.framework而不是使用选项1或2来表示构建依赖关系,则需要a)将该框架添加为嵌入式二进制文件,以及b)转到构建设置并添加包含FW.framework(通过在Finder中将其打开到“框架搜索路径”中可以找到它的位置,例如"$(PROJECT_DIR)/Frameworks",如果项目目录下的框架是放置构建的框架的位置)的目录。
+0

我不知道3.这有点疯狂,Link with Binary“显示我的框架,但实际上还需要添加搜索路径,一旦你知道它,这很容易,但基本上这不是我称之为用户友好的,谢谢! –

+0

是的,它也烧了我很多次,尤其是在这种情况下,错误信息根本没有改变,从添加链接阶段开始 – mz2

+0

此外,你需要添加框架一般/嵌入式二进制文件,或者你会得到一个“dyld:Library not loaded”的错误 –