전체 글
Swift AVFoundation 제대로 활용하기: 실로폰 앱 개발 기록
Swift AVFoundation 제대로 활용하기: 실로폰 앱 개발 기록
2025.06.09🎹 iOS 실로폰 앱 만들기 – SwiftiOS 개발을 처음 배우는 사람에게 딱 맞는 프로젝트가 있다. 바로 실로폰(Xylophone) 앱이다 ㅎㅎ.버튼을 누르면 소리가 나는 아주 간단한 구조지만, Swift에서 자주 쓰이는 문법과 개념이 가득 담겨 있다.이번 글에서는 실로폰 앱의 전체 코드를 기준으로 옵셔널 처리, 에러 처리, 함수 호출, 파일 경로 설정 등을 (완전히 자세히 뜯어보며🤣) 기록해보고자 한다.📄 전체 코드import UIKitimport AVFoundationclass ViewController: UIViewController { var player: AVAudioPlayer! override func viewDidLoad() { super.viewD..
디자이너가 앱을 직접 만들며 깨달은 iOS Auto Layout의 본질
디자이너가 앱을 직접 만들며 깨달은 iOS Auto Layout의 본질
2025.06.08📱 모든 화면에 최적화된 iOS 앱을 만들기 위한 첫걸음: Auto Layout 앱을 개발하다 보면 예상치 못한 문제들이 하나씩 드러나기 시작한다. 그중 하나가 바로 레이아웃이 무너지는 문제다. 처음에는 iPhone 11, 13 mini 등 특정 기기에서 앱을 실행했을 때 화면이 잘 작동하는 것처럼 보일 수 있다. 하지만 기기를 회전하거나, 더 작은 화면 또는 더 큰 iPad에서 실행해 보면 상황은 180도 달라진다.화면의 요소들이 잘리거나 겹치고, 버튼은 눌릴 수 없으며, 이미지나 텍스트는 화면 밖으로 밀려나 있다. 이는 내가 만든 앱이 화면 크기나 방향 변화에 전혀 대응하지 못한다는 뜻이다. 앱이 세로로는 잘 보여도 가로로 돌리면 UI가 박살 나는 걸 보는 순간, 나는 이렇게 생각했다.“어? 내가 ..
Swift에서 UIButton과 UIImageView 활용법
Swift에서 UIButton과 UIImageView 활용법
2025.06.07🎱 Swift로 만드는 Magic 8 Ball 앱 – 초보 iOS 개발자의 실전 첫 걸음Swift를 배우기 시작한거라면, 언제쯤 나만의 앱을 만들어볼 수 있을까? 이번 글에서는 튜토리얼에만 의존하지 않고, 혼자 힘으로 간단한 앱을 만들어보는 실전 프로젝트를 기록해보고자 한다. >> 안젤라의 iOS boostcamp 에서 배운것을 바탕으로 한 "Magic 8 Ball" 앱마치 AI처럼 질문에 무작위로 응답해주는 이 앱은 간단하면서도 Swift 개발의 핵심 요소들을 모두 담고 있다.🎯 프로젝트 목표이 앱은 사용자가 질문을 한 후 버튼을 누르면, 무작위로 이미지가 바뀌며 마치 점을 보는 듯한 느낌을 주는 구조다.UI 구성 실습IBOutlet / IBAction 연결배열, 난수, 이미지 변경 등 Swift ..
Swift(iOS) 독학: 상수, 변수, 배열, 무작위화, 그리고 배열 응용
Swift(iOS) 독학: 상수, 변수, 배열, 무작위화, 그리고 배열 응용
2025.06.06프로그래밍을 배우면서 가장 먼저 마주치는 개념 중 하나는 변수(Variable)와 상수(Constant)이다. Swift에서는 데이터를 저장할 때 두 가지 방식을 제공한다. 하나는 var 키워드를 사용하는 변수이고, 다른 하나는 let 키워드를 사용하는 상수다. 이 두 가지는 본질적으로 데이터를 저장하는 그릇이지만, 가장 큰 차이는 그 안의 내용을 바꿀 수 있느냐 없느냐다. 변수와 상수: 언제 어떤 것을 사용할까?Swift에서 var는 데이터를 저장하면서 수시로 값이 변할 수 있는 경우에 사용한다. 예를 들어 점수판, 사용자 이름 변경, 위치 정보 업데이트 등 실시간으로 변하는 데이터가 대표적이다.반면 let은 한 번 정한 값을 절대 바꾸지 않을 때 사용한다. 대표적인 예는 시간 단위 계산이다. 내가 작..
Xcode에서 IBOutlet과 IBAction이 작동하는 실제 흐름
Xcode에서 IBOutlet과 IBAction이 작동하는 실제 흐름
2025.06.05iOS 앱을 개발할 때 가장 먼저 배우게 되는 주제 중 하나가 UI 요소와 코드의 연결이다. 스토리보드에서 버튼, 이미지 뷰, 레이블 등을 배치했더라도, 코드에서 그 요소들에 접근하지 못한다면 의미가 없다.이번 글에서는 Swift로 iOS UI를 다룰 때 반드시 알아야 할 개념들—IBOutlet, IBAction, 옵셔널과 언래핑, 배열과 변수, 그리고 메모리 순환 참조까지—를 실제 실습 중심으로 정리했다(: (예제 앱으로는 주사위 이미지가 바뀌는 단순한 앱이다.) 1. IBOutlet: UI를 코드와 연결하는 콘센트@IBOutlet weak var diceImageView1: UIImageView!이 한 줄은 스토리보드에 있는 이미지 뷰를 코드에서 사용할 수 있도록 연결해주는 선언이다.@IBOutlet..
Xcode로 시작하는 iOS 앱 개발 – GitHub 프로젝트로 실전 감각 익히기
Xcode로 시작하는 iOS 앱 개발 – GitHub 프로젝트로 실전 감각 익히기
2025.06.05iOS 앱 개발을 처음 배우는 입장에서 가장 먼저 접하게 되는 도구 중 하나는 Xcode이고, 그 다음으로 꼭 알아야 할 도구는 GitHub이다. 이 두 가지는 각각 앱을 만드는 데 필수적인 개발 환경과, 협업 및 코드 관리를 위한 플랫폼이라는 점에서 매우 중요하다. 이번 글에서는 GitHub이 무엇인지부터 시작해, 어떻게 Xcode에서 GitHub 프로젝트를 복제(클론)하고, 그 프로젝트를 기반으로 앱을 실행하고, 사용자 인터페이스를 구성하며, 프로그래밍을 시작하는지까지 전체 과정을 정리해보고자 한다(:GitHub란 무엇인가?GitHub는 전 세계 개발자들이 코드를 공유하고 협업하기 위해 사용하는 코드 호스팅 플랫폼이다. Git이라는 버전 관리 시스템을 기반으로 하며, 개발자들은 자신이 작성한 코드를 ..
임사체험 실화가 바꾼 삶, 아니타 무르자니 : 그리고 모든 것이 변했다
임사체험 실화가 바꾼 삶, 아니타 무르자니 : 그리고 모든 것이 변했다
2025.06.03죽음을 통과한 한 여성의 이야기, '그리고 모든 것이 변했다'이야기는 죽음 직전에서 시작된다.몸 전체가 붓고 장기 기능은 멈춰가는 상태. 이미 의학적으로는 생존 가능성이 없다고 판단된 여성, 아니타 무르자니는 깊은 무의식의 상태에서 임사체험을 겪는다. 이 체험이 그녀의 삶과 신념, 그리고 의식 전체를 완전히 바꾸어 놓는다.그녀는 자신이 육체 밖으로 빠져나온 것을 인지했다고 말한다. 그리고 그 순간, 모든 두려움과 고통, 죄책감이 사라지고, 설명할 수 없는 평화와 사랑이 가득한 상태로 들어간다. 그곳은 시간도 공간도 없었고, 단 하나의 메시지만이 명확하게 전해졌다고 한다. 그녀는 이미 완전하며, 존재 자체만으로도 사랑받을 자격이 있다는 것.삶이라는 이름으로 수많은 규범과 기대에 맞춰 살아오던 여정이 뒤흔들..
Xcode 스토리보드로 iOS 앱 디자인하기
Xcode 스토리보드로 iOS 앱 디자인하기
2025.06.03스토리보드 이해하기: 메인 vs 런치 스크린Xcode에서 제공하는 스토리보드는 앱의 UI를 시각적으로 구성할 수 있는 매우 강력한 도구다. 앱을 실행했을 때 처음으로 등장하는 화면은 런치 스크린이며, 그 이후 사용자가 실제로 상호작용하게 되는 화면은 메인 스토리보드에서 관리한다. 런치 스크린은 앱의 로딩 중에만 잠깐 나타나기 때문에, 회사 로고나 간단한 애니메이션을 보여주는 데 사용된다.런치 스크린에서 앱의 전체 UI를 디자인해서는 안 된다. 앱의 기능이나 버튼, 인터랙션 요소는 반드시 메인 스토리보드에 배치해야 한다. 디바이스 설정과 화면 비율 이해하기Xcode에서는 다양한 iOS 기기를 시뮬레이션할 수 있으며, 각 기기의 해상도와 화면 비율을 미리 확인해볼 수 있다. 예를 들어 iPhone 6, 7,..
[iOS 앱 개발 입문] Xcode 사용법과 인터페이스
[iOS 앱 개발 입문] Xcode 사용법과 인터페이스
2025.06.01iOS 앱 개발을 시작하기 위해 가장 먼저 접하게 되는 도구는 바로 Xcode이다. Xcode는 애플(Apple)에서 공식 제공하는 통합 개발 환경(IDE)으로, iPhone, iPad, Mac 등 애플 생태계 전반의 앱을 개발하는 데 필수적인 도구이다.처음 Xcode를 실행하면 복잡한 창과 낯선 메뉴에 당황할 수 있지만, 기본적인 구조와 역할을 이해하면 누구나 빠르게 적응할 수 있으며, 본격적인 Swift 프로그래밍과 앱 UI 설계를 위한 기반을 다질 수 있다:) 1. Xcode 프로젝트 첫 화면 이해하기Xcode에서 새 iOS 앱 프로젝트를 생성하면 가장 먼저 등장하는 것이 프로젝트 설정 화면이다. 이 화면에서는 다음과 같은 핵심 정보를 입력하게 된다.Display Name: 사용자의 홈 화면에서 ..
Swift로 만드는 음악 플레이어 UI: 슬라이더, 토글, 시간 표시 등
Swift로 만드는 음악 플레이어 UI: 슬라이더, 토글, 시간 표시 등
2025.05.31🎧 Swift 오디오 플레이어 앱 공부 정리 노트1. truncatingRemainder(dividingBy:)Double, Float에서 나머지를 구할 때 사용하는 공식 메서드.%는 Int끼리만 사용할 수 있다.let number: Double = 3.75let result = number.truncatingRemainder(dividingBy: 1) // result = 0.753.75를 1로 나눈 나머지가 0.75인 이유: 3.75 / 1 = 3.0 + 나머지 0.75 2. 포맷 문자열 %02ld, %02dC 스타일의 문자열 포맷 형식%: 포맷 시작0: 빈 자리 0으로 채움2: 최소 두 자리l: long (현재는 거의 의미 없음)d: decimal (10진수)Swift에서는 l 생략 가능, 보통 ..
Swift UI 컨트롤: 버튼, 레이블, 슬라이더의 모든 것
Swift UI 컨트롤: 버튼, 레이블, 슬라이더의 모든 것
2025.05.25UIButtonUIButton은 사용자가 탭하거나 터치할 때 미리 지정한 코드가 실행되도록 하는 컨트롤이다.아래는 버튼 생성부터 활용까지 알아둬야 할 기본 내용이다.버튼 생성 3단계버튼을 만들고, 타입을 선택한다.버튼에 표시할 텍스트나 이미지를 설정하고 크기를 조절한다.특정 이벤트에 반응할 메서드를 연결한다.사용자 상호작용 처리사용자가 버튼을 누르면 연결된 액션 메서드가 실행된다.메서드 연결 방법코드 내 addTarget(_:action:for:) 사용인터페이스 빌더에서 @IBAction으로 연결 가능버튼과 연결되는 메서드 형식func doSomething()func doSomething(sender: UIButton)func doSomething(sender: UIButton, forEvent even..
앱 시닝 vs 슬라이싱: iOS 앱 최적화 개념 / 에셋 카탈로그, IBOutlet
앱 시닝 vs 슬라이싱: iOS 앱 최적화 개념 / 에셋 카탈로그, IBOutlet
2025.05.25iOS 앱 개발을 시작하면서 Xcode 프로젝트를 열어보면 처음 마주하는 개념들이 있다. 그중에서도 에셋 카탈로그, IBOutlet, 그리고 앱의 설치 용량 최적화와 관련된 앱 시닝(App Thinning)과 슬라이싱(Slicing)은 반드시 알아야 할 중요한 내용이다. 🎨 에셋 카탈로그란?Xcode에서 프로젝트를 생성하면 자동으로 Assets.xcassets라는 폴더가 생성된다.이 폴더는 이미지, 앱 아이콘, 데이터 파일 등 앱에서 사용하는 리소스를 체계적으로 관리하는 공간이며, 이를 에셋 카탈로그(Asset Catalog)라고 부른다.에셋 카탈로그의 역할이미지, 아이콘, 런치 이미지 등의 리소스를 정리해 저장디바이스의 해상도나 환경에 따라 적절한 리소스를 자동으로 선택앱 최적화 기술(슬라이싱)과 ..