- 2022.09.21 업데이트
https://github.com/navermaps/ios-map-sdk/blob/master/CHANGELOG.md
GitHub - navermaps/ios-map-sdk: 네이버 지도 iOS SDK 데모 앱
네이버 지도 iOS SDK 데모 앱. Contribute to navermaps/ios-map-sdk development by creating an account on GitHub.
github.com
NaverMaps 3.15.0 에서 이슈가 있었습니다.
3.16.0 버전에서 시뮬레이터에서의 렌더러 기본 타입이 Metal 로 변경되었습니다.
---
회사 프로젝트를 CocoaPods 와 SPM 을 사용하는 환경에서 Tuist + Dependencies 를 사용하는 환경으로 이주를 했습니다.
이주를 하며 많은 이슈가 발생했었는데, 그 중에 하나 해결하기 어려웠던 이슈가 있어서 공유합니다.
현재 회사에서 Apple Silicon (M1 Pro) 환경에서 개발하고 있습니다. 이주 전에는 문제가 없었지만 이주하고 나서 시뮬레이터 환경에서 앱을 실행하자 빌드는 정상적으로 이루어졌으나 'cyclone' is not a recognized processor for this target (ignoring processor) 라는 콘솔 메시지와 함께 크래쉬가 발생했습니다.
https://www.inflearn.com/questions/557587
ios 시뮬레이터가 꺼집니다 - 인프런 | 질문 & 답변
토글 버튼을 클릭하면 네이버맵이 켜졋다가 바로 꺼져 버리는 현상이 자꾸 발생합니다... - 질문 & 답변 | 인프런...
www.inflearn.com
https://developer.apple.com/forums/thread/658330
'cyclone' is not a recognized proc… | Apple Developer Forums
I'm seeing it when calling glDrawElements() but not SpriteKit, so it looks like it has to do with the OpenGL implementation, rather than SpriteKit itself? Also Big Sur, also M1 MBA.
developer.apple.com
여러 레퍼런스들을 찾아보니 M1 환경에서 특정 라이브러리로 인해 발생한다는 것을 알았습니다.
저의 경우엔 네이버맵스 때문에 발생했으며 xcframework 를 코코아팟이 아닌 Carthage 로 받았습니다.
그래서 Xcode 를 로제타로 실행한 뒤 Derived Data 영역을 지우고 다시 빌드를 했습니다. 그랬더니 기존에 발생하던 크래쉬가 발생하지 않았습니다.
빌드된 결과물을 확인해봤습니다.
로제타로 실행하면 시뮬레이터를 x86_64 로 실행합니다. 하지만 Xcode 를 로제타로 실행하면 훌륭한 M1 의 성능을 온전히 발휘할 수 없습니다.
그래서 대안으로 Build Settings 에 "EXCLUDED_ARCHS": "arm64" 를 적용했습니다.
이 때 Tuist + Dependencies 를 사용하는 환경이라면, 만들어지는 모든 SPM 프로젝트에도 적용해주어야합니다.
Derived Data 를 제거해준 뒤 다시 빌드를 하면 로제타로 Xcode 를 실행하지 않아도 x86_64 아키텍처로 시뮬레이터를 실행하게 됩니다.
단 기기로 다시 빌드를 할 때에는 초기화시켜야하니 스크립트로 관리하시는 것을 추천합니다.
'Xcode' 카테고리의 다른 글
[Xcode] Xcode Cloud 에서 사용하는 VM 의 사양은 어떻게 될까? (0) | 2022.08.04 |
---|---|
[Xcode] NaverMaps 를 Carthage 로 받는 방법 (Feat. Tuist) (0) | 2022.08.01 |
[Xcode] Cocoapods 를 사용하는 경우 M1 시뮬레이터 빌드가 안되는 문제 (1) | 2021.05.13 |
[Xcode] libSwiftPM.sylib 플러그인을 사용하는 동안 Xcode이(가) 예기치 않게 종료되었습니다. (0) | 2021.04.05 |
[Xcode] Breakpoint 사용하기 (3) - NSLog (0) | 2020.07.07 |