본문 바로가기

iOS

(16)
iOS - JSON Parsing 오늘은 iOS앱 개발에서 네트워크 통신시 필수로 알아야 할 JSON(Java Script Object Notation)에 대해 알아 보겠습니다. JSON은 자바스크립트에서 인스턴스의 속성을 표현하기 위해 사용한 데이터 구조로, 데이터가 작고 간결해 모바일 앱에서 데이터를 주고 받을 때 많이 사용되고 있습니다. 그래서 최근에는 앱과 연동하는 API 서버는 주로 JSON 형태로 테이터를 내려주기 때문에 필수로 알아 두어야 한다고 생각합니다. JSON 구조를 한 번 살펴 보겠습니다. JSON 객체는 { 로 시작하여 } 로 끝납니다. 이 괄호 사이에 키와 값이 쌍을 이루어 들어가며, 이 구조는 Swift의 딕셔너리와 구조가 비슷합니다. { "name" : "홍길동", "age" : 30, "height": 17..
iOS - ARC, Weak, Unowned [소유 정책] 1. 모든 객체는 생성될 때 참조 카운트가 1이 된다. 2. retain 메세지를 보내면 참조 카운트가 1 증가한다. 이 메시지를 보낸 호출자는 객체를 '소유' 한다고 한다. 3. release 메시지를 보내면 참조 카운트가 1 감소한다. 이 메시지를 보낸 호출자는 객체의 소유권을 포기한다. 4. autorelease 메시지를 보내면 현재 사용 중인 오토릴리즈 풀 블록의 실행이 종료되는 시점에 참조 카운트가 1이 감소한다. 5. 참조 카운트가 0이 되면 객체의 메모리가 해제된다. [오토릴리즈 풀] 오토릴리즈 풀은 autorelease 메시지를 받은 객체가 해지되기 전까지 저장되는 공간이다. 이 공간에 저장된 객체들은 오토릴리즈 풀이 해제될 때 다함께 release된다. 각 스레드 하나에 오..
iOS - Cocoa Pods Cocoa Pods : 의존성 패키지를 관리하는 도구. 코코아팟을 사용하면 본인의 iOS앱에 외부 라이브러리를 쉽게 설치하는 것 뿐만 아니라 향후 버전까지 관리할 수 있는 정점이 있음. 외부라이브러리(dependent package)를 관리하는 도구. 설치 방법. 맥북에서 Terminal 열고 sudo gem install cocoapods 명령어로 cocoapods 설치. (맥북 비빌번호 입력) cd 프로젝트폴더주소 ls (리스트를 보는 명령어) pod init (pod file이 설치됨.) Example: pod file 밑에 pod “KRProgressHUD” 입력 ls pod install 다 설치 된 이후 흰색파일 실행.
iOS - Custom Fonts 안녕하세요, 오늘은 커스텀 폰트를 추가하는 법을 알아보겠습니다. Xcode에서 제공하는 다양한 폰트들이 있는데요, 대부분의 폰트들이 포멀하고 딱딱한 느낌이라 저희가 직접 원하는 폰트를 넣어서 앱 디자인을 하면 앱 전체 분위기가 확 살아나는 장점이 있습니다. 순서는 아래와 같은데요. 바꿔서 실행해도 상관은 없습니다. 새폴더 추가 → Fonts → 본인이 원하는 폰트 파일을 넣어줌. Info 파일로 이동. → Information Property List 하위에 → Fonts Provided by Application 추가 → 하위에 Fonts갯수 만큼 아이템 수 추가 → 각각 원하는 이름 입력 해당 커스텀 폰트를 UI에 넣으면 됨.
iOS - ImagePicker (이미지 피커) Image Picker는 UIImagePickerController 클래스를 사용하여 구현하는데요, 순서는 아래와 같이 진행하면 실수를 줄일 것 같습니다. 주의할 사항은 UIImagePickerController는 스토리보드로 생성하는 것은 안되며, 코드로만 생성이 가능합니다. 1. 이미지피커컨트롤러 인스턴스 생성. let imagePicker = UIImagePickerController() 2. 델리게이트를 self로 지정 imagePicker.delegate = self 3. Source Type을 지정 imagePicker.sourceType = .photolibrary ***카메라 사용과 포토 라이브러리 이용 등 여기서 source type을 선택해 주시면 됩니다. 4. 이미지피커컨트롤러를 출..
iOS - Application 배포 iOS - Application 배포 배포 준비 앱 아이콘이 있어야 하고 앱 스토어에 등록할 아이콘(1024*1024) 이 준비되어 있어야함. 실행할 앱의 스크린 샷이 있어야 하는데, 크기가 정해져 있음. 시뮬레이터의 스크린 샷을 찍고 편집을 해서 해상도를 맞추어야 함. makeicon으로 앱 아이콘 작업은 가능하나 아래 시뮬레이터는 편집 skill이 필요함. 2. 개발자 사이트에서 App Store Connect로 접속. 상단의 메뉴 버튼을 눌러서 My Apps를 클릭. 3. + 를 선택해서 앱의 정보를 입력. (예: New App을 선택. 앱의 정보를 입력. iOS, name: drawing, language: (주로 영어로 하고 한국어를 보조로). 한국에서만 쓸 거면 Korean도 ok , bund..
iOS - CoreData iOS - CoreData - Executive Summary 앱의 데이터를 로컬에 저장하는 기법 중의 하나로 SQL을 이용하지 않고, 내부의 SQLite3를 사용할 수 있으며, 실행 할 때, 메모리에 모든 데이터를 적재해 놓고 사용하는 in MEMORY 방식의 데이터 관리 프레임워크 임. Core Data를 사용하고자 할 때는 애플리케이션 생성 시 use core data 옵션을 체크 이 옵션을 체크하지 않으면, core data 사용 객체를 직접 만들어서 사용해야 함. Core Data의 주요 용어: PersistencyContainer : 데이터 저장소의 개념으로 실제로는 SQLite DB를 이용하고, Documents 디렉터리에 .sqlite파일로 존재. 2. Data Model : Persist..
iOS - URLSession URLLoadingSystem: URL을 통해 서버(네트워크에 있는)와 통신하는 기술. 여기에 포함된 프레임워크는 하이레벨 API를 제공. 이 API들은 서버 연동, 다운로드, 업로드 기능을 구현. 애플은 URL Loading System 사용을 권장. URLSession: URLLoadingSystem에서 가장 중요한 것은 URLSession임. 네트워크 연결을 설정하고, 요청과 응답을 처리함. iOS앱에서 서버와 통신하기 위해 애플은 URLSession이라는 API를 제공. URLsession은 다른 HTTP통신과 마찬가지로 Request와 Response를 기본 구조로 가지고 있음. Request는 URL객체를 통해 직접 통신하는 형태와 URLRequest 객체를 만들어서 옵션을 설정하여 통신. R..