Xcode链接framework静态库
2019-03-07 本文已影响0人
贪恋冬天的幸福
在现有工程中,File -> New -> Project -> Framework & Library -> Cocoa Touch Framework,点击 Next,为Framework起名 TestFramework:

选择依赖在主工程下,工程内的目录和工程文件下的实际目录:


打开TestFramework.xcodeproj目录:

新建两个文件:

在 TestViewController.h 中引入 TestObject.h 文件:

在 TestFramework.h 中引入 TestViewController.h 文件:

此时,需要在 TestFramework 的 Build Phases 下将可被外部引用的文件添加在 Headers -> Public 下:

PS: 如果 Build Phase 下没有 Headers,可点击左上角的 + ,选择 New Headers Phase,

因为 TestViewController.h 中引用了 TestObject.h ,因此 TestObject.h 必须也添加在 Public 下面,不然就会找不到 TestObject.h 而报错。
在主工程的 Build Phases 下的 Link Binary With Libraries, 添加 TestFramework.framework,


点击 Run,运行通过。
PS: 如果上一步的 TestObject.h 没有添加在 Public 下面,就会提示:


将 Project 下的 TestObject.h 拖到 Public 下面就可以了,如下:

再次点击Run,运行通过!