-
Duplicate Symbol이나 link warning이 발생하지 않는다.앱등이에게 살충제를 뿌린다./고무망치를 도와라 2018. 6. 11. 15:32
문제 상황
cocoapods을 사용하고 있다.
cocoapods에 SampleClass라는 클래스가 있고, 내 프로젝트에도 SampleClass라는 클래스가 있다.
이 때, pods에 있는 framework를 import하지 않고, SampleClass를 사용하면 내가 만든 SampleClass가 사용된다.
Warning은 전혀 발생하지 않는다.
하지만 pods에 있는 framework를 import한다면?
그래도 내가 만든 SampleClass가 사용된다.
Warning은 전혀 발생하지 않는다.
그럼 내가 만든 SampleClass를 삭제한 뒤, pods에 있는 framework를 import한다면?
그러면 pods에 있는 SampleClass가 사용된다.
왜 build warning이 발생하지 않는 것일까??
Dynamic framework에서는 같은 클래스명이 두개라도 빌드가 잘 된다고 한다. (iOS8이전의 Static framework에서는 빌드가 안됨)
Another important difference is dynamic frameworks have namespace classes and static libraries don’t. So, if you had two classes called
MyTestClass
in different static libraries within a single project, Xcode would not be able to build the project because it would fail to link correctly citing duplicate symbols. However, Xcode is perfectly happy building a project that has two classes with the same name in different frameworks.이 것과 관련이 있는 것일지??
'앱등이에게 살충제를 뿌린다. > 고무망치를 도와라' 카테고리의 다른 글
Swift에서는 왜 Import 헤더를 하지 않아도 되는 것일까? (0) 2016.12.28 [iOS/GCD] dispatch_async, dispatch_sync (6) 2016.11.12 [iOS] UICollectionView에서 발생하는 크래쉬 (1) 2016.07.29 UIViewController의 view는 frame이 왜 변하지 않는것일까? (0) 2016.06.22