ios - xcode 静态库 public/private/project 头文件

标签 ios objective-c xcode static-libraries header-files

所以,我有一个 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/

相关文章:

ios - 关于通过应用程序加载器向 iTunes Connect 提交我的 iOS 应用程序的更新

ios - 在 UICollectionViewCell 的 subview 上调用 removeFromSuperview 在第一次加载时不起作用,仅当单元格被重用时

iphone - 用我自己的 View 替换 UIViewController Root View

iPhone:哪个 Controller 应该处理 CRUD 逻辑?

ios - iPhone 的 UIPopoverController 通过实现类别

ios - 导入库的 xcode build设置 (xcode 5)

ios - 如何在非 ARC 兼容项目中使用 ARC 兼容文件

ios - VERBOSE-2 : Platform_view_layer. cc(28) - 尝试嵌入平台 View 但 PaintContext 不支持嵌入

ios - 无法从 plist 获取内容到 UITableview

ios - Swift - 启动屏幕 SIGABRT 错误