Tuesday, March 29, 2022

ld: building for iOS Simulator, but linking in dylib built for iOS, file '_____' for architecture arm64 오류 해결

Flutter로 iOS 빌드시 오류 해결 방법

Flutter로 iOS를 빌드하다 보면, 다음과 같은 오류를 만날 수 있습니다:

ld: building for iOS Simulator, but linking in dylib built for iOS, file '_____' for architecture arm64

Error (Xcode): Building for iOS Simulator, but linking in dylib built for iOS, file '_____' for architecture arm64

flutter error screenshot

이는 주로 M1 환경에서 발생하는 호환성 문제입니다. 아래의 두 가지 단계를 수정하면 비교적 간단하게 해결할 수 있습니다.

Xcode 설정 변경하기

먼저 Xcode를 열고 target에서 app을 선택합니다. 그 다음 Build Settings > Architectures > Excluded Architectures에서 각 빌드별로 i386과 arm64가 있는지 확인 후 없으면 추가합니다.

xcode settings screenshot

Podfile 수정하기

Flutter의 경우, Podfile에서 설정을 덮어씌우는 작업이 있기 때문에 추가 작업이 필요합니다. Podfile 맨 밑에 코드를 아래와 같이 수정합니다:


post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |build_configuration|
      build_configuration.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386'
    end
  end
end

위의 두 가지 방법으로 제 환경에서는 오류가 깔끔하게 해결되었습니다.


0 개의 댓글:

Post a Comment