iOS9 부터 AddressBook framework 가 deprecated 돼서 CNContact framework 를 사용하게 됐다.

그런데 시작부터 문제가 스물 스물 발생. 그 중 대표 이슈만 정리해 본다.


#1 NavigationBar is hidden on CNContactViewController for Unknown and it never shows up again.


이 문제는 전세계 ios 앱 개발자에게 깊은 빡침을 선사했다.


[CNContactViewController viewControllerForUnknownContact:] 로 호출된 vc에서 연락처 공유 / 기존의 연락처에 추가 등의 메뉴를 선택하면 새 화면이 present 로 뜨면서 앱의 네비게이션바가 hidden 된다. 그리고 이 화면을 dismiss하면 기존의 네비게이션바가 나타나야 하는데 보이지 않는다.

AddressBook에선 잘 됐는데.. 에헤이 이 사람들 일을 하다 말았넹..


이전 화면으로 돌아가기 위해선 앱을 재 실행하는 수밖에 없다. ㅠㅁㅠ


작년 WWDC 에서 (따지는 표정으로)물어볼 겸 찾아갔는데 contact 프레임웍 유닛을 만날 수 있는 시각을 오해해서 이미 집에 가고 없었다. 안돼 ㅠㅡㅠ 

그래도 다른 파트 사람한테 설명해주고 프레임웍에 무슨 문제가 있는지 같이 확인 후 연락기다리겠다고 하고 헤어졌는데 iOS10이 릴리즈됐을 때도 변화 없길래 걍 포기.


올해에 커스터마이징 해야지 하고 있었는데 오옷!!

어제 확인해보니 언제 수정됐는지도 모르게 정상동작한다. 단, iOS 10 이상에서만.

애증의 애플... 이런 기본적인 기능은 잘 구현해줬으면 좋겠다.



// NOTICE:  I realized navigationbar hidden issue has fixed for iOS10 only.



#2 CNContactViewController를 push 했을 때 발생하는 UI 문제.


View의 좌측 끝 부분 터치가 안된다. 하지만 모달로 구현하면 잘 동작해서 의아함. 



#3 Left button is disappeared after selecting menu on Unknown ViewController


문제가 발생하는 동선은 다음과 같다.

1. 좌측에 닫기 버튼 나오도록 세팅하고 모달로 띄움.

2. 새 연락처로 등록으로 들어가 완료 버튼 누르면 화면이 닫히면서 네비게이션바가 나타남. 

3. 우측에 파란색 편집 버튼이 생기는데 좌측에 넣었던 close 버튼이 사라짐.

=> 10.2 이상에서는 닫기 버튼이 살아있으나 오른쪽 편집 버튼 파란색인 현상은 그대로임.


뭔가 동작이 이상한데 unknown 뷰의 메뉴를 선택하고 닫을 때 이벤트를 받을 수가 없다.

편집 버튼이 나타나면서 이상해지길래 allowsEditing = NO 로 세팅했더니 편집 기능을 사용할 수 없지만 네비 바의 버튼들이 이상해지는 문제는 막을 수 있다.

이 완벽하지 않은 해결에 찝찝해하며 일단 이 이슈는 여기까지 정리하는 걸로!!

+ Recent posts