2011-05-11 41 views
4

我有一个使用多个自定义框架的Mac Cocoa应用程序。 (Apple称它们为专用,它是与您的应用程序一起分发到应用程序包中的框架。)在每个框架内部都有一个带有框架头文件的Headers文件夹。这些在产生的应用程序包内不需要&我想让它们保密。目前我使用一个运行脚本生成阶段与以下行:如何从我的自定义框架中删除标题?

# Remove all headers from our private frameworks 
find "${TARGET_BUILD_DIR}" -name Headers -print0 | xargs -0 rm -rf 

这是为了做到这一点,或者是有一个更好的?


更多关于我的项目结构:我有嵌套在我的主要工程三个项目的Xcode,这些项目有我的私人框架为他们的产品。框架被设置为我的主要目标的目标依赖项。设置的最后一部分是复制文件构建阶段,该阶段将框架复制到应用程序包内的框架子文件夹中。 (希望这已经足够清楚了。)

回答

2

您可能在您的框架中有一个副本头构建阶段。您可以:

1)删除它,

2)分别指定头在IDE中的知名度,

3)或添加/从复制标题相中除去他们

我只是设置我的目标了作为编译依赖,具有:

页眉
  • 为F副本相
    • 自定义搜索路径MWK
    • 没有复制头相

    您可以选择以不同的方式做到这一点(例如只显式创建fmwk,或者导出一些头文件)。

    如果你(最终)没有得到满意的答案,关于你的项目结构的更多细节可能会有所帮助,因为有很多方法来配置它。

    祝你好运

  • +0

    谢谢!我有一个复制文件阶段复制整个框架。是否有可能只复制没有标题的框架? (我将添加更多关于我的项目设置的信息) – zoul 2011-05-12 13:33:14

    +0

    hi zoul - 我只是没有将头文件复制到框架束(在构建框架目标时),并将框架的头文件目录添加到目标的搜索路径需要它们(使用'HEADER_SEARCH_PATHS')。对于我编写的大多数私有/内部库,我只是通过使用单一源代码树(绕过复杂/凌乱的HEADER_SEARCH_PATHS定义)来定位标题,然后声明包括相对于源代码树。在这种情况下,您仍然可以编写'#include ',假定MONFramework目录是源目录树中的一个目录。 (cont) – justin 2011-05-13 08:33:36

    +0

    那么'MONFramework/MONFramework.h'负责将所有公开/导出的标题包含在源代码树中。 – justin 2011-05-13 08:34:49

    相关问题