gpt4 book ai didi

iphone - iOS 静态库作为具有自定义构建配置的项目的子项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:53 24 4
gpt4 key购买 nike

我正在尝试在多个 Xcode 项目之间共享代码。我遵循了 Apple 关于在项目中创建静态库子项目的说明:

http://developer.apple.com/library/ios/technotes/iOSStaticLibraries/iOSStaticLibraries.pdf

这很好用!但是,当我按照相同的说明使用我自己的项目时,我发现我在静态库中公开的头文件无法被我的应用程序中的代码找到。

这是因为我的项目使用自定义构建配置。我有一个用于 Ad Hoc 构建、App Store 构建等。

例如:当我使用名为“Ad Hoc”的构建配置构建项目时,静态库子项目构建 Release 配置并将其公共(public) header 复制到名为“Release”的文件夹中。然后主项目无法构建,提示它找不到我从静态库导入的 header 。错误在 Issue Navigator 中显示为:Lexical or Preprocessor Issue

所以我的问题是:如何将静态库设置为具有库没有的构建配置的项目的子项目?

最佳答案

我在制作自定义项目模板时遇到了这个问题。

将“$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)”添加到“Header Search Paths”和“User Header Search Paths”,用于您使用 Archive 的任何构建配置,并确保将其设置为“递归”反对“非递归”。这将告诉您的应用在构建目录中的“Release”目录中搜索头文件。

问题是,对于调试构建,所有头文件都被复制到派生数据下的单个目录中。但是当您存档时,文件将被复制到以构建配置命名的文件夹中。因此,当您执行“Ad Hoc”构建时,所有文件都会被复制到“Ad Hoc”文件夹,但您的静态库文件会被复制到“Release”文件夹。这些文件夹并排放置,除非被告知这样做,否则将仅在“Ad Hoc”文件夹下搜索头文件。

这是我修复问题的项目模板的 GitHub 提交 https://github.com/reidmain/Xcode-5-Project-Templates/commit/e465aa3d5c82118cc0d5af3a7f6f094d86b1ec63

关于iphone - iOS 静态库作为具有自定义构建配置的项目的子项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com