Obj-c导出静态库的.h文件 - 不希望公开类定义

时间:2014-01-07 15:37:53

标签: ios objective-c static-libraries

我正在努力正确/干净地创建iOS静态库。

到目前为止,我已使用Extension a在我的内部(私有).h声明和公共.h声明(导出)之间创建了一个分隔。

我已经“成功”创建了该库并看到它正常工作。但是我仍在公开WTDevice.h中公开类声明

@interface WTDevice : NSObject <WTMinorStateDelegate,CBPeripheralDelegate>

由于WTDevice继承自WTMinorStateDelegate,我也必须导出协议WTMinorStateDelegate,我不希望todo因为它只在库中使用。

BTW WTDevice扩展名在WTDevice_internal.h中,不会被导出。

我确信有一种方法可以放线:

@interface WTDevice : NSObject <WTMinorStateDelegate,CBPeripheralDelegate>

进入WTDevice.m(将其设为私有),但到目前为止我失败了。问题是当我从WTDevice.h文件中删除它时会替换它吗?

由于

1 个答案:

答案 0 :(得分:2)

在WTDevice.m中,在@implementation块之前添加此项以创建私有类别。

@interface WTDevice () <WTMinorStateDelegate>
@end

在WTDevice.h中,从@interface行中删除WTMinorStateDelegate。