겨울팥죽 여름빙수
article thumbnail

ios 14대응하기 위해, 맥 os를 카탈리나로 업그레이드하고, xcode12로 업데이트 했더니,

역시나 애플.. 빌드 실패가 떴다. 에러메시지를 보니 아래와 같다.

 

ld: in {...}/proj.ios_mac/sdkbox.framework/sdkbox(IAPTrackingIOS.o), 
building for iOS Simulator, but linking in object file built for iOS, 
file '{...}/proj.ios_mac/sdkbox.framework/sdkbox' for architecture arm64

 

딱 보아하니 arm64로 빌드가 뭔가 문제가 있어보였다. 일단 구글링 해 보니,

 

xcode12에 [Build Settings]->[Excluded Architectures]에 arm64를 추가해보라는게 대부분이었다.

xcode12가되면서 Excluded Architectures라는 녀석이 생겼는데, 시뮬레이터는 arm64가 아니니, 저렇게 하라는 거 같다. 실제로 대부분 답변들이 저걸로 해결 됐다고 하는데, 나는 또 다른 문제에 부딪히게 됐다.

 

 

이번엔 생성된 app파일의 권한이 없다고 나왔다. 그래서 카탈리나 os에 새롭게 생긴 접근 권한이 문제인가 해서, 아래 그림과 같이 권한을 줘 봤는데도, 저 에러는 해결되지 않았다.

 

The operation couldn’t be completed. Permission denied
Domain: NSPOSIXErrorDomain
Code: 13
Failure Reason: Permission denied

 

 

또 다른 방법으로,

  • DerivedData 폴더 삭제
  • 프로젝트 Clean
  • Xcode 재설치
  • [Build Setting]->[VALID_ARCHS] 삭제.

등으로 해결을 해보려 했지만, 잘 되지 않았다.

 

재미있는 사실은 시뮬로는 안되는데, Device직접설치로는 잘 됐어서, 그냥 포기하고 Device로 테스트 해야겠구나 하던 찰나에,

[Build Setting]->[VALID_ARCHS]를 삭제하지 않고,

x86_64 

을 추가해 보았는데,  문제가 모두 해결되었다.

한마디로, [Excluded Architectures]를 사용하지 않고, [Build Setting]->[VALID_ARCHS]를 아래와 같이 설정했다.

arm64 armv7 x86_64

 

현재는 Simulator, Device모두 설치가 잘 된다. 

프로젝트 별로 해결방법이 조금씩 다른거 같으니, 위에 나온 방법 모두 한번씩 해보길 바란다.

 

참고한 곳.

github.com/CocoaPods/CocoaPods/issues/10066 

 

profile

겨울팥죽 여름빙수

@여름빙수

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!