Home » iOS -1. iOS 개발 프로세스

iOS -1. iOS 개발 프로세스

1.1. iOS 개발 환경 구축

  • iOS 애플리케이션을 개발하기 위해서는 iOS가 설치된 단말과 iOS SDK, 매킨토시(PC)가 필요하다.
  • iOS SDK : iOS 애플리케이션 개발 툴인 Xcode에 포함되어 배포되며, Apple사의 개발자 페이지 (https://developer.apple.com/Xcode/index.php)에서 다운 받을 수 있다.

1.2. 애플리케이션 빌드 및 테스트

빌드 타겟 설명
iOS Devices iOS가 설치된 기기에서 실행할 수 있는 실행 파일
iOS Simulator Xcode에 포함되어 있는 시뮬레이터에서 실행할 수 있는 실행 파일
  • 개발한 iOS용 애플리케이션을 iOS 기기에 설치하여 실행하기 위해서는 1년에 $99를 지불하는 애플 개발자 프로그램(Apple Developer Program)에 가입해야 한다.

1.3. 빌드 단축키

명령어 종류 단축키
Build [Command]+[B]
Build & Run [Command]+[R]
Clean [Command]+[Shift]+[K]

1.4. Xcode

  • iOS 기기용 애플리케이션을 개발하기 위한 IDE 통합 툴이다.
  • Xcode는 다음과 같은 작업을 수행한다.
     소스코드 작성 및 빌드
     iOS 애플리케이션 패키징
     빌드된 애플리케이션을 아이폰에 설치
     iOS 기기 및 시뮬레이터에서 실행 중인 애플리케이션 디버깅

1.5. Xcode 프로젝트 생성

  • 응용 프로그램 -> Xcode 실행

    그림 1 프로젝트 생성(1) – Xcode 실행

  • Create a new Xcode project를 선택한다.

    그림 2 프로젝트 생성(2) – Create a new Xcode proejct

  • Single View Application을 선택한다.


그림 3 프로젝트생성(3) – choose a template

  • Product Name 및 Device를 선택한다.

    그림 4 프로젝트 생성(4) – choose options

  • Workspace를 설정한다.

    그림 5 프로젝트 생성(5) – project 저장 위치 선택

  • Supporting Files의 main.m에서는 프로그램이 어디서 시작될 지 알 수 있다.

  • 본 예제에서는 AppDelegate class임을 알 수 있다.

    그림 6 프로젝트 생성(6) – main.m

1.6. Xcode와 C++

 Xcode는 C와 C++언어 컴파일러를 포함하고 있다.
 C언어와 C++언어의 문법을 사용 할 수 있다.
 C언어의 문법은 확장자를 *.m인 파일에 작성하여 컴파일이 가능하다.
 C++언어의 문법은 확장자를 *.mm으로 변경해야 컴파일 시 에러가 발생하지 않는다.

1.7. 프로그램 배포 방법


그림 7 Distribution Tasks

 Apple Developer Programs 등록
 직접 만든 애플리케이션을 앱스토어에 올리기 위해 반드시 가입해야 하는 프로그램이다.
 Member Centre와 iTunes Connect에 대한 접속 권한이 주어진다.
 가격은 개인의 경우 1년에 $99이다.

 Certificates, Identifiers, Profiles 관리
 Certificates(인증서): Type은 Development와 Distribution이 있다. Development는 개발 시 장비에서 테스트할 수 있는 인증서이고, Distribution은 앱을앱스토어에 배포하기 위해 필요한 인증서이다. 최종 배포를 위해서는 두 가지 인증이 모두 필요하다.
 Identifiers: App IDs로 앱이 가지고 있는 Bundle ID와 연결된다.
 Provisioning Profiles: Xcode에서 사용하는 Profile이다. ID값 등에 대한 정보를 담고 있다. 최종적으로 ADHoc이나 앱스토어에 올릴 때 필요한 요소이다. 테스트 및 배포와 관련된 모든 정보를 가지고 있다.
 위 3가지 정보와 함께 Xcode에서의 Bundle ID 정보가 서로 일치 하지 않으면 배포가 불가능하다.

 App에 Store Capabilities 설정
 앱에서 Game Centre, iCloud, Push Notification 등의 기능을 지원하는 가에 대한 설정이다.

 App Test

그림 8 Archives Organizer

 Xcode의 Archives Organizer에서 Archive한 뒤, ADHoc Provisioning Profile을 이용해서 베타 테스트를 위한 ipa파일을 받는다.
 단, 개발자가 처음에 등록한 기기에서만 테스트가 가능하다.

 App을 release mode로 만들고 Submit한다.
 Archives에서 Submit to the iOS App Store를 선택하여 배포한다.

1.8. 문서 작성 시 iOS SDK 및 Xcode Version

iOS SDK7.1 / Xcode Version 5.1.1 기준으로 문서 작성