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 버전 더보기…

스위프트 (Swift): 메일 보내기 기능 (스토리보드)

Swift(스위프트) iOS 프로그래밍에서 버튼에 메일을 보내는 기능을 할당하는 예제입니다.   추가하고자 하는 뷰 컨트롤러에 다음을 import합니다 (윗부분에 작성). import MessageUI   아래 코드를 해당 뷰 컨트롤러의 extension으로 추가합니다. extension TargetViewController: MFMailComposeViewControllerDelegate { @IBAction func launchEmail(sender: UIButton) { // 1 guard MFMailComposeViewController.canSendMail() else { // 사용자의 메일 계정이 설정되어 있지 않아 더보기…

Swift(스위프트) 기초: struct (구조체; structures)

기본적으로 클래스와 유사하게 객체를 만들어 캡슐화하는 기능을 가지고 있습니다. 문법 및 사용법도 매우 유사합니다. Swift 기초 (4): 클래스, 옵셔널과 nil struct Person { var name: String var job: String var age: Int let person1 = Person(name: “aa”, job: “neet”, age: 12) print(person1)   주요 공통점은 다음과 같습니다. 값을 저장하기 위한 더보기…

Swift(스위프트): 텍스트 필드(UITextField)에 숫자만 입력되게 하기, 자리수 제한하기 (스토리보드)

텍스트 필드에서 숫자만 입력되게 하고, 특정 자리수 이상이 되면 키보드를 사라지게 하는 예제입니다.   1) 마우스 오른쪽 버튼을 누른채로, 또는 control 버튼을 누른채로 드래그하여 @IBOutlet 변수를 생성합니다. @IBOutlet weak var textFieldOutlet: UITextField!   2) 뷰 컨트롤러의 viewDidLoad() 안에 컨트롤러와 딜리게이트를 연결합니다. textA4FreqOutlet.delegate = self 또는 위의 과정 대신 스토리보드에서 텍스트 더보기…

Swift(스위프트): UITextField의 숫자 패드(Number Pad)에 완료 버튼 달기 (스토리보드)

텍스트 필드 (UITextField)를 스토리보드에서 숫자 패드(Number Pad)만 나오게 설정할 수 있습니다.   이 패드의 문제점은 아래 그림 완료(엔터) 버튼이 없다는 점입니다. 완료 버튼이 없으므로 추가 설정이 없다면 어떤 방법으로도 키보드를 사라지게 할 수 없습니다. 해결 방안으로 일정 자리수가 입력되면 숫자 패드를 사라지게 하기 숫자 패드 위에 [완료] 버튼 달기   더보기…

Swift(스위프트): 코어 데이터(Core Date) CRUD 기초

Core Data란? Core Data를 통해 iOS, macOS 등의 애플리케이션 내에 오프라인으로 데이터를 저장할 수 있습니다. 다음은 Core Data의 소개글입니다. Core Data는 macOS 및 iOS 운영 체제에서 Apple이 제공하는 객체 그래프 및 지속성(persistence) 프레임워크입니다. 관계형 엔터티 속성 모델로 구성된 데이터를 XML, 바이너리 또는 SQLite 저장소로 직렬화할 수 있습니다. 엔터티 및 해당 더보기…