아이폰 프로그래밍이 기존의 프로그래밍과 다른점 몇가지
(기존 PC에서 실행되는 프로그램과는 다른점을 말한다...
아이폰에게만 해당된다기 보다는 모바일 기기 전체에 해당될듯...)
버전 3.1 까지...
1. 하나의 어플리케이션만 구동이 가능하다...
(이것은 이번 ios4 에서 멀티프로세싱이 가능해 지면서, 그나마 제약이 풀린 것중하나다...)
2. 단 하나의 윈도우.
이것이 데스크탑용 어플리케이션과 크게 다른 점중 하나임.
여러개의 윈도우가 생성, 제어되는 기존 프로그램과는 달리 단 하나의 윈도우 안에서
모든 것들이 해결이 되어야 한다.
3. 접근 권한의 제약
이건 권한의 문제...
해킹을 해서 풀릴수 있는 문제이지만, 골치아픈 문제를 야기할수도 있다..
샌드박스라 불리는 어플리케이션 영역안에서만 모든 일이 행해지고,
이 권한을 넘어서는
일따위는 할수가 없다.
어플리케이션이 문서의 저장이나 환경설정등의 데이터 처리시 사용할수 있는 공간일 뿐...
네트워크의 제약도 상당한편...
4. 응답시간의 제약..
메인뷰가 뜨는 시간이 일정시간을 넘어서는 안되며,
홈버튼을 눌러 종료할때, 데이터의 저장에도
일정시간이상이 걸리면 강제종료를 시켜버린다.
5. 화면 크기 제약..
모바일 기기인 만큼...
아이폰4에서는 더 큰 해상도가 지원이 되니 그나마 다행..
6. 시스템 자원의 제약.
모바일 기기의 한계.
스왑파일등을 사용하는것이 아니므로, 실제 물리적 메모리공간을 이용하게 된다.
메모리 릭을 항상 주의해야 함.
프로젝트시... 릭 잡는데.. 엄청난 시간이 소요.
7. 가비지 콜렉션 누락.
오브젝트브C 기능중 하나인 가비지 콜렉션이 없다.(확인필요)
참고서.
아이폰3 프로그래밍 위키북스.