Xcode(2022-07-04 수업1)

2022. 7. 7. 23:08SeSAC/수업정리

안녕하세요. 이 글은 수업을 정리하여 학습효과를 높이기 위한 용도로 작성했습니다.

초기에는 단편적인 지식정리 위주 일 수 있지만 작성해가면서 부족한 점을 더 보완할 수 있을거라 믿습니다.

 

*비영리 목적의 글임

*기본 레퍼런스는 수업자료이고 그외 레퍼런스는 출처표시 누락이 있을 수 있음(너그러이 양해 부탁드립니다.^^;)

*어투는 유기적으로 변할 수 있음

 

그럼... 블로그 첫 글 시작합니다!

목차

1. Xcode란?
  1-1. Xcode project

  1-2. Xcode Interface

  1-3. iPhone과 iPad 앱 출시 차이

2. 심화학습

  2-1. Version에 따른 UI변화

  2-2. Entry Point


1. Xcode란?

애플OS용 소프트웨어 개발 IDE(통합 개발 환경)로서 2022년 7월 기준 최신버젼은 13.4.1이고, 베타버젼으로 14까지 나온 상태이다.

 

*IDE(Integrated Development Environment) : 단어 뜻 그대로 통합된 개발 환경을 말한다. 개발을 하면서 사용되는 도구들의 집합이라고 생각하면 된다.(ex. MS의 Visual Studio, Oracle의 Eclipse 등 다양한 IDE 존재)
출처: https://blog.cordelia273.space/27

1-1. Xcode project

Xcode에서 앱을 개발하기 위해서는 프로젝트를 생성하고 기본정보를 입력해야 한다.

 

  • Product Name : 개발하고자 하는 앱의 이름을 입력(프로덕트 네임이 출시할 앱의 이름이 되는 것은 아님)
  • Team : 개발자 프로그램에 등록된 ID 또는 팀을 입력하는 부분(None일 경우 시뮬레이터 빌드만 가능하고 실제 기기에서 빌드가 빌드가 불가하여 앱 출시 못 함)
  • Organization Identifier : 조직식별자로서 도메인 주소를 역순으로 입력하는 게 일반적(앱을 앱스토어에 등록하려면 개인 또는 조직의 유일 URL이 있어야 함)
  • Bundle Identifier : 식별자로서 앱을 앱스토어에 등록할 때 다른 앱과 구분하는 용도로 사용(유일값이어야 함)
  • Interface : iOS 화면 개발 방법 종류를 선택하는 부분(일반적으로 Storyboard 사용)
  • Language : 프로젝트에서 사용할 언어를 선택하는 부분(일반적으로 Swift 사용)

1-2.  Xcode Interface

엑스코드 인터페이스는 크게 5가지로 구분된다.

 

  • 네비게이터 : 프로젝트가 가지고 있는 파일목록을 보여주는 영역이다.
  • 아웃라인뷰 + 인터페이스빌더 : 화면구성요소와 디자인된 화면을 보여주는 영역이다. 
  • 에디터 : 소스파일을 편집하여 화면을 디자인하는 영역이다.
  • 인스펙터 : 스토리보드 내 요소의 상세 속성을 보여주는 영역이다.
  • 디버그 : 앱빌드시 문제가 생긴 부분을 확인하거나 테스트 목적의 입출역 내용이 출력되는 영역이다.

1-3.  iPhone과 iPad 앱 출시 차이

아이폰&아이패드용, 아이폰용, 아이패드용 3가지 중 어떤 방식으로 앱을 출시하느냐에 따라 출시 이후 혼용여부가 다르니 처음 앱개발할 때 추후 서비스 확장 계획까지 염두하는 게 필요하다. 간략하게 설명하면, 아이폰&아이패드용은 출시 이후 별도 용도로 전환이 안되지만 아이폰이나 아이패드용으로만 출시한 앱은 혼용 전환이 가능하다.

2. 심화학습

2-1. Version에 따른 UI변화

Q. 동일한 프로젝트더라도 iOS버젼에 따라 다른 UI가 나타날 수 있다. 이유가 무엇일까?

A. iOS버젼 마다 이미지 크기와 해상도가 다르기 때문에 각각에 맞는 이미지가 필요하다. 

2-2. Entry Point

Q. Entry Point란 무엇이고, 왜 필요할까?

A. 앱 실행의 시작점으로서 화면에 보여야 할 부분을 선택하는 용도이다. 스토리보드에 여러개의 뷰컨트롤러가 있을 때  보여주고 싶은 화면을 선택하기 위해 엔트리 포인트를 사용한다.


첫 글 소감.

생각보다 너무 오래 걸린다. 처음 쓰는 글임을 감안해도 그렇다. 내가 공부한 것을 정리한다기 보다는 블로그용?으로 기록하는데 시간이 꽤 걸린다. 다음 글부터는 지엽적이거나 핵심이 아닌 부분을 과감하게 넘기고 정말 기록으로 남길만한 가치가 있는 것 위주로 작성해야겠다. 이해가 어려워서 정리하면서 이해에 도움되는 걸 기록해야지 무작정 기록하면 시간만 오래걸려서 안되겠다.