Software/Xcode

iOS 프로그래밍 중의 missing required architecture arm64 에 대한 오류

초인로크 2015. 7. 23. 16:26
반응형

지금껏 아이폰4S 와 5세대 아이팟 터치를 들고 개발하고 있던 프로젝트 파일을,

이번에 새로운 아이팟 터치를 받아들고 시험삼아 개발하고 있는 프로그램을 빌드 했더니 아래와 같이 경고와 에러가 잔뜩 나타났다.


5세대 아이팟 터치랑 외관상 별반 다른것도 없는데 에러가 나서 좀 당황했었다.


ld: warning: ignoring file /Volumes/---/---/---, missing required architecture arm64 in file /Volumes/---/---/--- (3 slices)

ld: warning: ignoring file/Volumes/---/---/---, missing required architecture arm64 in file /Volumes/---/---/--- (2 slices)


Undefined symbols for architecture arm64:
  "------.", referenced from:
      -[------. ------.:] in ------.o
ld: symbol(s) not found for architecture arm64


아마도 새로운 하드웨어의 구조가 arm64비트 기반으로 되어있어서 에러가 난거 같은데, 지금까지 개발하고 있었던 32비트 기반의 프레임워크를 어떻게 처리해야 하나 고민하다가 곧 해결법을 찾아내고, 여기다가 잊어버리지 않게 정리 해 둔다.



프로젝트 - TARGETS - Build Settings 안의 Architectures 에서

$(ARCHS_STANDARD) 를 $(ARCHS_STANDARD_32_BIT)로 바꿔 주니까 32비트 아키텍쳐도 정상적으로 빌드가 되었다.

이 방법으로 아직 64비트용으로 개발되어 있지 않은 라이브러리도 계속 활용 할 수 있다.


iPhone5s부터 64비트 CPU를 가지고 있으므로, 조만간 애플 정책이 64비트도 대응되게 시스템을 짜야 하게끔 바뀔거 같다.

반응형