#0_jou/2022/04/21
#1_input/blog
#2_out/swift
#1_input/swift/errornote
Building for iOS Simulator, but the linked framework ‘000Framework.framework’ was built for iOS
= 해당 프레임 워크각 iOS에서만 빌드가 되도록 처리되어 있다.
OBJCCLASS$”~”,referenced from
(아마 뒤에 이런 내용도 있을 것이다. ld: symbol(s) not found for architecture arm64)
= arm 64 아키텍쳐로 된 무언가를 찾을 수 없다는 내용
Building for iOS simulator, but linking in dylib built for iOS, file ‘ ‘framework for architecture arm 64
= 해당 프레임 워크는 arm 64로 되어 있다.
Simulator 는 해당 맥에 해당하는 아키텍쳐를 따라갑니다.
그러므로 m1 맥에서 시뮬레이터는 arm 64 이므로, 프레임 워크가 arm 64만 지원한다면, 시뮬레이터에서 잘 동작합니다.
하지만 intel 맥 시뮬레이터는 x86_64 이므로, 프레임워크가 arm64만 지원한다면, 시뮬레이터 동작하지 않을 수 있습니다.
역으로도 마찬가지입니다.
Project > Build Setting > Architectures > Excluded Architectures 에 가서
각각의 scheme에
“Any iOS Simulator SDK” : “arm64”
를 추가합니다.
이 의미는, arm 64로 시뮬레이터가 동작하지 않도록 처리하는 코드입니다.