IOS SDK

iOS SDK(iOS 소프트웨어 개발 키트, 과거 명칭: iPhone SDK)는 애플에서 개발한 소프트웨어 개발 키트 (SDK)이다. 이 키트를 통해 개발자는 애플의 iOS 17 및 iPadOS 운영체제에서 모바일 앱을 개발할 수 있다.

iOS SDK는 매킨토시(또는 Mac) 개인용 컴퓨터 사용자에게 무료로 제공된다. 마이크로소프트 윈도우 PC에서는 사용할 수 없다. SDK에는 개발자가 하드웨어 및 소프트웨어 속성과 같은 iOS 장치의 다양한 기능과 서비스에 접근할 수 있는 세트가 포함되어 있다. 또한 개발 중 컴퓨터에서 장치의 모습과 느낌을 모방하는 아이폰 시뮬레이터도 포함되어 있다. 새로운 SDK 버전은 새로운 iOS 버전과 함께 제공된다. 앱 스토어를 통해 애플리케이션을 테스트하고, 기술 지원을 받고, 앱을 배포하려면 개발자는 애플 개발자 프로그램에 가입해야 한다.

엑스코드와 결합된 iOS SDK는 개발자가 스위프트 및 오브젝티브-C를 포함한 공식 지원 프로그래밍 언어를 사용하여 iOS 앱을 작성하는 데 도움을 준다. 다른 회사들도 각자의 프로그래밍 언어를 사용하여 네이티브 iOS 앱을 개발할 수 있는 도구를 만들었다.

역사
2007년 아이폰 공개 이전에 이를 개발하던 당시 애플의 CEO였던 스티브 잡스는 서드파티 개발자들이 iOS 운영체제용 네이티브 앱을 만들도록 허용할 의도가 없었고, 대신 사파리 웹 브라우저용 웹 애플리케이션을 만들도록 지시했다. 그러나 개발자들의 반발로 회사는 재고하게 되었고, 잡스는 2007년 10월 17일에 애플이 2008년 2월까지 개발자들을 위한 소프트웨어 개발 키트 (SDK)를 제공할 것이라고 발표했다. SDK는 2008년 3월 6일에 출시되었다.

기능
iOS SDK는 Mac 사용자에게 무료로 제공된다. 마이크로소프트 윈도우에서는 사용할 수 없다. 앱 스토어를 통해 애플리케이션을 테스트하고, 기술 지원을 받고, 앱을 배포하려면 개발자는 애플 개발자 프로그램에 가입해야 한다.

SDK 내용은 다음 세트로 나뉜다:
 UIKit
 멀티터치 이벤트 및 컨트롤
 가속도계 지원
뷰 계층 구조
 지역화 (i18n)
 사진기 지원
 미디어
 OpenAL
 오디오 믹싱 및 녹음
비디오 재생
 이미지 파일 형식
 쿼츠
 코어 애니메이션
 OpenGL ES
 코어 서비스
 네트워킹
내장형 SQLite 데이터베이스
코어 위치
 스레드
코어모션
 Mac OS X 커널
 TCP/IP
 소켓
 전원 관리
 파일 시스템
 보안

SDK에는 개발자의 컴퓨터에서 아이폰의 모습과 느낌을 시뮬레이션하는 데 사용되는 프로그램인 아이폰 시뮬레이터도 포함되어 있다.

새로운 SDK 버전은 새로운 iOS 버전과 함께 제공된다.

프로그래밍 언어
iOS SDK는 엑스코드와 결합되어 개발자들이 스위프트 및 오브젝티브-C를 포함한 공식 지원 프로그래밍 언어를 사용하여 iOS 애플리케이션을 작성하는 데 도움을 준다.

.ipa (iOS App Store Package) 파일은 iOS 앱을 저장하는 iOS 애플리케이션 아카이브 파일이다.

자바
2008년, 썬 마이크로시스템즈는 자바의 자바 플랫폼, 마이크로 에디션 버전을 기반으로 한 iOS용 자바 가상 머신 (JVM)을 출시할 계획을 발표했다. 이는 자바 애플리케이션이 아이폰과 아이팟 터치에서 실행될 수 있도록 할 것이다. 발표 직후, SDK의 이용 약관에 익숙한 개발자들은 서드파티 애플리케이션이 백그라운드에서 실행되는 것을 허용하지 않고(예를 들어, 전화 통화를 받고도 애플리케이션이 계속 실행되도록 하지 않고), 애플리케이션이 다른 소스에서 코드를 다운로드하는 것을 허용하지 않으며, 애플리케이션이 서드파티 애플리케이션과 상호 작용하는 것을 허용하지 않음으로써 애플의 협력 없이는 썬의 개발 노력이 방해받을 수 있다고 믿었다. 썬은 또한 Innaworks라는 서드파티 회사와 협력하여 아이폰에 자바를 구현하려고 노력했다. 애플의 관심 부족에도 불구하고, 2007년 아이폰 출시의 펌웨어 유출은 내장형 자바 실행을 위한 자젤 지원 프로세서가 있는 ARM 칩을 드러냈다.

.NET
노벨은 2009년 9월에 모노터치를 성공적으로 개발했다고 발표했다. 모노터치는 개발자들이 애플의 요구 사항과의 호환성을 유지하면서 C# 및 .NET 프로그래밍 언어로 네이티브 아이폰 애플리케이션을 작성할 수 있게 하는 소프트웨어 프레임워크이다.

플래시
iOS는 어도비 플래시를 지원하지 않으며, 어도비는 플래시와 플래시 라이트 두 가지 버전의 소프트웨어를 가지고 있지만, 애플은 이 두 가지 모두 아이폰에 적합하지 않다고 본다. 애플은 전체 플래시는 "사용하기에는 너무 느리다"고 주장하고, 플래시 라이트는 "웹에서 사용할 수 없다"고 주장한다.

2009년 10월, 어도비는 다가오는 크리에이티브 스위트 업데이트에 개발자들이 회사의 플래시 개발 도구를 사용하여 네이티브 아이폰 앱을 구축할 수 있게 해주는 구성 요소가 포함될 것이라고 발표했다. 이 소프트웨어는 회사의 크리에이티브 스위트 5 전문 애플리케이션 컬렉션의 일부로 공식 출시되었다.

2010년 개발 도구 정책
2010년 4월, 애플은 논란의 여지가 있는 변경 사항을 아이폰 개발자 계약에 적용하여 개발자들이 앱 스토어에 앱을 게시하려면 "승인된" 프로그래밍 언어만 사용하도록 요구하고, 서드파티 개발 도구를 사용하는 애플리케이션을 금지했다. 이 금지는 플래시 앱을 iOS 앱으로 변환하는 어도비의 패키저 도구에 영향을 미쳤다. 개발자들의 반발과 잠재적인 독점 금지 조사 소식 이후 애플은 9월에 다시 계약을 수정하여 서드파티 개발 도구 사용을 허용했다.

Mac Catalyst
원래 "프로젝트 마지팬(Project Marzipan)"이라고 불렸던 Mac Catalyst는 개발자가 iPadOS 앱 경험을 macOS로 가져오고, iPadOS 장치용으로 개발된 앱을 두 번 소프트웨어 코드를 작성할 필요 없이 Mac으로 더 쉽게 가져올 수 있도록 돕는다.

 같이 보기 
 안드로이드 소프트웨어 개발
 Qt (소프트웨어)

 각주 

 외부 링크 
 Apple 개발자에서 아이디어를 현실로 구현하기

분류:프로그래밍 도구
분류:IOS
분류:소프트웨어 개발 키트