전체 글 45

코코아팟(CocoaPods)으로 라이브러리 설치하기

패키지 관리 도구란? 앱 프로젝트에 원하는 라이브러리를 손쉽게 설치하고 버전까지 관리할 수 있게 하는 도구이다. 코코아팟이란? 코코아 프로젝트에 대한 의존성 패키지를 관리하는 도구 중 하나이다. 애플 코코아 개발 환경에서 진행되는 애플리케이션 프로젝트에 필요한 외부 라이브러리를 간단하게 설치할 수 있도록 도와주는 유틸이라고 할 수 있다. 코코아팟 설치하기 1. 설치 명령어를 입력한다. $ sudo gem install cocoapods 2. 패스워드를 입력한다. Password: 라이브러리 설치하기 1. 현재 진행 중인 프로젝트 폴더의 위치로 이동한다. $ cd /User/프로젝트경로/ 2. Podfile을 생성한다. (pod init 명령어를 실행하면 파일이 자동으로 생성되고 기본 내용도 채워준다.) ..

iOS 2021.11.22

iOS Human Interface Guidelines 읽어보기! - App Architecture/Onboarding

앱 아키텍처(App Architecture) 온보딩(Onboarding) 온보딩을 통해 새로운 사용자를 환영하고 재방문 사용자와 다시 연결할 수 있습니다. 빠르고 재미있고 교육적인 선택적 온보딩 환경은 사람들이 방해받지 않고 앱을 최대한 활용하는 데 도움이 될 수 있습니다. 단순히 앱을 설정하는 것이 아니라 사람들이 당신의 앱을 즐길 수 있도록 도와주는 온보딩을 제공하십시오. 사람들은 앱에 대해 더 많이 배울 수 있는 기회에 감사할 수 있지만 동시에 효과가 있기를 기대합니다. 온보딩 경험에 설정 또는 라이선스 세부 정보를 포함하지 마십시오. 지침은 Launching을 참조하십시오 . 신속하게 조치를 취하십시오. 시스템이 launch screen이 초기 앱 화면으로 바뀐 후 사람들이 바로 앱을 즐길 수 있..

HIG 2021.11.22

iOS Human Interface Guidelines 읽어보기! - App Architecture/Launching

앱 아키텍처(App Architecture) 런칭(Launching) 런치 경험(launch experience, 앱을 시작하여 시작 화면(launch screen)을 띄우고 앱의 첫 화면으로 바뀐 직후)은 앱에 대한 사람들의 인식에 큰 영향을 미칩니다. 사람들이 사용하는 기기나 앱을 마지막으로 연 이후 시간에 관계없이 런치 경험은 빠르고 원활해야 합니다. 아래 지침은 즐거운 런치 경험을 디자인하는 데 도움이 될 수 있습니다. 개발자 지침은 Responding to the Launch of Your App을 참조하십시오. 시작 화면 제공하십시오. 시스템은 앱이 시작되는 순간 시작 화면을 표시하고 앱의 첫 번째 화면으로 빠르게 교체합니다. 시작 화면의 기능은 사람들에게 앱이 빠르고 반응적이라는 인상을 주는..

HIG 2021.11.20

이미지를 코어 데이터에 저장할 때 주의할 점

이미지를 데이터베이스에 저장하는 것은 매우 무거운 작업이기 때문에, 대량의 데이터를 다룰 때 성능의 저하를 가져올 수도 있다. 실무에서는 데이터베이스가 아닌 문서 디렉터리에 파일로 저장하고, 그에 대한 저장 경로만 데이터 베이스에 저장하는 방식으로 로직을 구현하는 것이 좋다. 데이터가 커지면 확실히 DB를 직접 엑세스해서 처리하는 것보다 코어 데이터를 사용하는 것이 유리합니다. 코어 데이터는 약산의 오버헤드가 있긴 하지만 지능적으로 데이터를 가져올 뿐만 아니라, 데이터 목록을 받아왔다 하더라도 우리가 관리 객체에 직접 액세스하기 전까지는 실제로 데이터를 메모리에 로드하지 않는다. 이는 메모리 관리나 성능 측면에서 상당한 장점이라고 할 수 있다. 특히 두 개 이상의 엔터티를 조인해야 하는 경우, 코어 데이..

iOS 2021.11.19

Clima 앱

프로젝트 소개 실시간 날씨 정보를 알려주는 앱입니다. 다크 모드를 지원하는 앱입니다. 사용 기술 - 인터넷에서 실시간 데이터를 얻을 수 있는 API 활용 https://openweathermap.org/ - UITextField을 이용한 사용자 입력 - 델리게이트 패턴 - extension과 protocol - URLSession을 사용하여 네트워크를 구성하고 HTTP 요청하기 - CoreLocation을 사용하여 현재 핸드폰 위치 얻기 Udemy iOS & Swift - The Complete iOS App Development Bootcamp 강의 프로젝트입니다.

Project 2021.11.19

Xylophone 앱

프로젝트 소개 실로폰을 칠 수 있는 앱입니다. 사용 기술 - AVFoundation 및 AVAudioPlayer를 사용하여 소리를 재생 - DispatchQueue.main.asyncAfter DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { button.alpha = 1.0 } DispatchQueue.main.asyncAfter를 사용하여 버튼을 클릭하면 0.2초 지연 후에 버튼이 완전 불투명해 지게 만든다. Udemy iOS & Swift - The Complete iOS App Development Bootcamp 강의 프로젝트입니다.

Project 2021.11.19

Dicee 앱

프로젝트 소개 버튼을 누르면 주사위가 랜덤으로 돌아가는 앱입니다. 사용 기술 - IBActions 및 IBOutlets를 사용하여 Interface Builder 파일과 코드 간의 링크를 만들기 - Swift의 let(constants) 와 var(variables) let을 사용하면 값을 바꿀 수 없고 var을 사용하면 값을 바꿀 수 있다. - Swift 배열 let diceArray = ['a', 'b', 'c'] - 랜덤 생성 diceArray.randomElement() diceArray[Int.random(in: 0...3)] Udemy iOS & Swift - The Complete iOS App Development Bootcamp 강의 프로젝트입니다.

Project 2021.11.19