Xcode를 최신으로 업데이트 하다

애플 느님께서 불쌍한 중생들을 위해 새로운 버전의 iOS를 선보이셨다!! 언제나 그랬듯, 이번에는 어떤 고난과 역경이 나를 괴롭힐 까 걱정하며 조심스럽게 Xcode를 최신버전으로 판올림 하였다. 인덱싱후, 새로 제안해주는 빌드세팅으로 바꾼후 눈에 보이는 몇가지 워닝들을 제거하고 나니 생각보다 수월하게 빌드가 된다!? 뭔가 찜찜하지만 난 잘 모르겠고, 일단은 밀린 일감들을 처리하고 PR(Pull Request)!!

아카이빙이 안돼!

우리팀은 PR시에 젠킨스를 이용해서 유효성 검사를 한다. 이때 사용하는 빌드 스킴은 Ad-hoc. 설정하기 나름이지만 우리는 Release와 동일하게 세팅되어 있다. 그런데 젠킨스 빌드가… 4시간이 지나도록 끝나지 않고 있었다. 빌드 서버인 맥프로는 굉장히 뜨겁게 달구어져 있고, 뭔가 이상함을 감지했다. 빌드가 왜 안되는 것일까? 단순한 세팅 문제일거라 생각하고 fastlane부터 차근 차근 살펴 보았다. 하지만 도무지 빌드가 되지 않았다.

역시나 삽질

로컬에선 잘 되는데 왜 젠킨스에서만 안되는 것일까? 검색에 검색을 통해 optimization level이 뭔가 관련 있다라는것을 찾아냈고, 로컬에서도 level을 whole module optimization 으로 바꾸었더니, 컴파일이 끝나지 않고 있다!! 원인을 찾기 위해 검색과 삽질을 반복 했으나 도저히 찾지 못하고 긴긴 추석 연휴가 찾아왔다. 모든것을 10일 뒤의 나에게 맡겨 두고 난 푹 쉬기로 하였다. 하핳. 바이 짜이찌엔..

While 구문이 버그라니..

10 일 후.. 새로운 마음으로 다시 삽질을 시작하였다. 스위프트 버그 이슈 트래커 사이트 에서 한가지 단서를 찾아냈고(내가 찾은건 아니다 후후), 읽어 보니 현상은 나와 같다. 하지만 정확히 어떤 구문에서 이러한 문제가 있는지 알기 힘들었고 대충 while이 있고 self를 옵셔널 변수에 할당하는구나 정도로만 파악을 했다. 아 우리 코드가 한두줄도 아니고 파일만 500개가 넘는데… 찾을 수 있을까? 낙담하며 거의 반 포기 해 갈즈음 optimization level 을 whole이 아닌 single로 하면 어떻게 되느냐는 질문을 누군가(아까 링크 찾아준 사람) 하였다. 이전에 해봤을 때 진행이 되는걸 봤기 때문에 심드렁 하게 빌드를 해봤다. 역시나 빌드가 되는듯 했지만 특정 파일에서 한결같이 넘어가지 못하고 있었다!! 아 유레카!! 이전에 single로 했을 때는 빌드가 잘 시작이 되길래 어련히 잘 끝나겠구나 하고 끝까지 기다리지 않았던 터라, 이렇게 일정 파일에서 못넘어 가는 현상을 못봤었던 것이다. 용의자는 추려졌고, 파일을 대강 훑어 봤더니 어라? while에서 nil 체크하는 구문이 있다.

while scrollView == nil {

주석 걸고 빌드 해 봤더니 요녀석이 범인이였다. 아 애플느님 왜그러셨나요… while문 버그라니. 허탈하다. 재귀문으로 수정하고 아카이브가 잘 되는 걸 확인하니 속이 다 후련하여 일이 손에 안잡힌다. 하여 이렇게 일과시간에 블로그에 기록이나 하고 있었다. 애플은 점점 개발자들을 힘들게 하는데 재미가 들린듯 하다.

오늘의 일기 끄읏