prosource

Swift 4.0으로 컴파일된 모듈은 Swift 4.0.1에서 가져올 수 없습니다.

probook 2023. 8. 6. 10:10
반응형

Swift 4.0으로 컴파일된 모듈은 Swift 4.0.1에서 가져올 수 없습니다.

그러나 동일한 Xcode를 사용하여 프레임워크를 다시 컴파일했는데 여전히 이 오류가 발생합니다.

  • 두 가지 모두를 위한 기본 SDK iOS 11.1
  • 둘 다를 위한 Swift Language Version Swift 4.0
  • 포드/카트리지 사용 안 함

누군가가 알고 있기를 바랍니다.

업데이트:

Xcode 릴리스 버전의 경우:

이 오류(및 Swift 4.1, 4.2 등과 관련된 유사한 오류)는 이전 Xcode 도구로 작성된 프레임워크를 사용하는 Xcode 9.1, 9.2, 9.3, 9.4, 10 등으로 프로젝트를 열 때 발생합니다.

문제를 카르타고를 하십시오.carthage update --platform iOS코코파드(), ().pod update또는pod install으로 업데이트된 도구를 합니다. 또는 수동으로 업데이트된 새로운 Xcode 도구를 사용합니다.Xcode를 업데이트할 때 도구가 자동으로 업데이트되어야 하지만 업데이트되지 않을 경우 원래 답변에서 아래에 설명된 단계를 수행할 수 있습니다.

해야 할 도 있습니다.cmd + shift + k 폴더 그고도당신의빌폴더드리마아▁your▁possibly▁and더▁folder▁build폴.cmd + option + shift + kXcode가 캐시된 프레임워크 빌드를 사용하지 않도록 합니다.

경우에 따라 파생 데이터 폴더를 삭제해야 할 수도 있습니다(Xcode 기본 설정 -> 위치 -> 파생 데이터 폴더(Thanks Stunner)로 이동하면 쉽게 찾을 수 있습니다).

Xcode 베타 버전의 경우:

아래의 원답을 참조한 다음 위의 단계를 따릅니다.

원본 답변:

아마도 여전히 Xcode 빌드 도구가 Swift 4.0으로 설정되어 있고 Xcode 9.1 베타의 Swift 4.0.1과 호환되지 않습니다.

다음 명령을 사용하여 터미널을 체크인합니다.

xcodebuild -version

또는 Xcode 기본 설정 -> 위치로 이동하여 명령줄 도구를 확인/Xcode 9.1로 변경합니다.그럼 준비를 하셔야겠네요.

Swift 4.0.2용으로 외부 프레임워크가 컴파일되지 않아 문제가 발생했습니다.카르타고를 통해 이 파일을 추가했으므로 실행:

carthage update --platform iOS

합니다.cmd + shift + k 폴더 및드더cmd + option + shift + k파생된 데이터 폴더를 삭제하는 것(휴지통 작업으로 이동하는 것도 가능)이 제게 도움이 되었습니다.

나의 경우, 나는 스위프트를 테스트하기 위해 xCode 11 베타 버전을 다운로드했습니다.UI. 프로젝트를 실행할 때 "Swift 5.1로 컴파일된 모듈을 Swift 5.0.1 컴파일러에서 가져올없습니다: .오류

이 문제를 해결합니다.xCode 명령줄 도구를 새로운 xCode 11 주석 줄 도구로 변경했습니다.그 후 Swift로 새로운 xcode 프로젝트를 생성할 수 있습니다.UI.

Xcode -> 기본 설정 -> 위치 -> XCode 명령줄 도구

Xcode Commend Line Tool

저는 이것이 새로운 프레임워크로 테스트하고 싶은 사람에게 도움이 되기를 바랍니다.

여기서 당신을 위해 작동하던 특정 Xcode 버전의 Xcode Toolchain을 설치합니다.

Xcode 도구 체인에는 컴파일러, lldb 및 Swift의 특정 버전에서 작업하기 위한 응집력 있는 개발 환경을 제공하는 데 필요한 기타 관련 도구의 복사본이 포함되어 있습니다.

Xcode의 Preferences를 열고 Components > Toolchains로 이동하여 설치된 Swift 툴체인을 선택합니다.

이것은 당신이 일단 앱을 컴파일하고 실행할 수 있게 됩니다.

Swift 4.2가 추가된 Xcode 10 베타로 이 문제를 해결했습니다.내 문제는 카르타고나 외부 의존과 관련이 없습니다.

에 가다YourTarget > Build Settings > Swift Language Version모든 Xcode 대상에 적용됩니다.

나의 모든 것은.Swift 4.

파일 복사 빌드 단계를 추가한 후 오류가 발생하기 시작했습니다.

:0: 오류: Swift 4.1.2로 컴파일된 모듈을 Swift 4.2 컴파일러에서 가져올 수 없습니다. /Users/user/Library/Developer/Xcode/DerivedData/MyApp-faskfrihumfcdjisjvbfshpp/Build/Intermediates.noindex/MyApp.build/Debug/MyAppExtension.build/objects-normal/x86_64/MyClass~partial.swift 모듈

명령 MergeSwiftModule이 0이 아닌 종료 코드로 실패했습니다.

그런 다음 각 목표의 값을 설정합니다.Swift Language Version로.Swift 4.2오류를 제거했습니다.

하지만 모든 대상이 다음과 같이 설정되어 있기 때문에 애초에 오류가 발생한 이유는 잘 모르겠습니다.Swift 4동등하게 유효해야 합니다.

내 경우(Xcode 9.2):

나는 Xcode에 갔습니다.Preferences > Locations > Derived Data

그런 다음 데이터를 삭제하고 깨끗한 빌드를 수행하여 문제가 없었습니다.

저의 경우, 저는 플러그인이 있는 코코아 포드를 사용했습니다.cocoapods-binary바이너리에 라이브러리를 미리 빌드합니다.Xcode를 10에서 11로 업그레이드한 후 Xcode에서 다음 오류가 발생합니다.

Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler

저는 그것을 제거함으로써 고칩니다./Pods디렉터리 및 실행pod install.

저의 경우, 저는 프레임워크를 불평하는 버전으로 다시 컴파일했습니다.

다시 컴파일하려면, 실행pod update또는 카르타고(사용 중인 모든 사용자)를 업데이트하고 프로젝트를 구축합니다.

그런 다음 파인더에서 프레임워크를 검색합니다.복사하여 붙여넣기theFramework.framework"필요한 경우 항목을 복사하십시오."프로젝트를 다시 구축하면 효과가 있을 것입니다.

몇 가지 기본 단계를 사용하여 이 문제를 해결했습니다.

  • Close Xcode
  • pod deintegrate
  • Open Xcode workspace
  • Command + Shift + K깨끗함
  • Command + B빌드

언급URL : https://stackoverflow.com/questions/46726077/module-compiled-with-swift-4-0-cannot-be-imported-in-swift-4-0-1

반응형