我正在努力正确/干净地创建iOS静态库。
到目前为止,我已经使用Extension a在内部( private ).h声明和 public .h声明(已导出)之间创建了分隔。
我已经“成功”创建了该库,并看到它正在工作。但是我仍然在 public WTDevice.h中公开类声明。
@interface WTDevice : NSObject <WTMinorStateDelegate,CBPeripheralDelegate>
由于WTDevice继承自WTMinorStateDelegate,因此我也必须导出协议WTMinorStateDelegate,我不希望这样做,因为它仅在库中使用。
顺便说一句,WTDevice扩展名在WTDevice_internal.h中,没有导出。
我敢肯定有一种方法可以做到这一点:
@interface WTDevice : NSObject <WTMinorStateDelegate,CBPeripheralDelegate>
进入WTDevice.m(将其设为 private ),但是到目前为止,我还是失败了。问题是,当我从WTDevice.h文件中删除它时,它将替换掉什么?
谢谢
最佳答案
在WTDevice.m中,在@implementation块之前添加它以创建 private 类别。
@interface WTDevice () <WTMinorStateDelegate>
@end
在WTDevice.h中,从@interface行中删除WTMinorStateDelegate。
关于ios - Obj-c为静态库导出.h文件-不想公开类定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20975692/