iOS 앱 포트폴리오: 나만의 오르골 만들기 (Make My MusicBox) 애플 앱스토어 출시 📱

나만의 오르골(뮤직 박스) 악보를 만들고 재생, 공유할 수 있는 나만의 오르골 만들기 Make My MusicBox 앱이 출시되었습니다.   나만의 오르골 만들기 Make My MusicBox 프로모션 영상   사용 도구 Swift, Xcode   앱스토어 링크 나만의 오르골 만들기 Make My MusicBox (모든 국가 출시)   깃허브 링크 https://github.com/ayaysir/MusicBox   제작 시기 더보기…

Swift(스위프트): 언어 현지화(로컬라이제이션 Localization) – 다국어 지원 앱 만들기

스위프트(Swift)를 사용한 iOS 프로젝트에서 로컬라이징하는 방법입니다. 프로젝트 세팅 스토리보드 로컬라이징 코드 내 텍스트의 로컬라이징 변수값을 사용하는 어순이 바뀌는 언어의 로컬라이징 info.plist 로컬라이징   1. 프로젝트 세팅 프로젝트 세팅의 PROJECT > Info 에서 Localizations 아래에 있는 + 버튼을 클릭합니다.   여기서는 한국어(ko)를 선택하도록 하겠습니다. 여러 언어를 추가할 수 있습니다.   기본 더보기…

Swift(스위프트): 원형 버튼 만들기 (스토리보드)

가로 세로 크기가 동일한 정사각형 버튼에서 cornerRadius 값을 버튼 너비(width)의 50%을 주면 원형 버튼이 됩니다.   @IBOutlet으로 연결된 버튼 또는 수동으로 만든 버튼을 원형으로 만들기 @IBOutlet weak var button: UIButton! // viewDidLoad(_:) 등 함수 안에 작성 button.layer.cornerRadius = 0.5 * button.bounds.size.width button.clipsToBounds = true   extension으로 만들어서 재사용하기 프로젝트에 다음 더보기…

Swift(스위프트): NSCoding(NSSecureCoding)을 이용한 클래스 객체 직렬화(바이너리 인코딩)

이 예제는 Swift에서 메모리상에 있는 객체를 직렬화(정확하게는 바이너리 형태로 압축 인코딩)한 뒤 저장 장치에 파일 형태로 저장하고 다시 불러오는 예제입니다. 이 예제는 인스턴스를 파일 형태로 주고받을 경우에 사용하고, 네트워크에서 주로 교환되며 JSON으로 사용 가능한 경우는 JSON을 사용하는 것이 좋습니다. NSCoding은 원칙적으로 클래스(NSObject를 상속받는)에서만 가능하고, 구조체(struct)는 사용이 불가능합니다. 다만 별도의 트릭을 더보기…

Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 회원 가입 기능 구현 2 – 프로필 사진 올리기 (스토리보드)

Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 기초 로그인 로그아웃 구현 (스토리보드) Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 회원 가입 기능 구현 1 (스토리보드)   지난번 글에서 프로필 사진을 제외한 모든 정보로 회원가입 하는 것을 다뤄봤으므로, 이번에는 사진을 업로드하는 과정을 진행하겠습니다. 사진 파일 업로드는 Firebase의 Storage 서비스를 이용합니다. 프로필 사진을 업로드할 때 원본 더보기…

Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 회원 가입 기능 구현 1 (스토리보드)

이전 글 Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 기초 로그인 로그아웃 구현 (스토리보드)   이전 글에서 로그인하는 방법을 다뤘으나, 파이어베이스 콘솔에서 임의로 만든 사용자를 대상으로 로그인 과정을 진행했습니다. 회원가입 메뉴를 만들어서 누구나 회원가입을 할 수 있고, 가입한 아이디를 통해 로그인이 가능하도록 할 필요가 있습니다. 이 예제에서는 이메일 주소를 아이디로 사용하며, 회원가입 더보기…

Swift(스위프트): Firebase(파이어베이스) 인증 기능을 이용한 기초 로그인 로그아웃 구현 (스토리보드)

Firebase(파이어베이스)를 이용한 iOS 로그인 구현 방법입니다. 이 예제에서는 이메일을 아이디로 사용합니다. 먼저 Firebase 웹 콘솔에서 인증 메뉴를 활성화한 다음, Xcode에서 로그인 관련 내용을 구현합니다.   파이어베이스 프로젝트에서 Authentification 생성 1. 파이어베이스 콘솔에서 프로젝트를 생성한 후, 빌드 > Authentification 메뉴를 클릭합니다. 2. 시작하기 버튼을 클릭합니다.   3. 그러면 아래와 같이 로그인 더보기…

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과 손가락 더보기…