안녕하세요.
드디어 iOS13이 정식 릴리즈 되었습니다.
많은 개발자 분들이 iOS13 버전을 대응하느라 바쁘실텐데 (저 포함.. ㅠ)
iOS13과 Crashlytics의 충돌이 발생했습니다. 하하하하하ㅏ하ㅏㅏ
다행이 빠르게 이슈 처리를 할 수 있었는데요. (쫄려 죽는줄 알았습니다)
원인과 해결 과정은 다음과 같습니다.
- 원인
발생한 에러 로그는 다음과 같습니다.
objc[2474]: Class CLSUserDefaults is implemented in both /System/Library/Frameworks/ClassKit.framework/ClassKit (0x1e89424c8) and "프로젝트경로". One of the two will be used. Which one is undefined. - 분석
서치결과 해당 내용을 찾을 수 있었습니다.
Fabirc (or Crashlytics, depending on which versions used) defines a class named CLSUserDefaults.
It seems that ClassKit in iOS 13 also defines a CLSUserDefaults class, which leads to a name collision.
It should be fine as long as your app's code not using class CLSUserDefaults directly.
(대충 ClassKit의 Class와 Fabric, Crashlytics에서 사용중인 Class명이 겹친다는 뜻) - 해결
다행이 구글에서 빠르게 대응했드라구요?
(필자는 다른방법으로 먼저 시도해서 삽질을 많이했습니다 ㅠㅠ)
Crashlytics의 업데이트 로그를 보니 6월 19일에 해당 문제에 대한 업데이트가 있었습니다.
(3.13.2 June 19, 2019 Fixes a symbol name collision between Crashlytics and ClassKit)
Crashlytics를 3.13.2 버전 이상을 사용하시면 쉽게 해결할 수 있습니다.
CocoaPods를 사용하신다면 Podfile에 pod 'Crashlytics', '~> 3.13.2'로 설정해서 사용하시면 됩니다!!
해피코딩 :)
'iOS > Tip' 카테고리의 다른 글
[iOS 13] AppDelegate, SceneDelegate에서 RootViewController 설정하기 (1) | 2019.11.04 |
---|---|
[iOS13] StatusBar Crash 이슈 해결하기 (0) | 2019.09.25 |
Alamofire를 동기화(Synchronize)로 사용해보자 (1) | 2019.02.20 |
iOS App 테스트플라이트(TestFlight)로 테스트 진행하기 (0) | 2018.11.06 |
[앱 등록하기] 4. Xcode로 App을 iTunesConnect(App Store)로 보내기 (0) | 2018.11.05 |