카테고리(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](https://www.hooni.net/xe/files/attach/images/207/915/057/8772976ffbbbf012d6cb76ff7951881d.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
-
[ios] 언어, 지역, 국가 설정 가져오기
-
[ios] 여러 버전의 Xcode 사용하기
-
[ios] 오브젝티브C→스위프트, 코드 변환 손쉽게
-
[ios] 웹뷰 history.back() ㅋㄷ
-
[ios] 유용한 매크로
-
[ios] 자주 쓰는 패턴과 API
-
[ios] 참고할만한 좋은 예제 소스..
-
[ios] 최상위 ViewController 가져오기
-
[ios] 최신 UI 모음.. (나중에 정리할 것)
-
[ios] 카메라 사용 권한 확인해서 분기하는 방법
-
[ios] 카테고리 확장 메소드를 찾지 못하는 경우
-
[ios] 커스텀 폰트 사용하기 (Custom Fonts)