일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uiscrollview
- 리펙토링
- SWIFT
- clean architecture
- swift documentation
- 클린 코드
- Protocol
- 애니메이션
- uitableview
- 리펙터링
- Observable
- UICollectionView
- UITextView
- MVVM
- 스위프트
- swiftUI
- combine
- tableView
- 리팩토링
- map
- ribs
- RxCocoa
- HIG
- rxswift
- Clean Code
- Xcode
- Refactoring
- ios
- collectionview
- Human interface guide
- Today
- Total
목록Git, CocoaPods, Xcode, Shell (71)
김종권의 iOS 앱 개발 알아가기
rbenv ruby 버전 관리를 할 때 사용하는 패키지 rbenv말고도 RVM으로도 ruby를 사용할 수 있지만, RVM이 기능이 많지만 rbenv가 더욱 가벼운 장점이 존재 MacOS를 설치하면 ruby가 내장되어 있지만, ruby 프로그래머가 아닐 경우 해당 ruby를 사용하며 버전 관리하기가 어려운 환경 구체적인 내용) Do not use system Ruby rbenv를 사용하여 ruby 버전 관리 rbenv 설치 파악 % rbenv -v zsh: command not found: rbenv rbenv 설치 (homebrew를 통해 설치) % brew install rbenv ruby-build 현재 설치된 ruby 버전 확인 % ruby -v ruby 2.6.10p210 (2022-04-12 r..
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..
프레임워크 관련 중요 옵션 1) Mach-O Type 프레임워크를 제공하는 쪽에서 선택해줘야하는 옵션 2) Linking Mach-O Type / Frameworks, Libraries, and Embedded Content 프레임워크를 사용하는쪽에서 선택해줘야하는 옵션 1) Mach-O Type 옵션 프레임워크를 제공하는 쪽에서 선택해줘야하는 옵션 Target > Build Settings > Linking > Mach-O Type Xcode에서 Framework를 생성하면 자동으로 Executable로 지정 옵션 5가지 Executable - 메인 프로젝트인지 (프레임워크가 아닌 메인 실행 프로젝트) Dynamic Library - 동적 라이브러리 (런타임 중에 링크) Bundle - 단순 이미지와 ..
Xcode 캐시, DerivedData 폴더 * derived: 파생된 xcode는 빌드하면 빌드 결과를 폴더에 저장해놓고, 앞으로 빌드할때마다 그 폴더를 참고하여 캐싱하여 사용하는 방식 폴더의 위치 ~/Library/Developer/Xcode/DerivedData MyApp이라는 앱을 빌드한 경우 "cmd + B" DerivedData/ModuleCache.noindex 모듈에 대한 정보를 저장해놓고, Xcode에서는 이 정보를 캐싱하여 사용 모듈화하면 빌드시간이 줄어드는 이유가 여기에 캐싱되기 때문 DerivedData/MyApp-fvkmtlk...regogcy 빌드 정보, 인덱스 정보, 심볼 정보, 로그등을 기록 info.plist는 XCode에서 정한 값이 아닌 별도의 값임을 주의 (LastAc..
예제로 사용할 오픈소스 - Then 초기화하는 동시에, 클로저를 통해서 해당 인스턴스의 프로퍼티에 접근하여 코드를 깔끔하게 구현할 수 있는 오픈소스 // then 사용하지 않은 일반 코드 private let label: UILabel = { let label = UILabel() label.text = "label" label.translatesAutoresizingMaskIntoConstraints = false return label }() // then 사용 private let label = UILabel().then { $0.text = "label" $0.translatesAutoresizingMaskIntoConstraints = false } 오픈소스에 없는 코드를 오픈소스에 추가하여 사..
Submodule 하나의 repository 안에 또 다른 별개의 repository 서브모듈 repository는 독립적으로 커밋을 관리 Repo 준비 (대체적으로 source tree 이용) 예제로 사용할 Repo 추가 우측 SomeRepo: 이곳에 서브모듈을 추가 좌측 MyModule: SomeRepo의 Submodule로 사용 SomeRepo에 MyModule을 서브 모듈로 추가 source tree로 하는 경우 SourceTree에서 SUBMODULES 오른쪽 마우스 클릭 -> Add Submodules 선택 MyModule URL을 입력 Local Relative Path에는 Submodule이 위치할 폴더가 필요하여, 아래처럼 생성 좌측 SUBMODULES에 SubmoduleFolder가 생..
arm이란? ARM(Acorn RISC Machine) 기반의 cpi를 탑재한 것 컴퓨터 구조 기초 - Architecture의 종류 CISC (Complex Instruction Set Computer): 모든 코드 언어 문장들에 대해 각각 기계 명령어가 대응 (복잡하고 기능이 많은 명령어, 복합 명령을 갖고 있어서 호환성이 높은 장점, 전력소모가 크고 속도가 느린 단점) RISC (Reduced Instruction Set Computer): CISC의 명령어 중 주로 쓰이는 것만을 추려서 하드웨어로 구현 (CPI의 명령어를 최소하하여 단순한 형태, 효율적, 호환성 부족, 속도가 빠르고 전력 소모가 적고 가격이 저렴) Intel은 보통 CISC 방식을 사용하고 Arm은 주로 RISC 방식 사용 애플은..
Code Snippet Xcode에서 미리 만들어둔 템플릿이며, 자동 완성 기능으로 사용가능 코드에서 Shift + cmd + L 단축키로 Code Snippet 확인 ex) Closure Expression 코드 스니펫 사용하기 Completion에 "closure"로 되어있으므로 자동 완성 사용 시 closure로 사용 "closu" 치면 자동완성 Enter를 누를 경우 생성 Code Snippets 저장 경로 ~/Library/Developer/Xcode/UserData/CodeSnippets/ 파일을 보면 PropertyList 형태로 저장된 형태 커스텀 Code Snippet ex) extension 만들기 - 아래 코드를 자동완성으로 쉽게 사용 방법 스니펫을 만드려는 코드에 block을 칠한..