我有一個使用Core Telephony框架的項目。最近我的代碼停在CTCarrier
類的工作,鏈接器抱怨說,它無法找到CTCarrier
類:鏈接器找不到應該在那裏的類
Undefined symbols:
"_OBJC_CLASS_$_CTCarrier", referenced from:
l_OBJC_$_CATEGORY_CTCarrier_$_Foo in CTTests.o
ld: symbol(s) not found
這是觸發上述錯誤示例代碼:
#import <CoreTelephony/CTCarrier.h>
@interface CTCarrier (Foo)
- (void) doFoo;
@end
@implementation CTCarrier (Foo)
- (void) doFoo {}
@end
如果我代碼突然建立:
#import <CoreTelephony/CTCarrier.h>
@interface CTCarrier()
- (void) doFoo;
@end
@implementation CTCarrier
- (void) doFoo {}
@end
這是怎麼回事?示例代碼on GitHub。
我知道類是如何工作的,在至少我希望如此:)問題是,鏈接器抱怨說它無法找到我正在添加類別的類。當我切換到類擴展而不是類別時,鏈接器停止抱怨。這很奇怪。 – zoul 2010-11-25 11:46:23