XCode中的标题搜索路径
我正在重构我在XCode中生成的代码,以便可以将一定数量的静态库分发给我的合作伙伴。
按照Apple教程中的建议使用静态库时,我没有任何问题,他们展示了如何将静态库用作使用库的项目的子项目。
但是,在新项目中使用生成的目标文件(.a)和相应的头文件(.h)时遇到问题。
假设我有一个库lib.a
,头文件为f1.h
我要做的就是创建一个新的文件夹F
新项目,并复制到里面F
的lib.a
文件和文件夹include
含f1.h
:
- 项目
storyboard.storyboard
/project
/images.xcassets
/Supporfing Files
...
/libs
lib.a
/include
/lib
f1.h
我有这些问题:
头文件可以通过#import f1.h
找到,而不能通过#import lib/f1.h
如果我直接在故事板中使用在静态库中实现的视图控制器,则应用程序将失败,但是如果我创建了一个新的ViewController,并将其扩展到lib中,并在故事板中使用后者,则一切正常。
在应用程序中使用静态库不应该这么困难,所以我显然做错了什么。 你有任何工作流程和设置建议?
谢谢。
如果您没有相应的Xcode静态库项目和源代码,则可以按如下方式使用头文件和二进制静态归档文件:
你的文件夹结构应该是这样的:
$(LIBRARIES)/release-iphoneos
libA.a
libF.a
/include
/A
a1.h
/F
f1.h
发布配置(或所有其他)的标题搜索路径应包含此路径:
$(LIBRARIES)/release-iphoneos/include
您的iOS搜索路径(不是模拟器)应包含
$(LIBRARIES)/release-iphoneos
其中libA.a
和libF.a
是包含armv7,armv7s和arm64的通用二进制文件。
您也可以为Simulator设置一个库:只需获取Simulator的二进制文件(i386或可能的通用i386 + x86_64)并相应地设置库和页眉搜索路径。 (请注意,您可以在Build Settings编辑器中明确地为每个配置和体系结构设置标题和库搜索路径)。
您可以按如下方式导入标题:
#import <F/f1.h>
除此以外
如果您有Xcode静态库项目(和源代码),只需按照官方文档中的说明使用和构建一个静态库。
链接地址: http://www.djcxy.com/p/42641.html