M1 맥북과 인텔 맥북 간 architecture 오류(arm64,x86_64) 정리

akay·2021년 11월 1일
0

Swift 이야기

목록 보기
2/2

현재 M1맥북을 사용하고 있고 PicMap어플리케이션 제작을 하다보니, cocoapods로 라이브러리를 가져오는 과정에서 여러 오류가 발생했다.

OBJC_CLASS$_"~",referenced from 오류

해결책 1 pod deintegrate -> pod update 실행

그러나 내 프로젝트에서는 해결되지 않았다.

해결책 2 Xcode를 로제타로 변환 후 실행

Xcode -> 파인더에서 보기 -> 정보가져오기 -> Rosetta를 사용하여 열기

이 방법으로 해결할 수 있었으나 M1 맥북의 퍼포먼스를 전부 사용하지 못한다.

Building for iOS simulator, but linking in dylib built for iOS, file ' 'framework for architecture arm 64 오류

해결책 1 podFile에 아래 소스를 넣는다.

 post_install do |pi|
     pi.pods_project.targets.each do |t|
         t.build_configurations.each do |bc|
            bc.build_settings['ARCHS[sdk=iphonesimulator*]'] =  `uname -m`
         end
     end
  end

Xcode12 는 인텔CPU 의 맥과 ARM용 맥, 2개의 아키텍쳐를 모두 사용 가능하기때문에 호환성 이슈가 발생한다! ARM기반의 맥북이 나옴으로써 Xcode12의 시뮬레이터는 제외시킬 아키텍쳐를 지정하는 방식을 사용하는데 현재 x86_64 시뮬레이터를 지원하기 때문에
EXCLUDED_ARCHS의 Debug와 Release를 arm64 입력해 아키텍처 사용제외 해야한다.

profile
iOS Developer

0개의 댓글

관련 채용 정보