| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- ios
- 애니메이션
- uitableview
- Xcode
- map
- Protocol
- MVVM
- clean architecture
- swift documentation
- SWIFT
- 스위프트
- scrollview
- combine
- rxswift
- Refactoring
- collectionview
- ribs
- 리팩토링
- Observable
- UICollectionView
- UITextView
- tableView
- 리펙토링
- 클린 코드
- Clean Code
- Human interface guide
- HIG
- uiscrollview
- RxCocoa
- swiftUI
- Today
- Total
목록Xcode (27)
김종권의 iOS 앱 개발 알아가기
전체빌드 개념단어 그대로 캐싱 없이, a부터 z까지 모든 파일을 빌드하는 것 cf) 빌드란?소스 코드들을 실행 가능한 형태로 메모리에 올리는 것증분빌드 개념증분 빌드(Incremental Build)는 “변화가 영향을 미치는 범위만 찾아서 필요한 파일만 재컴파일”하는 방식Xcode는 이를 위해 “의존성 그래프(Dependency Graph)”와 “인터페이스 파일(.swiftinterface / .dia)”을 사용증분빌드 원리빌드 시스템은 파일마다 해시(hash) 또는 timestamp를 기록해 두고 있다가 사용FileA.swift → 해시값 0xA2B3 FileB.swift → 해시값 0xC883Swift는 모든 .swift 파일 내부의 타입, 프로토콜, extension 등을 분석해 파일 간의 의존성 ..
1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult, junit, xml)3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)xcodebuild란?커멘드 라인으로 build, query, analyze, test, archive할 수 있는 라이브러리Xcode는 GUI 방식인 반면, xcodebuild는 커멘드 라인 방식xcodebuild를 잘 사용하면 CI/CD에서도 빌드를 돌릴 수 있고 활용하면 프로젝트 구조 파악이 용이xcodebuild 기능 살펴보기xcodebuild를 통..
Xcode에서 시뮬레이터가 보이지 않을 때Xcode에서 다른 버전 혹은 다른 시뮬레이터를 설치했는데, 목록에 보이지 않는 경우가 존재기기 보이게 하는 방법디바이스의 iOS버전에 맞게 Minimum Deployments가 낮게 설정되었는지 확인Minimum Deployments을 iOS 17에서 iOS 14로 낮추니 여러가지 디바이스가 등장하지만 아직 원하는 iPhone SE1기기가 보이지 않음"Manage Run Destinations..." 클릭시뮬레이터 탭에도 iPhone SE1이 보이지 않음+ 버튼을 눌러서 추가만약 아래처럼 "could not create iPhone SE..."가 나오면 시뮬레이터를 설치해야함시뮬레이터 설치 방법"CMD + ," 단축키 > Platforms 탭 클릭 > 좌측 하단..
* 가장 기초) iOS 메모리 기초 개념 - virtual memory, dirty memory, clean memory, compressed memory, swapped memory 이해하기 포스팅 글 1. Memory Deep Dive - iOS 메모리 운영체제 기초 (가상 메모리, 페이징, clean memory, dirty memory, compressed memory) 2. Memory Deep Dive - Memory를 줄여야 하는 이유 (+ 앱 메모리 사용량 아는 방법) 3. Memory Deep Dive - Memory Footprint (페이징, Compressed 메모리) 4. Memory Deep Dive - Memory Footprint 프로파일링 방법 (Allocation, Lea..
멀티라인 단축키 Xcode15부터 기본적으로 ctrl + M을 누르면 자동으로 line별로 코드가 포멧팅 결과) (Format to Multiple Lines 항목으로 Xcode15부터 단축키를 제공)
* 목차 tuist scaffold, tuist generate로 메인 프로젝트를 .app 생성 주의) 1) 이름을 꼭 Tuist, Templates으로 아래처럼 설정해야 동작함 2) Templates하위에 있는 폴더 이름과 그 폴더 안에 있는 .swift 파일 이름이 동일해야함 (app 디렉토리 == app.swift) . └── Tuist └── Templates └── app ├── Project.stencil └── app.swift (Project.stencil) import ProjectDescription let project = Project( name: "{{ name }}", targets: [ Target( name: "{{ name }}", platform: .iOS, product..
목차) Build Setting 목차 링크Architecture란?디바이스 및 맥북의 CPU를 의미실물 디바이스 - 대부분 arm64 (아이폰 5s이상은 모두 arm64)시뮬레이터 - 맥북의 아키텍쳐에 따라감 (인텔 맥북은 x86_64, Apple Silicon 맥북은 arm64)시뮬레이터에 관한 아키텍쳐는 디폴트로 arm64, x86_64를 제공terminal에서 시뮬레이터 관한 정보 확인 방법open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/SDKSettings.jsonArchitecture 세팅 방법Valid Architectures - ..
Xcode Scheme 특정 빌드 환경이 미리 정해진 하나의 collection configuration 정보 하드웨어, 아키텍쳐 정보 등등 Scheme을 원하는대로 추가할 수 있지만 Active Scheme은 하나만 존재 * Active Scheme이란? Build, Run, Test, Profile, Archive 할때 하나의 Scheme만을 선택할 수 있다는 의미 cf) 생성된 Scheme을 빌드하고 싶을때는 Xcode에서 선택해서 빌드해도 되지만 terminal 명령어로도 가능 xcodebuild \ -project ExProj.xcodeproj \ -scheme QA \ -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.0' # 만약 work..