在静态库iOS中导入标题

时间:2012-12-05 13:20:14

标签: objective-c ios

我有一个相对的 简单的问题,我希望得到答案。

想象一下,我在iOS中有一个静态库,说MyLibrary.a

在这个库中说有一些.m文件调用:"#import SomeHeaderWhichDoesNotYetExist.h" - 但问题是,当调用"#import SomeHeaderWhichDoesNotYetExist.h"时, SomeHeaderWhichDoesNotYetExist.h可能不一定存在于项目中(如标题所示)。如,

#ifdef something
#import SomeHeaderWhichDoesNotYetExist.h
#endif

如某人使用 Mylibrary.a - 他/她可能会在稍后实施 SomeHeaderWhichDoesNotYetExist.h,我们希望MyLibrary.a能够 按照上面的代码中的指定自动使用它。你认为这是可能的吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

我们经常使用类似的种类

#ifdef TARGET_OS_IPHONE 
    // iOS
#elif defined TARGET_IPHONE_SIMULATOR
    // iOS Simulator
#elif defined TARGET_OS_MAC
    // Other kinds of Mac OS
#else
    // Unsupported platform
#endif

所以我会说,是的,你可以 !!!

但您需要定义something

答案 1 :(得分:0)

不,它不能,至少不是你表现的方式。

您显示的条件编译块用于预处理器,并在编译之前调用它。如果您想以这种方式包含任何新内容,则必须重建。