我正在构建一个用于 iOS 项目的静态库,并且我想解码从 Web 服务返回的 XML 实体。我已经使用 Google Toolbox for Mac并将以下文件添加到我的项目中:
- GTMDefines.h
- GTMNSString+HTML.h
- GTMNSString+HTML.m
然后在我自己的 .m 文件中,我这样做:
#import "GTMNSString+HTML.h"
// then in one of my methods:
NSString *value = [anotherNSStringValue gtm_stringByUnescapingFromHTML];
代码编译得很好,但是当我运行使用我的静态库的应用程序时,它会崩溃,并NSInvalidArgumentException
抱怨gtm_stringByUnescapingFromHTML
选择器无法识别NSString
:
2011-02-10 12:21:38.401 MyApp[20356:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString gtm_stringByUnescapingFromHTML]: unrecognized selector sent to instance 0x71403e0'
*** Call stack at first throw:
(
0 CoreFoundation 0x0111bbe9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x012705c2 objc_exception_throw + 47
2 CoreFoundation 0x0111d6fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x0108d366 ___forwarding___ + 966
4 CoreFoundation 0x0108cf22 _CF_forwarding_prep_0 + 50
5 MyApp 0x00028dcf -[GSMyAppXMLParser parseData:] + 714
// Rest of stack trace removed
)
terminate called after throwing an instance of 'NSException'
我在 Stack Overflow 上发现了一些类似的问题,并且在每种情况下,提问者随后都评论说他们通过调整链接器设置来修复它 - 但没有透露哪个设置!如果有人可以帮助我解决这个问题,我将永远感激不尽!