iOS UISearchDisplayController를 이제는 놓아주세요

https://developer.apple.com/library/archive/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html

 

iOS 8.0

iOS 8.0 This article summarizes the key developer-related features introduced in iOS 8, which runs on currently shipping iOS devices. The article also lists the documents that describe new features in more detail. For late-breaking news and information abo

developer.apple.com

iOS8에서 deprecated된 API에 다음과 같은 내용이 있습니다

 

The UISearchDisplayController class. This class is replaced by the UISearchController class.

 

 

UISearchDisplayController 가 폐기 되었고 UISearchController 를 사용하라고 하네요

 

그런데 이 사실을 미처모르고 있었습니다

 

 

 

옛날에 만든 앱을 iOS 13 sdk로 업데이트를 하여 앱스토어 올렸는데

 

분명 정상적으로 동작하는 앱인데 

 

심사담당자가 크래시가 발생한다고 크래시리포트를 첨부하여 알려주더라구요

 

 

희안하게도 분명 실제 디바이스에서 debug와 release 모두 빌드를 했을때 잘되었던 빌드였는데

 

오류가 나는 부분이 뭔가 이상했습니다

 

저는 아무리 재시도해도 계속 이상없이 잘되었거든요

 

 

 

그런데 testflight를 통해서 빌드를 받아서 실행해보니

 

해당 크래시가 재현되는것을 확인했습니다

 

 

굉장히 희안한 일입니다.

 

분명 adhoc으로 빌드하여 설치후 테스트했을때도 잘되었는데

 

왜 testflight에서 받은 빌드는 오류가 나는거지...

 

 

다시 원점으로 돌아가 첨부된 크래시리포트 파일을 심볼리케이트해서 살펴보기로 합니다

 

 

 

로그를 살펴보니 가장 위에 [UISearchDisplayController initWithCode:] 가 표시된것을 볼수 있네요

 

아하 deprecated된 UISearchDisplayController가 문제를 일으킨거구나

 

 

다행히 UISearchDisplayController를 빼고 다시 testflight에 올리고 이 빌드를 설치하여 테스트해보니

 

이번엔 정상적으로 잘 동작합니다

 

adhoc 빌드와 testflight 빌드가 배포방법만 다르고 빌드자체는 완전히 동일한거 아닌가 라고 생각했는데

 

뭔가 내부적으로 서로 다른가봅니다.

 

 

다행히 이걸로 삽질 끝!

 

 

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ··· | 1829 |