Kakao i ConnectLive Q&A 게시판

XCode 13.1 에서 오류 발생 문의 드립니다

앱 빌드시 두가지 오류가 발생하고 있습니다.

  • Cannot load underlying module for ‘SwiftProtobuf’
  • 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’ 로 지정하였지만 문제가 해결되지 않고 있습니다.

조치 방안이 있는지 확인 부탁드립니다.
ios 최소 빌드 버전은 10 입니다.

다른 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) 사용이 가능하실지 한번 확인 부탁드리겠습니다.

xcode 13.2.1 로 테스트해보고 결과 답변드릴께요

xcode 13.2.1 로 시도해봤는데… 안되네요 ㅠㅠ

os 재부팅,
~/Library/Developer/Xcode/DerivedData 삭제,
Pods/ 및 Podfile.lock 삭제,
Clean build folder 실행 후
pod install 실행 까지 했는데도 동일한 현상이 발생되고 있습니다…

SwiftProtobuf 가 정상 로드되지 않는 것 같은데…
~/Library/Caches/CocoaPods/Pods 폴더도 한번 삭제 후 다시 설치 해보시면 좋겠습니다.

그래도 해결되지 않을 경우를 위해 xcode 13.2.1로 빌드된 RemoteMonster sdk 2.7.16 버전을 등록 해두었습니다.
pod repo update 후 해당 버전으로 설치해 보셨으면 합니다.

먼저 적극적으로 대응 해주셔서 감사드립니다. :pray:

배포해주신 2.7.16 으로 설치 후 빌드는 성공하였습니다.
다만… 앱이 실행되면서 오류를 뿜내요 ㅠㅠ

**dyld: Library not loaded: @rpath/SwiftProtobuf.framework/SwiftProtobuf**

**Referenced from: /private/var/containers/Bundle/Application/F3C3CA21-07A6-4E6A-98C4-23AAE1ADBB3F/kids.app/Frameworks/RemoteMonster.framework/RemoteMonster**

**Reason: image not found**

해당 오류에 해결을 위해 target > genral > frameworks, libraries, and embeded contents 항목에 swiftprotobuf 를 추가하여 실행해봤지만 같은 오류를 발생시키고 있습니다.

우선은 성공하는 프로젝트의 기타 설정들과 다른점이 있는지 확인해보며 테스트하려고 합니다.
관련된 내용에 대해 혹시 알고 계신 사항이 있으시면 알려주시면 감사하겠습니다…