Xcode: UIView 결과물 미리보기 (빌드 및 @IBDesignable을 사용하지 않고 SwiftUI의 프리뷰 기능을 이용)

일반적인 스토리보드(Storyboard) 하의 개발환경에서 UI 작업에 대한 결과물을 보려면 매번 빌드하는 과정을 거쳐야 하는 불편함이 있었습니다. 보완책으로 스토리보드에서 미리보기가 가능한 @IBDesignable이라는 어노테이션이 있지만 아래와 같이 없는것만 못한 쓰레기 기능입니다.   이번 예제는 실시간 프리뷰 기능이 도입된 SwiftUI를 간접적으로 이용하여 @IBDesignable 대신에 사용할 수 있는 미리보기입니다. 이 글에서는 UIView에 대한 미리보기를 더보기…

Swift(스위프트): iOS 단위 테스트(Unit test) 및 UI 테스트 튜토리얼

원문 iOS Unit Testing and UI Testing Tutorial   버전 Swift 5, iOS 14, Xcode 12   iOS 단위 테스트(Unit test) 및 UI 테스트 튜토리얼 iOS 단위 테스트는 거창하지 않지만 테스트를 통해 앱이 버그투성이 쓰레기 조각이 되는것을 방지할 수 있으므로 필요합니다. 이 튜토리얼을 읽고 있다면 코드와 UI에 대한 테스트를 작성해야 더보기…

Swift(스위프트): 애플 펜슬 튜토리얼 – 下 (스토리보드)

이전 글 Swift(스위프트): 애플 펜슬 튜토리얼 – 上 (스토리보드)   원문 – Apple Pencil Tutorial: Getting Started Swift 5 버전에 맞춰 원문을 변경하였습니다.     손가락 대 펜슬 그림을 그리는 도중 여기저기서 몇 가지 스케치 오류를 범했을 것이며 잘못된 선을 지울 수 있기를 바랄 것입니다. 이 섹션에서는 Apple Pencil과 손가락 더보기…

Swift(스위프트): 애플 펜슬 튜토리얼 – 上 (스토리보드)

원문 – Apple Pencil Tutorial: Getting Started Swift 5 버전에 맞춰 원문을 변경하였습니다. 많은 분들이 멋진 새 iPad Pro를 구입하고 함께 사용하기 위해 Apple Pencil을 가지고 있다는 것을 알고 있습니다. Apple Pencil로 그림을 그리는 것이 얼마나 멋진지 경험했다면 당신은 모든 앱에 Apple Pencil 지원을 포함하고 싶을 것입니다. 저는 원래 iPad를 더보기…

Swift(스위프트): CGContext에서 GState의 의미, saveGState & restoreGState 사용법 (스토리보드, Core Graphics)

예를 들어 데이터가 있고, 데이터를 바탕으로 다음과 같은 그래프를 그리고 싶다고 가정합니다. // Weekly sample data var graphPoints = [4, 2, 6, 4, 5, 8, 3] 이 그래프 디자인 특징으로는 그래프 선 아래에 새로운 그라데이션이 있고, 각 그래프의 일정 범위마다 수치가 큰 크기의 점(원)으로 그려져있다는 점입니다.   이 디자인에 맞춰 더보기…

Swift(스위프트): WKWebView에서 Swift 네이티브 앱과 웹 페이지의 자바스크립트간 통신 (스토리보드) + console.log 표시

이전 글에서 이어집니다. Swift(스위프트): 오프라인 웹 페이지 표시하기 (스토리보드) Swift(스위프트): 오프라인 웹 페이지에서 자바스크립트 실행 및 alert, confirm, prompt 띄우기 (스토리보드)   자바스크립트에서 네이티브 앱(Swift)로 데이터 보내기 웹 페이지의 자바스크립트 부분에 다음을 추가합니다. const is_iOS = navigator.userAgent.match(/iPhone|iPad|iPod/i) == null ? false : true function sendToNativeApp(event) { if(is_iOS) { // receiveFromJS 더보기…

Swift(스위프트): Page Controller View (페이지 넘기기) 기초 (스토리보드)

출처 블로그 – 찾아본 결과 여기에 나온 설명이 제일 이해하기 편했습니다. iOS로 된 전자책이나 앨범 등을 만들 때 이미지를 좌우로 스와이프해서 넘기는 형태로 만들 필요가 있습니다. 이럴 때 사용하는 뷰 컨트롤러가 페이지 뷰 컨트롤러 (UIPageViewController) 입니다.   스토리보드 먼저 스토리보드에서 페이지 뷰 컨트롤러를 생성합니다.   페이지 뷰 컨트롤러는 다른 뷰 더보기…

Swift(스위프트): 오프라인 웹 페이지에서 자바스크립트 실행 및 alert, confirm, prompt 띄우기 (스토리보드)

이전 글에서 이어집니다. Swift(스위프트): 오프라인 웹 페이지 표시하기 (스토리보드)   웹킷뷰(WKWebView) 에서 자바스크립트를 실행하려면 자바스크립트 모드가 활성화되어야 합니다. 다음 코드를 뷰 컨트롤러에 추가합니다. iOS 14 버전과 이전 방식에 차이가 있습니다. 먼저 딜리게이트를 구현하는 뷰 컨트롤러의 extension을 추가합니다. extension ViewController: WKUIDelegate, WKNavigationDelegate { }   다음 웹킷뷰를 초기화하는 함수를 작성합니다. 하이라이트 더보기…

Swift(스위프트): 오프라인 웹 페이지 표시하기 (스토리보드)

뷰 위에 오프라인으로 저장된 HTML 페이지를 표시하는 예제입니다. 1) WebKit View를 뷰 위에 추가합니다.   2) 뷰 컨트롤러 소스 파일에 웹킷 뷰를 연결한 @IBOutlet 변수를 추가합니다.   3) 다음 프로젝트 폴더에서 마우스 오른쪽 버튼을 누른 뒤 Show in Finder 메뉴를 선택해 파인더 탐색기를 엽니다.   4) 웹페이지 파일을 담을 새로운 더보기…

iOS 앱 포트폴리오: Tuner XR 애플 앱스토어 출시 📱- 음악가들을 위한 튜너 앱

Tuner XR 사용 도구 Swift, Xcode   앱스토어 링크 https://apps.apple.com/kr/app/tuner-xr/id1581803256 (모든 국가 출시)   깃허브 링크 https://github.com/ayaysir/iOS-Tuner/   제작 시기 버전 1.0 – 2021.7.30 ~ 2021.8.20   특징 및 사용 기술 애플 앱스토어의 검수에 통과하였습니다. Core Data + CloudKit으로 개인 아이클라우드 계정을 데이터 관리 및 기기간 연동 IOS 13 버전 더보기…