iOS 앱을 위한 다양한 오프라인 옵션

원문: The Many Offline Options for iOS Apps   오프라인 모드는 더 이상 앱에 추가하도록 선택할 수 있는 추가 기능이 아닙니다. 많은 사용자가 기대하는 것입니다. 저는 개발자들이 더 나은 방법으로 해결할 수 있는 문제에 대해서 (본인들이) 선호하는 오프라인 솔루션(Core Data)을 강요하는 것을 종종 보았습니다 . 앱이 오프라인에서 작동하도록 하는 방법에는 더보기…

iOS 프로그래밍 예제(Swift): 마이크를 통한 소음 데시벨 감지 (마이크 권한 설정, 녹음 진행)

이 예제는 아이폰의 마이크를 통해 소리가 들어오면 dBFS(위키백과 링크)를 측정하여 조용한 상태인지, 소음이 있는지를 검사합니다. 먼저 마이크 권한을 물어보는 메시지에 대한 설정이 필요합니다. 다음 마이크 녹음을 진행하면서 dBFS를 측정하고, 이 값에 따라 소음이 어떤지 메시지를 나타냅니다. dBFS가 -50을 벗어나는 경우 조용한 상태, -10 ~ 0 인 경우 시끄러운 상태이며 0을 더보기…

Swift(스위프트): URL 관련 기능 요약 (URL, URLComponents, URLSession)

URL 타입 인코딩되지 않은 주소를 URL의 형태로 관리합니다. let urlString = “https://itunes.apple.com/search?media=music&entity=musicVideo&term=collier” let url = URL(string: urlString) URL의 string:은 영문, 숫자와 특정 문자만 인식 가능하며, 한글, 띄어쓰기 등은 인식하지 못합니다. 아래 메소드를 통해 URL로부터 몇몇 정보를 가져올 수 있습니다. url?.absoluteString // 절대주소 (urlString과 동일) url?.scheme // http? htttps? url?.host // 더보기…

Swift(스위프트): 타이머(Timer) 만들기

타이머는 반복 작업 생성부터 지연 작업 예약까지 Swift에서 매우 편리하게 이용할 수 있습니다. 이 튜토리얼은 Swift에서 타이머를 만드는 방법을 설명합니다. Timer 클래스를 설명하기 이전에, NSTimer라고 알려진 클래스를 사용하여 타이머를 추가하는 방법에 대해 설명합니다. 반복 및 비반복 타이머, RunLoop 사용, 타이머 추적, 에너지 및 전력 영향을 줄이는 방법에 대해 알아 봅니다. 더보기…

iOS 프로그래밍: 컬렉션 뷰 (Swift, 스토리보드) – 컬렉션 뷰 추가, 커스텀 셀 작성

컬렉션 뷰(Collection View)란 위의 그림에서 볼 수 있듯이 테이블처럼 일정한 가로 세로 개수를 가진 목록 오브젝트를 뜻합니다. 이 테이블 뷰를 생성하는 방법을 스위프트(Swift), 스토리보드(Storyboard) 기준으로 알아보겠습니다.   1) 컬렉션 뷰(Collection View) 오브젝트 추가 오른쪽 상단의 [+] 버튼을 클릭합니다. Collection View 오브젝트를 메인 뷰로 끌어와 추가합니다.   컬렉션 뷰를 양쪽으로 잡아당겨 화면에 꽉 채웁니다.   더보기…

iOS 프로그래밍: 테이블 뷰 (Swift, 스토리보드) 2 – 커스텀 셀(custom cell) 추가

iOS 프로그래밍: 테이블 뷰 (Swift, 스토리보드) 1 – 테이블 뷰 추가   커스텀 셀이란 Xcode에서 일반적으로 제공하는 테이블 셀이 아닌 사용자가 직접 새로운 형태의 셀을 만들어 테이블 뷰에 적용하는 것을 뜻합니다.   1) 커스텀 셀 오브젝트 배치 먼저, 메인 스토리보드에서 테이블 뷰의 셀 크기를 충분히 늘린 뒤, 이미지와 레이블 등을 더보기…

iOS 프로그래밍: 테이블 뷰 (Swift, 스토리보드) 1 – 테이블 뷰 추가

iOS 프로그래밍에서 테이블 뷰(Table View)란 위의 그림처럼 목록이 있고 그 목록을 클릭할 수 있는 구성요소를 말합니다. 이 테이블 뷰를 생성하는 방법을 스위프트(Swift), 스토리보드(Storyboard) 기준으로 알아보겠습니다.   1) 테이블 뷰(Table View) 오브젝트 추가 오른쪽 상단의 [+] 버튼을 클릭합니다. table을 검색한 뒤 Table View 오브젝트를 메인 뷰로 끌어와 추가합니다.   테이블 뷰를 더보기…

Swift(스위프트): 클로저 (Closure) – 정의 및 문법

클로저 (Closures) 클로저(closure)는 코드에서 전달 및 사용할 수 있는 독립된 기능 블록(blocks of functionality) 입니다. 다른 프로그램의 람다(lambda)와 유사합니다. 클로저는 정의된 컨텍스트에서 모든 상수 및 변수에 대한 참고를 캡처(capture; 포획)하고 저장할 수 있습니다. 이를 상수 및 변수에 대한 에워싸기(closing over)라고 합니다. 함수(function)은 특별한 형태의 클로저라고 볼 수 있습니다. 클로저는 다음 더보기…

Xcode: 아이콘 이미지를 Xcode 애플리케이션(앱) 아이콘으로 변환 (appicon.co 이용)

App Icon Generator 위 사이트에서 하나의 이미지 파일을 애플 아이콘으로 자동으로 변환해줍니다. 먼저 이미지 파일은 가로 세로 각각 1024px 이상이어야 합니다. 애플 앱에서 사용하는 아이콘 중 가장 큰 사이즈가 1024px이기 때문입니다.   1) 그래픽 소프트웨어를 이용해 아이콘 이미지를 만들어 1024px * 1024px로 저장합니다. 2) App Icon Generator 사이트에 접속한 다음 이미지를 업로드합니다. 더보기…