WWDC2017에서 Apple 엔지니어와 유사한 오류 메시지에 대해 논의했습니다. 이 문제는 여러 가지 원인이있을 수있는 것으로 보이며 위에서 설명한 것과 약간 다른 문제라는 것을 알고 있습니다.
우리 팀은이 문제를 알아 내기 위해 몇 주를 보냈고 결국 우리가 알아낼 수 없었던 Apple 컴파일러의 버그가되었습니다. 또한 매우 쉬운 해결 방법이 있습니다.
따라서 이것은 다른 사람이이 혼란스러운 오류 메시지를 검색하고이 답변을 찾을 가능성을 최대화하기 위해 여기에 수정 사항을 게시하는 것입니다.
그래서 여기 있습니다. 우리의 경우 Swift와 Objective-C 프레임 워크를 혼합하여 사용하는 Objective-C 프로젝트가있었습니다. 이 수정 사항은 약간 다른 상황에 적용될 수 있습니다. 시도해보십시오.
컴파일 링 플래그가 프레임 워크와 프로젝트에서 집계되는 방식에 버그가 발생하고 "순수한 Objective-C"프로젝트가이를 "활성화"합니다.
해결책 : Objective-C 프로젝트에 하나의 빈 Swift 파일 ( "Whatever.swift"등)을 추가하여 더 이상 pure-objective-c가 아닙니다 (new-> file-> Swift 파일, 브리징 헤더를 만듭니다. 파일에는 Foundation 가져 오기만 포함됩니다.