Header 静态库中的文件包含和可见性 iOS

Header file inclusion and visibility in static library iOS

当从 iOS 项目创建静态库时,在 Lib.a 文件中,它是否也将所有 header 文件捆绑到其中。或者我应该将 public header 使用的所有 header 文件标记为私有 headers 然后在 /usr/local/include 文件夹中添加所有私有文件静态库目标是构建?

不,没有任何事情会自动发生。静态库的正常流程如下:

  • 在您的项目中有一个静态库目标,因此您可以将项目包含在应用程序中并验证功能

  • 创建一个 运行 脚本和聚合目标,以便为 iOS 构建一个 .a,为模拟器构建一个 .a,然后 "lipo" 将它们合二为一.a

  • 在 运行 脚本中,将 .a 和所有必要的 .h 文件复制到您创建的某个文件夹中

文件夹就是你分发的。用户链接到 .a,并在他们的应用程序项目中设置搜索路径以指向包含您的 .a 的文件夹。