Failed to build module ‘RemoteMonster’; this SDK is not supported by the compiler (the SDK is built with ‘Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)’, while this compiler is ‘Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6)’). Please select a toolchain which matches the SDK.
이전글을 검색하여 컴파일 버전 오류시 podfile 내에 RemoteMonster 항목에BUILD_LIBRARY_FOR_DISTRIBUTION=‘yes’ 로 지정하였지만 문제가 해결되지 않고 있습니다.
다른 xcode 버전에선 정상이었는데, 13.1 에서 오류가 발생하는 것인가요?
workspace에서 RemoteMonster, SwiftProtobuf 의 build library for distribution 이 정상 설정되었는지 build setting 에서 확인해 보셨으면 합니다.
BaseExample프로젝트, RemoteMonster 2.7.15 버전으로 설치 후 build setting을 직접 변경해 빌드해보니 xcode 13.0, 13.2.1 의 경우 특별히 문제가 발생하고 있진 않습니다.
제공되는 예제인 BaseExamples에서도 동일한 오류가 발생하는지도 확인해 주시면 좋겠습니다.
문제가 발생하는 프로젝트는 react-native 프로젝트이고, 이전에 xcode 12.4 에서는 정상적으로 빌드 되었던것을 최근 os 업데이트로 xcode 13.1 로 변경한 후 해당 문제가 발생하였습니다.
글과 유사한 문제로 보여 내용을 참조하여 시도해 보았는데 해결이 되지 않고 있는 상황입니다.
최소 빌드버전은 10 이여서 SwiftProtobuf 항목은 제외하고 아래와 같이 Podfile 에 내용을 추가하였습니다.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if target.name == 'RemoteMonster'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
else
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'NO'
end
end
end
end
이후에도 문제가 해결되지 않아 아래와 같이 swift version 도 오류 메세지를 참고하여 추가하여 시도해봤으나 같은 현상이 발생중입니다.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if target.name == 'RemoteMonster'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
config.build_settings['SWIFT_VERSION'] = '5.3' #5.3.2
else
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '5'
end
end
end
end
ios sdk 가 react native 환경에서 테스트나 검토가 된 적이 없어 정확한 문제를 확인하지 못하겠습니다.
현재로서 명확히 해결이 불가능하니 xcode 13.x 환경으로 swiftprotobuf 포함해 배포를 진행하고, 해당 버전으로 테스트를 해봐야 할 것 같습니다.
관련 설정을 진행해보고 금주내로 배포해서 테스트를 진행하면 어떨까 합니다.
혹 프로젝트에서 xcode 13.2.1 (swift 5.5.2) 사용이 가능하실지 한번 확인 부탁드리겠습니다.