Develop

[ios] 카테고리 확장 메소드를 찾지 못하는 경우

by hooni posted Aug 08, 2014
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print
카테고리(Category) 확장 메소드를 못찾는 경우

오픈 소스나 3rd party 프레임워크를 가지고 왔는데, 빌드시 오류도 없고 소스도 잘 가지고 있는 카테고리의 경우 실제 실행시 해당 확장한 카테고리의 메소드를 못 찾는 경우가 있다.

해결방법은,
TARGETS >  앱명 > Build Settings > Linking “Other Linker Flags” 에 “-ObjC” 추가해 준다.

(ex)
xxx.m에서 사용한  #import "NSMutableArray+aaa.h”의 객체 queue가 있는 경우, 얘의 메소드 enqueue를 못 찾고 죽는경우

<오류스타일>
2014-04-15 19:28:23.093 BookPlayer[3352:60b] -[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x17d46270
2014-04-15 19:28:23.098 BookPlayer[3352:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x17d46270'
*** First throw call stack:
(0x2ead4fd3 0x39281ccf 0x2ead8967 0x2ead7253 0x2ea267f8 0x84831 0x80fb1 0x7eeb7 0x31326057 0x31325ff7 0x31325fd1 0x31311737 0x31325a4f 0x31325721 0x313206eb 0x312f58ed 0x312f3f97 0x2eaa025b 0x2ea9f72b 0x2ea9df1f 0x2ea08f4f 0x2ea08d33 0x3390d663 0x3135416d 0x740c5 0x3978eab7)
libc++abi.dylib: terminating with uncaught exception of type NSException

otherlink.jpg




[참고] http://stackoverflow.com/questions/10442653/unrecognized-selector-calling-category-method-in-static-ios-library
Your 3rd party framework is probable using a category on a existing (apple) class. But to load/find the category you need to add the -ObjC flag in the build settings under Other Linker Flags
[출처] http://funnyrella.blogspot.kr/2014/04/104.html