Я создаю статическую библиотеку для использования в проекте iOS и хочу декодировать XML-объекты, возвращаемые веб-службой. Я взял Google Toolbox для 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'
Я обнаружил несколько похожих проблем с переполнением стека, и в каждом случае спрашивающий впоследствии прокомментировал, что они исправили его, настроив настройку компоновщика, но не раскрывая, какую настройку! Если кто-нибудь может помочь мне с этим, я буду всегда благодарен!