所以,我有一个 iOS 应用程序项目,其中有一个静态库作为子项目。正如在 SO 上多次发现的那样,您应该将库头文件的可见性设置为 public/private/project,具体取决于谁应该能够使用它们。
基于此,我创建了一个带有头文件的类,该类向应用程序项目(或将要使用此库的任何人)公开功能。自然地,这个头文件从库项目中的其他类中导入了许多头文件。由于这些其他头文件不提供应向库用户公开的功能,我想将它们设置为“项目”,使它们对世界其他地方不可见。
但是,当我将头文件设置为“项目”时,它们不会被复制到任何私有(private)或公共(public)头文件文件夹中。这会导致在编译时在 PublicLibraryClassHeader.h
中使用 #import "ProjectHeader.h"
时出现 'ProjectHeader.h' file not found
错误使用该库的应用程序项目。
所以问题是:如何在库项目中将头文件设置为“项目”并仍然在该库项目中使用它们?我是否误解了静态库中公共(public)/私有(private)/项目头文件的概念?
最佳答案
最简单的方法是将静态库转换为框架。 Framework 是特定容器中的静态库,可以为您完成所有工作。顺便说一句,关于公共(public) header 的这些词与框架有关,与静态库无关。
关于ios - xcode 静态库 public/private/project 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516021/