728x90
# 이슈
Custom framework를 넣고 디바이스 빌드를 했더니 Custom framework의 Swift header에서 아래와 같은 에러가 발생했습니다.
# 조사
architecture는 x86_64, arm64가 들어가 있는 것을 확인했고,
이상하게도 시뮬레이터 빌드했을 때는 에러가 안 생겼습니다.
또한, framework를 100% Objective-C 코드로 구성했을 때는 문제가 없었는데, 이번에 Swift 코드도 같이 넣었더니 {Framework 이름}-Swift.h에서 컴파일 에러가 발생했습니다.
여기서 발생했고, 어디에 if-else 문을 따라 올라가서 확인했더니 가장 맨 윗줄에
#elif defined(__x86_64__) && __x86_64__라고 쓰여 있었습니다.
디바이스 빌드이니 architecture가 arm64 일 텐데 x86_64로 분기를 타서 에러가 발생한 것 같았어요.
# 해결방법
제가 찾은 해결방법은 총 3가지였습니다.
## 1) xcframework로 빌드
framework 형태였던 것을 xcframework로 바꿔줬더니 해결되었습니다.
(정확한 해결방법은 아닌 것 같은데.... 혹시 다른 방법 아시면 알려주세요ㅠ)
## 2) {Framework 이름}-Swift.h의 조건문을 arm64로 변경
아래처럼 elif 조건식을 arm64로 바꿔주면 해결됩니다.
## 3) {Framework 이름}-Swift.h의 if-elif-else 조건문을 아예 제거
{Framework 이름}-Swift.h의 처음과 끝에 있는 if-elif-else 조건문을 아예 제거해 주면 해결됩니다.
이번 글은 여기서 마무리.
반응형
'TroubleShooting' 카테고리의 다른 글
[CocoaPods] [!] An unexpected error occurred: <!DOCTYPE html> (0) | 2023.03.23 |
---|---|
[iOS] Error Domain=NSURLErrorDomain Code=-1200 해결방법 (0) | 2023.02.15 |
[Xcode 14] Asset validation failed 해결방법 (0) | 2022.12.31 |
[SwiftUI] '__designTimeInteger(_:fallback:)' is only available in iOS 13.0 or newer 에러 해결방법 (0) | 2022.11.05 |
[Xcode 14] Signing for "xxxx" requires a development team. 에러 (0) | 2022.10.26 |