아이폰 개발자 교육 정리(1)



4일간 진행되었던 사내 iOS 개발자 심화교육에서 다루어졌던 교육내용들을

정리해 보고 있습니다. 아이폰, 아이패드 개발에 관심있으나 참석 못하셨던 분들 참고해 보시기 바랍니다.




- StoryBoard와 XIB, 그리고 SingleView프로젝트가 아닌empty Project에서 시작하기

- UIApplication, appDelegate, ViewController, UIView, 그리고 Model Class 들 간의 관계

- 별도의 뷰콘트롤러를 가지는 그루핑뷰인 Container Controller의 사용법

- 하나의 프로젝트에 VC3.5.xib, VC4.xib 처럼 다중 뷰콘트롤러를 두어 레티나 및 비레티나 아이폰을 동시지원하게 하기

- 뷰와 뷰사이의 관계로 화면을 설계하는 AutoLayout과 거기에 필요한 Constraints 들 사용법

- 오토레이아웃은 iOS6.0 부터 지원되는 신기술(디자인 타임용)로 크기 및 회전에 무관하게 화면을 구성해줌

- Constraints는 서로 물리고 물려서 하나를 수정하면 다른것에도 영향을 미친다. 최소한으로 사용하길 권장.

- 콘스트레인츠 아이콘은 파란색은 직접만든 것으로 편집 가능. 보라색은 XIB가 자동으로 만들어주는 것으로 삭제불가

- UIApplication은 싱글톤 객체... 안드로이드의 Context 쯤에 해당(?)

- 요즘 UDID는 사용이 불가능하다. 대신 MAC 어드레스를 이용하거나 시스템정보를 plist 에 넣어두고 꺼내 사용하는 방식 사용 한다고 ...

- 네트웍 통신앱의 경우 Activity Indicator의 기능구현을 안하면 릴리즈 거절 사유가 된다고.

- 개발된 앱에서 사진앨범DB, 전화번호부DB 접근은 사용자에게 허용질문을 표시하게 애플이 권고하고 있다고

- iOS7 부터 GPS장비의 위치데이터들은 화면 락시에 갱신이 안되다가 락이 풀리는 시점에 한꺼번에 알려주어 배터리를 절약하도록 변경되었다고.

- XIB와 클래스를 동시에 보여주는 Assistance Mode에서 IBOutlet 및 IBAction 의 Glue Coding 하기

- InputAccessoryView를 이용하여 키패드위에 악세사리뷰를 앉히고 꾸며서 다양한 기능하기

- 뷰에서 IBOutlet 가져올때 weak 로 가져오지 않으면 순환참조가 일어나 메모리부담요소가 될 수 있다고

- 코드를 객체화하여 CallStack에 저장하는 새로운 기능인 Block 기능의 소개 및 사용법 실습

- 블럭기능은 최근에 애플이 제공하는 다양한 API들에 많이 쓰이기 시작했다고..

- 블럭은 capture라는 기능으로 나중에 호출되는 데이타를 저장하는 기능을 가짐(Read Only)

- __block : 가변적인 변수 저장에 사용되는 컴파일러 키워드.

- ARC(Automatic Reference Counting) : 컴파일시 메모리관리를 자동으로 해주어 코딩량을 감소시켜주는 기능(iOS4.0)

- XCode는 3가지 색의 코드 디버깅 기능 제공(빨강: 에러, 노랑: 경고, depricated, 파랑:코드분석 최적화가이드)

- ARC는 런타임에 수행되는 자바의 가비지 컬렉션 보다 진보된 컴파일 타임 메모리 관리기능임.

- 객체를 소유하는 Strong 포인팅과 객체를 단순참조하는 weak 포인팅 방식

- 4가지 ARC 사용규칙들. release사용금지, @autoreleasepool{}, __bridge, 등등

- ARC에서도 순환참조 메모리누수 발생이 가능함(retain cycle)-> 단순참조의 assign property로 해결.

- obj-C에서는 error를 call by reference( & )로 넘긴다.

- - fno-objc-arc : ARC코드와 비ARC 코드들을 섞어서 사용할때 클래스별로 지정이 가능하다고.

- zeroing weak pointer는 iOS5 이상에서만 사용이 가능하다고.

- 현재 89% 이상의 사용자가 iOS6.x 대 버전의 애플 모바일 기기을 사용한다고.

- 프리 컴파일 헤더에 #import 몰아넣고 사용하기

- iOS7 의 디자인 가이드 변화와 개발측면에서의 시사점 분석

댓글

이 블로그의 인기 게시물

파이썬으로 Homomorphic Filtering 하기

파이썬으로 2D FFT/iFFT 하기: numpy 버전