3

我在本教程中读到,头文件的静态库输出路径应该是这样的结构,例如:

Build/Products/Debug-iphoneos/YourLibraryName

然后您就可以<YourLibraryName/YourLibraryName.h>用作导入。

我遵循了所有步骤,并为我的静态库项目(在静态库 xcode 项目中)的目标配置了Public Headers 文件夹路径YourLibraryName而不是/usr/local/include. 更改适用于所有阶段,调试和发布。

好的,然后我清理了所有目标并删除了 Finder 中的构建文件夹并再次构建。但没有变化。Xcode 不断将头文件复制到

Build/Products/Debug-iphoneos/include/YourLibraryName

它不想跳过“包含”文件夹。我还尝试更改 Private headers 文件夹路径,但也没有效果。这是 Xcode 中的错误还是有解决方法?

我的目标是,我想为我的常用实用程序类创建一个静态库 xcode 项目。然后把它拖到我所有使用它们的应用程序中,并包括像苹果框架这样的框架,带有尖括号。

4

1 回答 1

4

(免责声明:我还没有切换到 Xcode 5,但我对 4.x 的经验可能仍然适用于此。)

检查您是否有目标的Copy FilesCopy Headers构建阶段。(在 Project navigator 中选择项目项,然后选择目标,最后选择Build Phases选项卡。)在新项目中,Xcode 模板现在包含Copy Files代替Copy Headers,而您引用的文章可能假定后者。

Public Headers Folder PathPrivate Headers Folder Path设置仅由Copy Headers使用。Copy Files在构建阶段的配置中具有正确的目标路径,并且默认为$(BUILT_PRODUCTS_DIR)/include/${PRODUCT_NAME},这正是您的标头结束的位置。

如果是这种情况,简单的解决方案就是在Copy Files构建阶段更改路径。(删除路径的“include/”部分。)或者,您可以切换到Copy Headers构建阶段,但这显然不建议用于静态库项目,因为 Archive 操作存在问题。

于 2013-11-30T16:26:13.230 回答