iOS SDK
iOS SDK는 iOS 개발을 위한 애플의 소프트웨어 개발 키트이다. SDK는 2008년 3월 6일 배포되었고, 개발자들은 이 SDK를 활용해 아이폰이나 아이팟 터치 응용 소프트웨어를 개발할 수 있게 되었고, OS X의 "아이폰 시뮬레이터" 내에서 테스트할 수 있게 되었다. 하지만 기기에 실제로 응용 소프트웨어를 올리기 위해서는 $99.00 USD의 애플 개발자 계정이 필요하다. XCode 3.1의 출시 이후, XCode는 iOS SDK를 위한 개발 환경이 되었다.
원저자 | 애플 |
---|---|
개발자 | 애플 |
발표일 | 2008년 3월 6일 |
프로그래밍 언어 | 오브젝티브-C |
운영 체제 | OS X |
언어 | 영어 |
종류 | 소프트웨어 개발 키트 |
웹사이트 | Apple 개발자 |
개발자는 개발한 응용 소프트웨어를 앱 스토어를 통해 유통시킬 수 있다. 이 때, 응용 소프트웨어의 가격은 최소 가격만 넘기면 그 초과 범위 내에서 자유롭게 정할 수 있다. 개발자는 응용 소프트웨어 판매 수익의 70%를 가져간다. 다른 방식으로는, 개발자는 개발한 응용 소프트웨어를 무료로 배포할 수 있다. 이 때, 개발자는 응용 소프트웨어의 배포나 배급에 대한 비용은 내지 않으며, 개발자는 멤버십(membership) 비용만을 지불하면 된다.[1]
iOS SDK는 출시 이후로 계속, 애플과의 개발자 협약(Developer Agreement) 중 단서 조항(small print)에 대한 논란이 있었다. 특히 단서 조항의 환불 정책에 관한 논란이었다. 협약에 따르면, 개발자는 반드시 수익의 70%는 개발자가 수익의 30%는 애플이 가져가는 것에 동의해야만 한다. 한데, 구매자가 환불을 한다면, 가격의 70%는 개발자로부터, 가격의 30%는 애플로부터 구매자에게 지불된다. 그리고, 애플은 동시에 손해에 대한 30%의 변상금을 개발자에게서 받아간다. (reimburse for the loss) 그래서 환불이 상당수 발생한다면, 개발자는 곤경에 빠질 수도 있다. [2]
SDK의 역사
편집2007년 10월 17일 애플은 소프트웨어 개발 키트 (SDK) 발표 계획을 공개했다. 스티브 잡스는 "핫 뉴스" 블로그에서 공개 서한을 통해 2008년 2월 SDK를 배포할 것이라고 밝혔다.[3] 그리고 아이폰 SDK는 2008년 3월 6일, 애플 타운 홀 미팅(Apple Town Hall Meeting) 행사에서 공식적으로 발표되었다.[4] SDK의 첫 베타 릴리즈는 iOS 버전 1.2b1 (build 5A147p)를 위한 것이었다. 앱 스토어를 이용하기 위해서는 사용자들은 2008년 7월 11일부터 가능해졌던 펌웨어 업데이트를 받아야 했다. 이 업데이트는 아이폰 사용자에게는 무료였다. 하지만 아이팟 터치 사용자에게는 9.99 미국 달러였다.
출시일 | OS 버전 | SDK 상세 사항 |
---|---|---|
2008년 3월 27일 | 2.0b2 Beta 2 | iOS 버전 2.0b2를 위한 릴리즈.[5] 아이폰 응용 소프트웨어 개발을 위한 GUI 개발 도구인 인터페이스 빌더를 추가했다.[6] |
2008년 4월 8일 | 2.0b3 Beta 3 | iOS 버전 2.0b3(build 5A240d)을 위한 릴리즈.[7] |
2008년 4월 23일 | 2.0b4 Beta 4 | iOS 버전 2.0b4(build 5A258f)을 위한 릴리즈. 이 SDK 버전은 OpenGL 3D 그래픽을 지원. 부연 설명하자면, 대개 OpenGL 3D 그래픽은 게임에 쓰이는 것이다. 개발한 응용 소프트웨어가 백그라운드로 작동하는 것은 예전부터 애플 측이 안 된다고 해왔던 점이었다. 그런데, 일부 응용 소프트웨어로 하여금 백그라운드로 작동(아이팟(IPod), 전화(phone), 메일(mail) 응용 소프트웨어가 그러는 것처럼)될 수 있게 해 줄 조짐이 있었다. |
2008년 5월 6일 | 2.0b5 Beta 5 | iOS 버전 2.0b5(build 5A274d)을 위한 릴리즈. (build 5A274d).[8] |
2008년 5월 29일 | 2.0b6 Beta 6 | iOS 버전 2.0b6(build 5A292g)을 위한 릴리즈. 이 업데이트 내 코드는 애플의 .Mac 서비스에 대한 업데이트에 대한 힌트 부분을 가지고 있다.[9] 맥 OS X 10.6 스노 레퍼드(snow leopard)에 대한 레퍼런스가 처음으로 들어가기도 하였다.[10] |
2008년 6월 9일 | 2.0b7 Beta 7 | iOS 버전 2.0b7(build 5A331)을 위한 릴리즈. 애플의 .Mac 서비스의 대체 서비스인 모바일미 서비스가 들어갔다. (unlocked) 이 릴리즈는 WWDC를 위한 것이었다. 해당하는 아이폰 OS는 아이폰 OS WWDC 베타 버전이라 이름 붙기도 하였다. |
2008년 6월 26일 | 2.0b8 Beta 8 | iOS 버전 2.0b8(build 5A345)을 위한 릴리즈.[11] |
2008년 7월 24일 | 2.1 Beta 1 | iOS 버전 2.1(build 5F90)을 위한 릴리즈.[12] 애플 측은2.1 SDK를 가지고 작성된 응용 소프트웨어는 아이폰 2.0 소프트웨어에서 동작하지 않을 것이며 앱 스토어 업로드가 허용되지 않을 것이라고 언급하였다. |
2008년 7월 30일 | 2.1 Beta 2 | iOS 버전 2.1을 위한 릴리즈.[13] |
2008년 8월 8일 | 2.1 Beta 3 | iOS 버전 2.1을 위한 릴리즈.[14] |
2008년 9월 25일 | 2.2 Beta 1 | iOS 버전 2.2(build 5G29)를 위한 릴리즈.[15] |
2008년 11월 20일 | 2.2 | iOS 버전 2.2(build 9M2621)를 위한 릴리즈. |
2009년 1월 27일 | 2.2.1 | iOS 버전 2.2.1(build 9M2621a)를 위한 릴리즈.[16] |
2009년 3월 17일 | 3.0 Beta 1 | 아이폰 OS 버전 3.0과 SDK 3.0 베타 버전에 대한 프리뷰(preview) 릴리즈.[17] |
2009년 3월 31일 | 3.0 Beta 2 | iOS 버전 3.0을 위한 릴리즈.[18] |
2009년 4월 14일 | 3.0 Beta 3 | iOS 버전 3.0을 위한 릴리즈.[19] |
2009년 4월 28일 | 3.0 Beta 4 | iOS 버전 3.0을 위한 릴리즈.[20] |
2009년 5월 6일 | 3.0 Beta 5 | iOS 버전 3.0을 위한 릴리즈.[21] |
2009년 6월 8일 | 3.0 GM Seed | iOS 버전 3.0을 위한 개발자 및 비공개 테스트용 최종 릴리즈.[22] |
2009년 6월 17일 | 3.0 Final | 일반 사용자를 위한 iOS 버전 3.0의 최종 릴리즈.[22] |
2009년 6월 30일 | 3.1 Beta | iOS 버전 3.1을 위한 개발자용 첫 번째 릴리즈. |
2009년 7월 15일 | 3.1 Beta 2 | iOS 버전 3.1을 위한 개발자용 두 번째 릴리즈. |
2009년 7월 27일 | 3.1 Beta 3 | iOS 버전 3.1을 위한 개발자용 세 번째 릴리즈. |
2009년 9월 9일 | 3.1 Final | iOS 버전 3.1 최종 릴리즈, 애플의 "It's Only Rock and Roll, but we like it" 이벤트에서 공개. |
2010년 4월 8일 | 4.0 Beta | iOS 버전 4.0 을 위한 개발자용 첫 번째 릴리즈, 이 아이폰 OS는 멀티태스킹(background)과 화상전화(face time)와 애플리케이션을 넣는 폴더를 지원한다. |
2010년 4월 21일 | 4.0 Beta 2 | iOS 버전 4.0 을 위한 개발자용 두 번째 릴리즈 |
2010년 5월 4일 | 4.0 Beta 3 | iOS 버전 4.0 을 위한 개발자용 세 번째 릴리즈 |
2010년 5월 18일 | 4.0 Beta 4 | iOS 버전 4.0 을 위한 개발자용 네 번째 릴리즈 |
2010년 6월 7일 | 4.0 GM Seed | iOS 버전 4를 위한 개발자용 최종 골든 마스터 릴리즈 |
2010년 6월 21일 | 4.0 | 일반 사용자를 위한 iOS 버전 4의 최종 릴리즈. (GM버전에서 문제가 없었으므로 GM버전과 거의 유사하게 출시됨) |
2011년 3월 10일 | 4.3 | 공식발표는 2011년 3월 11일 오전 1시(미국시간)이었으나, 하루일찍 2011년 3월 10 오전 3시(미국시간)으로 출시되었다. 이번 iOS 4.3업데이트는 iPod Touch 1~2.5세대는 이번 업데이트 대상에서 제외되었다. |
2011년 10월 12일 | 5.0 | 대한민국 시간으로 13일 새벽 2시에 출시되었다. 업데이트를 하기 위해선 iTunes 10.5가 필요하다. 지원되는 기종은 iPod Touch 3 / 4세대, iPhone 3GS / 4 / 4S , iPad 1 / 2세대이다. |
2011년 11월 29일 | 5.1 Beta | iOS 버전 5.1을 위한 개발자용 첫 번째 릴리즈. |
2011년 12월 13일 | 5.1 Beta 2 | iOS 버전 5.1을 위한 개발자용 두 번째 릴리즈. |
2012년 1월 10일 | 5.1 Beta 3 | iOS 버전 5.1을 위한 개발자용 세 번째 릴리즈. |
2012년 3월 7일 | 5.1 | 아이폰4S에 시리 일본어 버전이 추가 되었다. 폰트가 기존 애플고딕에서 산돌네오고딕으로 바뀌고, 아이패드의 카메라 UI가 바뀌었다. |
2012년 5월 8일 | 5.1.1 | 앱스토어에서 '구입할 수 없음' 알림이 표시되는 등의 문제 해결. |
SDK 내용
편집아이폰은 OS X에 들어가는 XNU 커널을 발전시켜 변형한 커널을 마찬가지로 사용한다. 따라서, 아이폰 응용 소프트웨어 개발을 위한 툴 체인은 마찬가지로 OS X 개발 도구이자 GNU 도구들(GCC, apple-darwin9-gcc-4.0.1, apple-darwin9-gcc-4.2.1 등)을 포함하는 도구인 Xcode에 기반하고 있다.
SDK는 다음과 같이 나뉠 수 있다.[23]
- 코코아 터치
- 미디어
- 코어 서비시즈
- 컴퓨터 네트워킹
- 임베디드 SQLite 데이터베이스
- 지오로케이션 소프트웨어
- 스레드
- OS X Kernel (XNU)
SDK 안에는 Xcode 툴체인과 함께, 아이폰 시뮬레이터(iPhone Simulator)가 들어 있다. 아이폰 시뮬레이터는 아이폰의 룩 앤드 필을 개발자의 데스크톱에서 에뮬레이트해준다. 예전 이름은 Aspen Simulator였다. SDK 베타 2 릴리즈가 발표되면서 이름이 바뀌었다. 그러나, 아이폰 시뮬레이터는 엄밀히 말해 에뮬레이터는 아니며 x86 타겟용으로 생성된 코드(code generated for an x86 target)를 실행한다. SDK를 사용하기 위해서는 인텔 맥이 필요하다. 또한 맥 OS X v10.5가 필요하다. 마이크로소프트 윈도우나 OS X의 이전 버전에서는 SDK가 작동하지 않는다.
라이선스
편집SDK 자체는 누구나 자유롭게 다운로드 받을 수 있다. 하지만 개발된 응용 소프트웨어를 배포하기 위해서는, 개발자는 아이폰 디벨로퍼 프로그램(iPhone Developer Program)에 등록하여야만 한다. 개발자는 등록비를 지불해야 하며, 또한 개발자는 애플의 허가를 받아야 한다.[24] 등록비는 99 미국 달러이다. (나라마다 다르다.) 애플의 앱 스토어에 응용 소프트웨어를 업로드할 때 사용될 서명된 키들(signed keys)이 개발자에게 주어진다. 응용 소프트웨어는 세 가지 방법으로 배포될 수 있는데, 앱 스토어에서 배포되거나, 특정 기업의 직원 전용으로 기업 내에서만 배포되거나, "애드 혹"으로 100 대의 아이폰 한정으로 배포될 수 있다.
개발자는 50장의 "무료 프로모션" 코드를 발행할 수 있다. 개발자는 이 코드들을 리뷰어들에게 배포할 수 있으며, 리뷰어로 하여금 무료로 응용 소프트웨어를 받아 검토할 수 있게 할 수 있다.[25]
아이폰 소프트웨어의 배포 모델이 가진 한계 때문에, GPL 버전 3(GPLv3)로 사용 허가된(라이선스된) 코드가 들어간 소프트웨어는 아이폰 소프트웨어로서 배포될 수 없다. 개발자는 GPLv3으로 사용 허가된(라이선스된) 코드가 들어간 응용 소프트웨어를 배포하려면 자신의 서명된 키들(signed keys)(애플에게 소유권이 있다.)를 또한 같이 배포해야 한다.[26]
코어 로케이션
편집코어 로케이션(Core Location)은 OS X 내의 소프트웨어 프레임워크이다. 보통 아이폰 OS 2.0 상의 소프트웨어들에 의해 장치의 위치(location)을 알아내기 위해(to detect) 사용된다.
코어 로케이션은 2008년 3월 6일 아이폰 소프트웨어 로드맵 이벤트(iPhone Software Roadmap Event) 행사 때 발표되었다.[27] 이후 아이폰 SDK에 포함되었다.
자바
편집애플 측은 자바 (프로그래밍 언어) 기반 응용 소프트웨어를 아이폰에서 작동시키는 것에 대해서 발표도 하지 않았고 아무런 계획도 가지고 있지 않다. 썬 마이크로시스템즈는 아이폰 OS용 자바 가상 머신 (JVM) 을 릴리즈할 계획이라고 발표하였다. 이것은 자바의 자바 플랫폼, 마이크로 에디션 버전에 기반한 것이 될 예정이다. 이것이 릴리즈되면 자바 ME 응용 소프트웨어가 아이폰이나 아이팟 터치에서 구동될 것으로 예상되었다.[28]
이 문단은 아직 미완성입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |
어도비 플래시
편집iOS는 어도비 플래시를 지원하지 않는다. 어도비는 어도비 플래시 라이트(Flash Lite) 소프트웨어를 서드 파티 응용 소프트웨어 형태로 iOS용으로 만들어 배포할 예정이라고 발표하였다. 한데, 플래시 라이트는 표준 플래시보다는 기능이 떨어진다. 비공식적으로는 탈옥한 iOS에서 플래시 비디오가 재생하는 응용 소프트웨어가 개발되기도 하였다.
SVG
편집아이폰 OS(펌웨어) 2.1부터 모바일 사파리(Mobile Safari)가 SVG를 지원하기 시작하였다. 스크립팅 지원 기능도 들어 있으며, SVG 1.1 스펙의 거의 모든 정적인 부분(static parts)들을 지원한다. SMIL 애니메이션 지원 기능은 들어가 있지 않다. 웹킷 SMIL 구현이 어느 정도 완숙해지면 모바일 사파리에 도입될 예정이다. SVG 외에도 HTML 캔버스가 지원된다.
같이 보기
편집각주
편집- ↑ “Introducing the iPhone Developer Program”. 애플. 2010년 1월 12일에 원본 문서에서 보존된 문서. 2013년 6월 14일에 확인함.
- ↑ Leena Rao (2009년 3월 25일). “Apple’s iPhone App Refund Policies Could Bankrupt Developers”.
- ↑ 잡스, 스티브 (2007년 10월 17일). “Third Party Applications on the iPhone”. 애플. 2008년 2월 18일에 원본 문서에서 보존된 문서. 2008년 3월 7일에 확인함.
- ↑ Block, Ryan (2008년 3월 6일). “Live from Apple's iPhone SDK press conference”. 《엔가짓》. 웹로그즈. 2008년 12월 12일에 확인함.
- ↑ Dan, Moren (2008년 3월 27일). “iPhone SDK: now with 100% more Interface Builder”. 《맥월드》. 2008년 3월 29일에 원본 문서에서 보존된 문서. 2008년 3월 27일에 확인함.
- ↑ “Interface Builder”. 애플. 2011년 8월 23일에 원본 문서에서 보존된 문서. 2008년 3월 27일에 확인함.
- ↑ Apple Seeds New 2.0 Beta (5A240d), SDK Update (Beta 3) - 맥루머즈 2008-04-08.
- ↑ iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support Archived 2012년 10월 9일 - 웨이백 머신 - 기즈모도.
- ↑ MacRumors - Apple's .Mac Service to be Renamed, Revamped? - 맥루머즈 2008-05-30.
- ↑ Mac OS 10.6 reference in iPhone SDK beta 6 - 맥루머즈 2008-05-29.
- ↑ 애플 (2008년 6월 26일). “iPhone SDK beta release 8 - Download Notes” (PDF). 《Apple.com》. 애플. 2008년 6월 27일에 확인함.
- ↑ “iPhone SDK 2.1 beta release 1 released”. 《Gearlive.com》. 기어라이브. 2008년 7월 25일. 2008년 7월 25일에 확인함.
- ↑ 맥루머즈 (2008년 7월 30일). “Apple Seeds 2nd Beta of iPhone 2.1 Firmware to Developers”.
- ↑ 맥루머즈 (2008년 8월 8일). “Apple Releases iPhone Firmware 2.1 Beta 3”.
- ↑ The iPhone - 2.2 Developers beta released[깨진 링크(과거 내용 찾기)]
- ↑ iPhone DevCenter
- ↑ 3.0 is coming, preview on March 17th
- ↑ Martin, David (2009년 4월 1일). “Apple releases 3 beta 2 to developers”. CNET Reviews. 2009년 4월 3일에 원본 문서에서 보존된 문서. 2009년 4월 3일에 확인함.
- ↑ Ziegler,Chris (2009년 4월 15일). “3.0 beta 3 goes live”. engadget. 2009년 4월 15일에 확인함.
- ↑ Miller,Ross (2009년 4월 28일). “3.0 beta 4, iTunes 8.2 pre-release now live”. engadget. 2009년 4월 28일에 확인함.
- ↑ Miller,Ross (2009년 5월 6일). “3.0 beta 5 now available”. engadget. 2009년 5월 6일에 확인함.
- ↑ 가 나 [1]{{ Archived 2009년 8월 5일 - 웨이백 머신
- ↑ Arnold, Kim (2008년 3월 6일). “Apple Releases iPhone SDK, Demos Spore, Instant Messaging”. MacRumors.com. 2008년 3월 10일에 확인함.
- ↑ “Get Ready for iPhone OS 3.0 - iPhone Developer Program”. 애플.
- ↑ “iPhone Apps - How to use Free Promo Codes”. 2012년 5월 7일에 원본 문서에서 보존된 문서. 2012년 5월 31일에 확인함.
- ↑ Willis, Nathan (2008년 4월 15일). “The iPhone SDK and free software: not a match”. Linux.com. 2008년 7월 4일에 원본 문서에서 보존된 문서. 2008년 6월 5일에 확인함.
- ↑ Apple unveils iPhone SDK | Software | Macworld
- ↑ Krill, Paul (2008년 3월 8일). “Sun: We'll put Java on the iPhone”. 인포월드. 2008년 3월 9일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.