目前我正在实现一个静态库,如果我在test-app中“按原样”使用代码,一切正常,但是如果我将代码编译成静态库,我会得到一个无法识别的选择器,这是我的代码:
+ (id)sharedInstance {
DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
return [[self alloc] init];
});
}
#define DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \
static dispatch_once_t pred = 0; \
__strong static id _sharedObject = nil; \
dispatch_once(&pred, ^{ \
_sharedObject = block(); \
}); \
return _sharedObject; \
调用
[ZanoxTrackingEvent sharedInstance]
结果
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'+ [ZanoxTrackingEvent sharedInstance]:无法识别的选择器发送到类0x27ee8'
我现在非常绝望,我尝试了几个Singleton实现。
答案 0 :(得分:0)
如果文件系统中的路径错误,则会发生此错误。这就是我的情况。