[Error] Xcode 빌드세팅 - Other Linker Flag : -ObjC 에 대해 알아보자 (selector not recognized)
Opened this issue · 0 comments
chaneeii commented
🤔 Intro + Error
파이어베이스 FCM 세팅하던 친구가 갑자기 이상한 근본없는 버그가 있다고 해서 같이 찾아보다가 더 궁금해서 찾아보았다!
💡 해결방법
같은 일을 겪은 분을 찾았다.
그중 Other Linker Flag 를 -ObjC 로 설정한다면 된다는 걸 봤고 실제로 해결이 되었다.
- In Xcode, choose View > Navigators > Show Project Navigator, or press ⌘1.
- Select your project under the PROJECT heading in the Project Navigator, then select the Build Settings tab.
- Scroll down to the Other Linker Flags build setting under the Linking collection, or type "Other Linker Flags" into the search bar.
- Set the value of the Other Linker Flags build setting to $(OTHER_LDFLAGS) -ObjC.
👀 왜 Other Linker Flags 에 -ObjC
를 넣어야하는가?
ObjC를 Other Linker Flags에 넣는 것은, Objective-C로 개발된 특별한? *.framework 파일을 사용할 때 발생하는 문제를 해결하기 위해서다
Q: How do I fix "selector not recognized" runtime exceptions when trying to use category methods from a static library?
A: If you're seeing a "selector not recognized" runtime exception when calling a category method that is implemented in a static library, you are hitting the link-time build issue described here, and need to add the -ObjC linker flag to your project, by following these steps:
👀 왜 이러한 에러가 발생하나요?
- 에 대한 공식문서와 친절한 블로그 분의 정리
출처
- https://developer.apple.com/library/archive/qa/qa1490/_index.html
- https://syjdev.tistory.com/27#:~:text=%2DObjC%EB%9D%BC%EB%8A%94%20Linker%20Flag%EB%8A%94,%EB%AC%B8%EC%A0%9C%EB%A5%BC%20%ED%95%B4%EA%B2%B0%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8B%A4.
- https://syjdev.tistory.com/27
- https://es1015.tistory.com/446