Fabric을 통해 크래시를 체크하던 도중 생각치도 못한 크래시 issue가 있어 공유합니다.
로그를 보니까
CoreUI |
-[CUIStructuredThemeStore _canGetRenditionWithKey:isFPO:lookForSubstitutions:] + 360 |
|
7 |
CoreUI |
+[CUICatalog _resolvedRenditionKeyFromThemeRef:withBaseKey:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:] + 1204 |
8 |
CoreUI |
-[CUICatalog namedLookupWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 148 |
9 |
UIKit |
__98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 424 |
10 |
UIKit |
-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 212 |
11 |
UIKit |
-[_UIAssetManager imageNamed:withTrait:] + 528 |
12 |
UIKit |
_UIImageWithNameAndTraitCollection + 96 |
이런식으로 지속적으로 발생하는 크래시가 있는데, 해당 부분이 iOS9 사용자 (특히 9.0, 9.1, 9.2대 사용자만 그러고 9.3부터는 없더군요)
에게만 발생하고 있어서 해결책을 찾아보니
1. 색영역 관련 9.0~9.2까지 생길수 있는 문제
https://stackoverflow.com/questions/39404285/xcode-8-build-crash-on-ios-9-2-and-below
=> 해결방법은: https://medium.com/@rickynguyen/weird-crash-on-ios-9-0-9-1-9-2-5583c25c7f5b
가 있었고,
이를 적용하려다 보니, 왜 그럼 이제까지는 발생하지 않다가 Xcode 10대응을 하면서 생긴걸까... 해서 관련 이슈들을 찾아보니
2. xcode10에서 발생하는 이미지 애셋 문제
혹시 xcode10 관련 대응을 하시면서 해당 이슈가 발생하신 분들 있으실까요? 우선 1의 이슈라고 생각하고 패치를 진행하려는데, 저게 시뮬레이터가 아닌 실기기에서만 반응하는 버그이다 보니, 해결된 것인지를 체크하기에도 까마득 하네요...ㅜ_ㅜ
예를 들면 스크롤뷰의 스크롤바 인디게이트 이미지를 호출할 때 크래시가 되고 뭐 그런 버그죠. 그래서
1. 버그 픽스된 xcode10이 나오기 전까지 xcode10이 아니라 xcode9 환경으로 롤벡해서 앱 업데이트를 진행 하던지
2. 타겟os를 9.3 이상으로 올리던지
이렇게 하는게 좋을 것 같습니다.