내가 가는 여정을 담는 그릇

[첫 iOS 앱 개발을 위한 공부] 2일차

세계4대진미_돼지국밥 2021. 7. 9. 01:23

「Do it! 스위프트로 아이폰 앱 만들기 입문 (개정 5판)」 (송호정, 이범근 지음) 으로 공부중입니다.

 

01장. 준비하기

- iOS 앱 개발을 위한 전제 조건(Swift 학습, 맥 PC 준비, Xcode 설치)은 어제 맞췄다.

- 내가 보는 책이 Xcode 12.1을 기준으로 하는데, 내 VMware 속 Mac OS에 설치된 건 Xcode 10이라 느낌이 쎄하다. 앞으로 여차하면 호스트 PC의 메모리 공간을 더 확보해서 가상 Mac OS에 더 많은 메모리를 할당하고, iOS 버전 업그레이드 이후 Xcode 12.1를 다운받아야 할지도 모르겠다. 아니면 주식이 떡상하던가!!!

 

02장. Hello World

[주요 개념]

1. 화면 구성: 내비게이터, 도큐먼트 아웃라인, 편집기(소스 파일 or 스토리보드), 인스펙터, 디버그 영역

 

2. 객체: 레이블(Label), 텍스트 필드(Text Field), 버튼(Button)

 정의 - 사용자 인터페이스(UI)를 위해 사용하는 오브젝트. 라이브러리에서 가져와 사용 가능하다.

 

3. 아웃렛 변수(@IBOutlet): UILabel, UITextField

 

4. 액션 함수(@IBAction): UIButton

 

[발견한 것]

- Xcode 10에는 미니맵이 없는지 안 보인다. 대세에 전혀 지장 없기를.

- Xcode 10에는 인스펙터 영역의 [Show the Connection inspector]에서 Referencing Outlets를 두 눈 크게 뜨고 찾아봐도 안 보인다. 그래도 스토리보드 위의 객체를 우클릭하여 직접 아웃렛 변수 및 액션 함수를 추가·제거할 수 있어서 다행이다.

나중에 책을 떼고 직접 개발을 하게 되면 이런 화면 구성을 많이 접할 것 같다

 

이름을 입력하고 보내기 버튼을 눌러서 그 이름이 화면에 뜨게 하는 것보다 내 폰과 색깔만 다른 아이폰이 화면에 있는 것이 더 신기했다.

 

베젤 탈부착도 가능했다. 개발자 도구의 시뮬레이터에서도 애플이 감성을 얼마나 세심하게 챙기는지 알 수 있었다.

 

03장. 이미지 뷰

[주요 개념]

1. 객체: 이미지 뷰(Image View), 버튼(Button), 스위치(Switch)

 

2. 아웃렛 변수(@IBOutlet): UIImageView, UIButton

 

3. 액션 함수(@IBAction): UIButton, UISwitch

 

영화 <InsideOut>의 씬스틸러 버럭이가 0.5만큼 화난 모습이다

 

1만큼 화난 모습이다. 초록색을 싫어하는게 분명하다.

 

아이폰 6s를 그냥 빼다 박았다. 이 정도까지 똑같아도 되는 건가 싶다 ㄷㄷ

 

[발견한 것]

- Mac OS의 Safari에서 다운로드한 이미지 파일의 확장자를 내 맘대로 변경해서 UIImage 타입 변수에 할당하고 시뮬레이터를 돌려보니 아무 이미지도 출력되지 않았다. 별다른 도구의 도움 없이 낮은 화질의 jpg, jpeg 확장자 파일을 상대적으로 높은 화질의 png 확장자 파일로 바꾸려 해서 그런걸까, 아니면 [이름 변경]을 통해 확장자를 바꾸는 것이 무의미한 걸까?

 

[오늘의 감상]

-Xcode 개발 환경의 편리함을 느낄 수 있었다. 비교 대상이 될런지 모르겠지만, 내가 해본 가장 이것과 유사한 작업은 Python의 Tk 라이브러리를 통해 GUI를 구현해보는 것이었는데 그때의 경험을 떠올려 보니, Xcode와 같은 IDE와 부수적인 시뮬레이터가 있다는 점이 참 감사했다.