現在、私は静的ライブラリを実装しており、テストアプリでコードを「そのまま」使用するとすべて正常に動作しますが、コードを静的ライブラリにコンパイルすると、認識されないセレクターが表示されます。これが私のコードです:
+ (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 に送信されました'
私は今かなり絶望的です。いくつかのシングルトン実装を試しました。