2013. 1. 21. 19:45ㆍ제2외국어/iOS
iOS쪽을 하다보면 생각보다 제약사항이 많습니다.
1. 내부 DB를 건들 수 없다.
2. 다른 앱은 건들 수 없다.
3. Multitasking이 제한적이다.
etc..
내부DB와 다른 앱은 아마 탈옥을 하지 않는 이상 건들 수 없고, 갑작스럽게 가능하는 방향으로 바뀌지는 않을 것 같습니다.
그래서 먼저 Multitasking 쪽을 한번 살펴보기로 하겠습니다.
App State Changes
: 먼저 App State에 대해서 알아야 됩니다. 상태의 종류와 그 종류에 해당하는 부분을 확인하려면 꼭 필요합니다.
State |
Description |
Not running | |
Inactive |
|
Active |
|
Background |
|
Suspended |
|
: App State의 변화를 확인할 수 있는 곳은 AppDelegate( .h, .m) 입니다.
Monitoring App State Changes
application:willFinishLaunchingWithOptions : 어플리케이션의 초기화 작업
- applicationDidBecomeActive: Active 상태로 될 때 호출.
applicationWillResignActive: 앱이 Active 상태에서 변할 때 알려주는 함수.
applicationDidEnterBackground: Background로 진입 시 호출되는 함수
applicationWillEnterForeground: Background에서 Foreground로 진입 시 호출 되는 함수
applicationWillTerminate: 앱이 종료될 때 호출되는 함수. Suspended 상태에서 시스템에 의해
메모리 해제되어 앱이 죽는 경우는 호출되지 않습니다.
가장 중요한 부분입니다. Multitasking, 즉 Background에서 사용할 수 있도록 Apple에서 허용한 부분입니다.
1. Audio
: 가장 잘 알고있는 기능입니다. 기본 기능이기도 하죠. 오디오나 비디오 플레이어(소리에 한해) Background 에서도 돌아갑니다.
2. Location
: 언제부터 가능했는지 몰라도, 최근에 추가된 옵션인것 같습니다. 저희나라에는 아직 없지만 TomTom 이라는 업체에서 해외 중요 도시의 네비게이션을 팔고 있습니다.
3. Voip
: 대표적인 어플로 Skype가 있습니다. Skype를 사용하신분들은 아실겁니다. 통화중에 홈버튼을 통해 나가더라도 아래 이미지와 같이 기본 어플과는 색깔(빨강)만 다른 상태로 표시되는 걸 확인하실 수 있습니다.
4. Newsstand-content
: 신문이나 가판대 앱을 정기적으로 다운받습니다.
5. External-accessory
: External Accessory framework를 통해 External-accessory(외부 악세사리)와 정기적으로 작동합니다
6. Bluetooth-central
: Core Bluetooth framework 를 통해 Bluetooth Accessory에 정기적인 일정에 따라 작동합니다.
7. Bluetooth-peripheral
: Core Bluetooth framework 를 통해 주변 모드에서 Bluetooth Accessory와 통신합니다.
PS.
1번의 경우 너무 흔해서 이미지도 구하지 않았고, 5,6,7 번 항목은 Apple를 통해서 iPhone 관련 물품을 판매하는 경우 모두 포함됩니다. Bluetooth 이어폰, 측정기 등이 있습니다.
솔직히 모든 항목을 다루어 보고 싶지만 1,2번을 제외한 나머지 부분은 원하는 분야도 아니거니와 솔직히 하기도 어렵습니다.
참고 사이트
Misconceptions About iOS Multitasking
App States and Multitasking
파헤치기 #5. iOS App Programming Guide (5) App States and Multitasking <1> '제2외국어 > iOS' 카테고리의 다른 글
[iOS] Multitasking : Location (0) | 2013.01.29 |
---|---|
[iOS] Multitasking : Audio (0) | 2013.01.24 |
[ios] 서버에 이미지만 보낼 때와 이미지 + 정보를 보낼 때 (0) | 2013.01.04 |
[simple]현재 위치 및 시간 알아내기. (0) | 2012.12.03 |
APNs 맛 보기. (2) | 2012.11.15 |