Xcode 11.0을 사용하여 전통적인 RxSwift.framework
스타일 패키지 로 컴파일 한 프레임 워크 (이 경우 RxSwift)가 있습니다.
이것은 Xcode 11.0으로 가져 왔으며 11.1에도 아무런 문제가 없었습니다.
오늘 Apple의 Xcode 11.2 릴리스에 따라 업그레이드하여 오류가 표시되었습니다.
Swift 5.1로 컴파일 된 모듈은 Swift 5.1.2 컴파일러에서 가져올 수 없습니다
컴파일러 불일치를 신속하게 처리하는 데 익숙하며 Xcode 11.2를 사용하여 RxSwift를 다시 컴파일하고 계속 수행 할 수 있지만 Swift 5.1의 헤드 라인 기능은 모듈 안정성 이었습니다.
모듈 안정성이 확보되었으므로 프레임 워크가 모든 새로운 Xcode 릴리스마다 계속 다시 컴파일 될 필요는 없지만 인상적이지는 않습니다.
누군가 여기서 무슨 일이 일어나고 있는지 설명 할 수 있다면 나는 그것을 높이 평가할 것입니다. Xcode 11.2에 버그가 있습니까? 아니면 원래 Xcode 11.0으로 컴파일 할 때 모듈 안정성을 원한다고 말했습니까?
답변
OK, WWDC 비디오를 시청하면 다음과 같이 설명합니다.
https://developer.apple.com/videos/play/wwdc2019/416/
당신은 설정해야합니다 배포를위한 빌드 라이브러리 에 옵션 예를 그렇지 않으면 빠른 컴파일러는이 켜지지 생성하지 않습니다, 당신의 프레임 워크의 빌드 설정에서을 .swiftinterface
기존 라이브러리를로드 할 수있는 미래 컴파일러의 열쇠 파일을.
이것은 project.pbxproj 파일에서 다음과 같이 끝납니다.
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
이 플래그를 설정 한 후 Xcode 11.0 (swift 5.1)을 사용하여 컴파일 한 프레임 워크를 Xcode 11.2 (swift 5.1.2)에서 사용할 수 있었고 모든 것이 올바르게 작동하는 것으로 보입니다.
이 질문 / 답변이 모든 WWDC 비디오를 보지 않은 모든 사람에게 유용한 참고 자료가되기를 바랍니다.
오류 스틸이 지속이에 가면 제품 > 클린 빌드 폴더 및 빌드 다시.
답변
타사 라이브러리를 가져 오는 동안 동일한 오류가 발생했습니다. Xcode에서 툴체인을 사용하여 수정했으며 2019 년 9 월 19 일 릴리스 https://swift.org/download/#releases 에서 가져 왔습니다 . 그 후 라이브러리를 다시 가져와야 작동했습니다.
답변
Carthage를 사용하여 RxSwift 프레임 워크를 추가 할 수 있습니다.
기본적으로 Carthage는 유사한 전통적인 RxSwift.framework 스타일 패키지를 제공합니다 .
그런 다음 시도하십시오 carthage update --no-use-binaries
.
답변
이로 인해 컴파일러 오류가 사라졌습니다.
carthage bootstrap --platform ios
brew bundle
pod repo update
답변
